/*
Theme Name: Areli
Author: Balam
Description: Tema propio One Page de Areli. Plantillas PHP y contenido en bloques nativos.
Version: 0.9.2
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: areli
License: GPL-2.0-or-later
*/
:root{--navy:#082f53;--navy-dark:#052643;--teal:#007d99;--teal-hover:#00677f;--coral:#ff6669;--ice:#eef9fd;--border:#d3eaf3;--body:#39516b;--radius:12px;--container:1200px}
*{box-sizing:border-box}html{scroll-padding-top:24px}body{margin:0;padding-bottom:38px;color:var(--navy);background:#fff;font-family:"Segoe UI",Arial,sans-serif;font-size:17px;line-height:1.55}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}p{margin:0 0 1rem}h1,h2,h3{margin:0;text-wrap:balance;line-height:1.1;letter-spacing:-.035em}h1,h2{font-weight:750}h1{font-size:clamp(40px,3.65vw,56px)}h2{font-size:clamp(32px,3.05vw,43px)}h3{font-size:23px;line-height:1.17;font-weight:700;letter-spacing:-.025em}.container{width:min(var(--container),calc(100% - 88px));margin-inline:auto}.section-pad{padding-block:54px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--navy);outline-offset:5px}.contact :focus-visible{outline-color:#7ce6ef}.skip-link{position:fixed;left:20px;top:16px;z-index:20;background:white;padding:12px 18px;border:2px solid var(--navy);border-radius:8px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}
.site-header{background:#fff}.header-inner{min-height:106px;display:flex;align-items:center;justify-content:space-between;gap:40px}.brand{display:block;flex-shrink:0}.brand img{width:162px}.main-nav{display:flex;align-items:center;gap:38px;font-size:15px}.main-nav>a:not(.button),.site-footer nav a{padding-block:10px;text-underline-offset:7px}.main-nav>a:not(.button):hover,.site-footer nav a:hover{text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--teal)}.main-nav a[aria-current="location"]:not(.button){text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--teal)}.main-nav .header-cta{margin-left:48px;min-width:148px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:52px;padding:13px 24px;border-radius:var(--radius);border:1px solid transparent;font-size:15px;line-height:1.3;font-weight:700;text-align:center;transition:background-color .15s ease,border-color .15s ease}.button-teal{background:var(--teal);color:#fff}.button-teal:hover{background:var(--teal-hover)}.button-navy{background:var(--navy);color:#fff}.button-navy:hover{background:var(--navy-dark)}.menu-toggle{width:48px;height:48px;border:0;background:transparent;color:var(--navy);align-items:center;justify-content:center;border-radius:7px}.menu-icon,.menu-icon:before,.menu-icon:after{display:block;width:26px;height:3px;border-radius:3px;background:currentColor}.menu-icon{position:relative}.menu-icon:before,.menu-icon:after{content:"";position:absolute;left:0}.menu-icon:before{top:-8px}.menu-icon:after{top:8px}.menu-toggle[aria-expanded="true"] .menu-icon{background:transparent}.menu-toggle[aria-expanded="true"] .menu-icon:before{top:0;transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] .menu-icon:after{top:0;transform:rotate(-45deg)}
.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--ice)}.hero-inner{position:relative;z-index:1;min-height:540px;display:flex;align-items:center;padding-block:44px}.hero-copy{max-width:590px;width:52%}.hero h1{margin-bottom:20px}.hero .lead{font-size:clamp(21px,1.7vw,25px);line-height:1.35;letter-spacing:-.018em;margin-bottom:16px}.hero-copy>p:not(.lead){max-width:560px;line-height:1.45}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}.hero-actions .button{padding-inline:20px}.hero-photo{position:absolute;inset:0 0 0 40%;z-index:0;mask-image:linear-gradient(to right,transparent 0%,#000 32%)}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:63% 55%}
.accent-heading:before{content:"";display:block;width:42px;height:5px;border-radius:4px;background:var(--coral);margin-bottom:17px}.services h2{max-width:850px;margin-bottom:28px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.service-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);background:#fff;overflow:hidden}.service-photo{display:block;width:100%;height:220px;object-fit:cover;background:var(--ice)}.service-card .service-content{padding:28px}.service-card h3{margin-bottom:13px}.service-card p{font-size:16px;line-height:1.45;color:var(--body);margin:0}.service-card-wide{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.service-card-wide .service-photo{height:100%;min-height:360px}.service-card-wide p{max-width:990px}.services-action{text-align:center;margin-top:27px}.services-action .button{padding-inline:30px}
.about{background:var(--ice)}.about-grid{display:grid;grid-template-columns:40% minmax(0,1fr);gap:64px}.eyebrow{font-size:20px;margin-bottom:12px}.about h2{max-width:390px}.about-copy{padding-left:42px;border-left:1px solid #c5e4ef}.about-copy p:last-child{margin-bottom:0}.about-copy p{line-height:1.5}
.contact{position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:#fff}.contact-photo{position:absolute;inset:0 0 0 47%;z-index:-1;mask-image:linear-gradient(to right,transparent 0%,#000 47%)}.contact-photo img{width:100%;height:100%;object-fit:cover;object-position:61% center}.contact-inner{padding-block:48px}.contact-copy{width:56%;max-width:650px;background:var(--navy)}.contact h2{font-size:clamp(32px,3vw,42px);margin-bottom:15px}.contact-copy>p{line-height:1.5;max-width:630px;margin-bottom:26px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:17px;min-width:0}.field label{font-size:15px;font-weight:600}.optional{font-weight:400}input,textarea{width:100%;min-width:0;border:1px solid #d3e3ee;border-radius:6px;padding:12px 14px;line-height:1.4;color:var(--navy-dark);background:#fff}input{min-height:48px}textarea{min-height:132px;resize:vertical}input:focus,textarea:focus{border-color:var(--teal)}.contact form .button{min-width:220px;margin-top:3px}.form-helper{font-size:13px;margin:10px 0 0}.form-status:empty{display:none}.form-status{font-size:15px;border-left:3px solid var(--coral);padding:8px 12px;margin:16px 0 0;max-width:570px;background:#103e63}
.site-footer{background:#fff}.footer-inner{min-height:110px;display:flex;align-items:center;gap:90px}.site-footer .brand img{width:140px}.site-footer nav{display:flex;gap:34px;font-size:14px;flex-wrap:wrap;margin-inline:auto}.review-notice{position:fixed;z-index:10;inset:auto 0 0;padding:8px 20px;background:#fff;color:#4c5d6e;border-top:1px solid #d9e5ec;text-align:center;font-size:12px;line-height:1.4;box-shadow:0 -3px 12px #05264308}
.menu-toggle{display:none}
.skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0;border:0;white-space:nowrap}
body{padding-bottom:0}
.contact-copy{background:transparent}
.contact-photo{inset-inline-start:55%}
.review-notice{position:relative;inset:auto;box-shadow:none}
@media(min-width:1600px){.hero-photo{inset-inline-start:43%}}
@media(max-width:1100px){.main-nav{gap:24px}.main-nav .header-cta{margin-left:4px}.hero-copy{width:56%}.hero-actions{gap:10px}.hero-actions .button{font-size:14px;padding-inline:15px}.service-card .service-content{padding:24px}.service-photo{height:200px}.service-card h3{font-size:21px}.about-grid{gap:35px}.about-copy{padding-left:28px}.contact-copy{width:58%}.contact-photo{inset-inline-start:59%}}
@media(max-width:900px){.container{width:calc(100% - 56px)}.header-inner{gap:20px}.brand img{width:140px}.main-nav{gap:17px;font-size:14px}.main-nav .header-cta{min-width:110px;padding-inline:17px}.hero-copy{width:60%}.hero h1{font-size:43px}.hero .lead{font-size:21px}.service-card-wide{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.about-grid{grid-template-columns:42% minmax(0,1fr);gap:24px}.about-copy{padding-left:24px}.contact-copy{width:61%}.contact-photo{inset-inline-start:56%}.form-row{grid-template-columns:1fr;gap:0}.footer-inner{gap:30px}.site-footer nav{gap:25px}}
@media(max-width:760px){body{font-size:17px}.container{width:calc(100% - 44px)}.section-pad{padding-block:38px}.header-inner{min-height:92px;position:relative;flex-wrap:wrap;gap:0;padding-block:12px}.brand img{width:151px}.menu-toggle:not([hidden]){display:flex}.main-nav{width:100%;flex-direction:column;align-items:stretch;gap:3px;padding-top:18px;padding-bottom:12px;font-size:17px}.js .main-nav{display:none}.js .main-nav.is-open{display:flex}.main-nav>a:not(.button){padding:12px 4px}.main-nav .header-cta{margin:12px 0 0;align-self:stretch}.hero{display:flex;flex-direction:column}.hero-inner{order:0;min-height:0;padding-block:32px 28px}.hero-copy{width:100%;max-width:none}.hero h1{font-size:clamp(36px,8.9vw,54px);margin-bottom:21px}.hero .lead{font-size:21px;line-height:1.4}.hero-copy>p:not(.lead){line-height:1.5;max-width:none}.hero-actions{flex-direction:column;margin-top:24px;gap:12px}.hero-actions .button{width:100%;font-size:15px;min-height:52px}.hero-photo{order:1;position:relative;inset:auto;mask-image:none;aspect-ratio:16/9}.hero-photo img{height:100%;object-position:55% 61%}.services h2{font-size:32px;line-height:1.12;margin-bottom:25px}.desktop-break{display:none}.service-grid{grid-template-columns:minmax(0,1fr);gap:15px}.service-card,.service-card-wide{display:flex;flex-direction:column}.service-card .service-content{padding:23px}.service-photo,.service-card-wide .service-photo{height:190px;min-height:0}.service-card h3{font-size:20px;line-height:1.15;margin-bottom:12px}.service-card p{font-size:16px;line-height:1.5}.services-action{margin-top:24px}.services-action .button{width:100%;padding-inline:15px;min-height:52px}.about-grid{grid-template-columns:minmax(0,1fr);gap:24px}.about h2{max-width:none;font-size:33px}.eyebrow{font-size:18px}.about-copy{padding:0;border:0}.about-copy p{line-height:1.55}.contact{display:flex;flex-direction:column}.contact-inner{order:0;padding-block:34px 32px}.contact-copy{width:100%;max-width:none}.contact h2{font-size:33px}.contact-copy>p{margin-bottom:24px;line-height:1.5}.contact-photo{position:relative;order:1;inset:auto;z-index:0;mask-image:none;aspect-ratio:16/9;width:100%}.contact-photo img{object-position:55% 62%;height:100%}.form-row{grid-template-columns:minmax(0,1fr)}.field{margin-bottom:18px}.field label{font-size:15px}.contact form .button{width:100%;min-height:53px}.contact textarea{min-height:148px}.footer-inner{padding-block:26px 30px;min-height:0;align-items:center;gap:25px;justify-content:space-between}.site-footer .brand img{width:125px}.site-footer nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;gap:2px 18px;font-size:13px}.site-footer nav a{padding-block:8px}.review-notice{font-size:11px;padding-inline:8px}}
@media(max-width:360px){.container{width:calc(100% - 36px)}.hero h1{font-size:35px}.hero .lead{font-size:20px}.service-card .service-content{padding:21px}.service-card h3{font-size:22px}.services h2,.about h2,.contact h2{font-size:30px}.footer-inner{align-items:flex-start;gap:20px}.site-footer .brand img{width:108px}.site-footer nav{gap:0 12px;font-size:12px}}
.needs{padding-bottom:0}
.needs-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr);gap:70px;align-items:start}
.needs h2{font-size:clamp(30px,2.7vw,38px);max-width:420px}
.needs-intro{margin:20px 0 0;color:var(--body);max-width:440px}
.needs-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}
.needs-list li{border-bottom:1px solid var(--border)}
.needs-list a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 4px;font-size:18px;font-weight:600;line-height:1.35}
.needs-list a:hover{color:var(--teal);background:#f7fcfe}
.needs-arrow{flex-shrink:0;font-size:25px;color:var(--teal)}
.services-intro{max-width:780px;margin:-8px 0 30px;color:var(--body);font-size:18px}
.service-content h4{margin:22px 0 10px;font-size:15px;line-height:1.4;font-weight:700;color:var(--navy)}
.service-topics{padding-left:19px;margin:0;color:var(--body);font-size:16px;line-height:1.45}
.service-topics li{padding-left:2px;margin-bottom:8px}
.service-topics li::marker{color:var(--teal)}
.service-card .service-use{border-top:1px solid var(--border);margin-top:20px;padding-top:16px;font-size:15px;line-height:1.5}

.about-copy strong{color:var(--navy);font-weight:650}
@media(max-width:900px){.needs-grid{gap:36px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.needs-list a{font-size:17px}}
@media(max-width:760px){.needs-grid{grid-template-columns:minmax(0,1fr);gap:26px}.needs h2{font-size:32px;max-width:none}.needs-intro{margin-top:18px;max-width:none}.needs-list a{padding-block:17px}.services-intro{font-size:17px;margin-top:-7px}.service-content h4{margin-top:19px}.service-topics{font-size:16px}.service-card h3{font-size:23px}}
.footer-bottom{background:var(--navy-dark);color:#fff}
.footer-bottom-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:18px;min-height:90px}
.footer-bottom p{margin:0;font-size:14px;line-height:1.55}
.developer-credit{display:flex;align-items:center;gap:12px;flex-shrink:0}
.developer-credit img{width:80px;height:auto;flex-shrink:0}
@media(max-width:760px){.footer-bottom-inner{flex-direction:column;gap:12px;padding-block:24px;text-align:center}.footer-bottom p{font-size:13px}.developer-credit{justify-content:center}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Native block wrappers preserve the reviewed composition. */
.entry-content>*,.entry-content .wp-block-group{margin-block-start:0;margin-block-end:0}
.entry-content .services-action{margin-block-start:32px}
.developer-credit:focus-visible{outline-color:#7ce6ef}
@media(max-width:760px){.entry-content .services-action{margin-block-start:28px}}
figure.wp-block-image{margin:0}.hero-photo .wp-block-image,.contact-photo .wp-block-image{height:100%}
.service-photo{margin:0}.service-photo img{width:100%;height:100%;object-fit:cover}
.hero-actions>p{margin:0}.hero-actions p .button{height:100%}
.wp-block-group.container{margin-inline:auto}.wp-block-group.service-content{margin:0}
.site-header .menu{list-style:none;padding:0;margin:0;display:contents}
.site-header .menu li{display:contents}.main-nav li>a{padding-block:10px;text-underline-offset:7px}
.main-nav a[aria-current="location"]{text-decoration:underline;text-decoration-color:var(--teal);text-decoration-thickness:2px}
.site-footer .menu{list-style:none;padding:0;margin:0;display:contents}.site-footer .menu li{display:contents}
.contact .form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.page-content{padding-block:54px;min-height:60vh}.page-content h1{margin-bottom:24px}
@media(max-width:760px){.hero-actions>p{width:100%}.main-nav li>a{padding:12px 4px}}
.service-topics:empty,.service-content:has(.service-topics:empty) h4{display:none}

/* G6: preserve focus, readable legal link and user motion preferences. */
.privacy-link{text-decoration:underline;text-underline-offset:3px}.button:disabled{cursor:wait;opacity:.75}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Keep the approved 16:9 mobile crop; intrinsic square media must not stretch its flex item. */
@media(max-width:760px){.contact-photo{min-height:0;flex-shrink:0}.contact-photo .wp-block-image{position:absolute;inset:0}}
