/* New general identities D and E. B remains in general-options.css. */
@font-face{font-family:"Instrument Serif";src:url("fonts/instrument-serif.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("fonts/instrument-serif-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url("fonts/instrument-sans.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Outfit";src:url("fonts/outfit.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url("fonts/plus-jakarta-sans.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
body[data-general-style="bosque"]{
 --general-bg:#164e45;--general-text:#fff7e5;--general-muted:#d4e3d8;--general-accent:#e4bd73;--general-line:#73958a;
 --general-body:"Instrument Sans",Arial,sans-serif;--general-display:"Instrument Serif",Georgia,serif;--general-heading-weight:400;
 --selection-bg:#fff7e5;--selection-text:#164e45;
}
body[data-general-style="coral"]{
 --general-bg:#ff8470;--general-text:#24214b;--general-muted:#4b3459;--general-accent:#fff4dc;--general-line:#b85d66;
 --general-body:"Plus Jakarta Sans",Arial,sans-serif;--general-display:"Outfit",Arial,sans-serif;--general-heading-weight:600;
 --selection-bg:#24214b;--selection-text:#ff8470;
}
/* Font and color tokens are local to the general areas. Selection is global. */
body:is([data-general-style="bosque"],[data-general-style="coral"]) :is(.general-zone,.about-zone,.site-footer){
 --paper:var(--general-bg);--ink:var(--general-text);--muted:var(--general-muted);--lime:var(--general-accent);--line:var(--general-line);
 font-family:var(--general-body);color:var(--general-text);
}
body:is([data-general-style="bosque"],[data-general-style="coral"]) :is(.general-zone,.about-zone) :is(h1,h2,h3,h4,.specialty-title,.process-number){
 font-family:var(--general-display);font-weight:var(--general-heading-weight);font-variation-settings:normal;letter-spacing:-.035em;
}
body:is([data-general-style="bosque"],[data-general-style="coral"])[data-active-theme="general"]{
 --header-bg:var(--general-bg);--header-ink:var(--general-text);--header-line:var(--general-line);--header-accent:var(--general-accent);
}
body:is([data-general-style="bosque"],[data-general-style="coral"])[data-active-theme="general"] .site-header{font-family:var(--general-body)}
body:is([data-general-style="bosque"],[data-general-style="coral"]) .brand-general{font-family:var(--general-display);font-variation-settings:normal}
body:is([data-general-style="bosque"],[data-general-style="coral"]) .highlight-word::after{display:none}
body:is([data-general-style="bosque"],[data-general-style="coral"]) .hero-description{font-size:1.0625rem;color:var(--general-muted)}
body:is([data-general-style="bosque"],[data-general-style="coral"]) .hero .eyebrow{font-size:.875rem;letter-spacing:.06em}
body:is([data-general-style="bosque"],[data-general-style="coral"]) .specialty-description{font-size:1rem;max-width:370px}
body:is([data-general-style="bosque"],[data-general-style="coral"]) .footer-top>p{font-size:1.0625rem}
body:is([data-general-style="bosque"],[data-general-style="coral"]) .footer-bottom{font-size:.8125rem;flex-wrap:wrap}

/* D / Verde editorial: high-contrast serif, framed photography, centered footer. */
body[data-general-style="bosque"] .brand-general{font-weight:400;letter-spacing:-.035em;font-synthesis:none}
body[data-general-style="bosque"] .header-brand>.brand-general{font-size:3.8rem}
body[data-general-style="bosque"][data-active-theme="general"] .main-nav .nav-contact{border-color:#e4bd73;border-radius:0;color:#fff7e5}
body[data-general-style="bosque"] .hero{grid-template-columns:1fr 1fr;gap:72px;padding-block:80px 92px}
body[data-general-style="bosque"] .hero h1{font-size:clamp(4.4rem,7.6vw,8.3rem);line-height:.99;letter-spacing:-.035em;margin-block:30px 34px}
body[data-general-style="bosque"] .highlight-word{color:#e4bd73;font-style:italic;font-weight:400}
body[data-general-style="bosque"] .hero-art{background:#fff7e5;padding:12px;border:1px solid #fff7e5;border-radius:0;min-height:510px;box-shadow:14px 14px 0 #0b302a}
body[data-general-style="bosque"] .hero-art>img{object-position:center}
body[data-general-style="bosque"] .hero-art>figcaption{left:12px;right:12px;bottom:12px;background:linear-gradient(transparent,#0b302aee);color:#fff7e5;padding:22px}
body[data-general-style="bosque"] .hero-footnote{color:#d4e3d8}
body[data-general-style="bosque"] .button-dark{background:#fff7e5;color:#164e45;border-radius:0;font-family:var(--general-body);border:1px solid #fff7e5}
body[data-general-style="bosque"] .button-dark:hover{background:#eedcb9;border-color:#eedcb9}
body[data-general-style="bosque"] .capabilities-band{border-color:#73958a;background:#123f37}
body[data-general-style="bosque"] .capabilities-band>.wrap{font-size:1rem;padding-block:24px}
body[data-general-style="bosque"] .capabilities-band [aria-hidden]{color:#e4bd73}
body[data-general-style="bosque"] .specialties{grid-template-columns:.85fr 1.4fr;gap:80px;align-items:start;padding-block:110px}
body[data-general-style="bosque"] .section-heading h2{font-size:clamp(3.25rem,4.7vw,5rem);line-height:1.05;margin-block:23px 28px}
body[data-general-style="bosque"] .specialty-links{display:flex;flex-direction:column;gap:23px}
body[data-general-style="bosque"] .specialty-link{display:grid;grid-template-columns:1.05fr 1fr;gap:24px 30px;min-height:0;padding:32px;background:#fff7e5;color:#164e45;border-radius:0;border-top:4px solid #e4bd73}
body[data-general-style="bosque"] .specialty-index{grid-column:1/-1;color:#496751;letter-spacing:.065em}
body[data-general-style="bosque"] .specialty-title{grid-column:1;font-size:2.9rem;margin:0;line-height:1.04}
body[data-general-style="bosque"] .specialty-description{grid-column:2;margin:0;color:#38574c}
body[data-general-style="bosque"] .specialty-action{grid-column:1/-1;margin:0;border-color:#c0cbb5;padding-top:18px}
body[data-general-style="bosque"] .about-zone{background:#123f37;padding-block:110px}
body[data-general-style="bosque"] .about-intro>h2{font-size:clamp(3.25rem,5.3vw,5.6rem);line-height:1.03}
body[data-general-style="bosque"] .process-heading>h3{font-size:3rem;line-height:1.04}
body[data-general-style="bosque"] .process-number{font-size:3.65rem;color:#e4bd73}
body[data-general-style="bosque"] .process-list h4{font-size:2.05rem}
body[data-general-style="bosque"] .contact-section{padding:48px 0 0;border-top:1px solid #91a79a;column-gap:70px}
body[data-general-style="bosque"] .contact-section h3{font-size:clamp(3.6rem,5.8vw,6.2rem);line-height:1.01}
body[data-general-style="bosque"] .site-footer{background:#fff7e5;color:#164e45;padding-top:45px}
body[data-general-style="bosque"] .footer-top{display:flex;flex-direction:column;text-align:center;gap:22px;border-color:#a9b8a6;padding-bottom:45px}
body[data-general-style="bosque"] .footer-brand{font-size:clamp(8rem,21vw,18rem);line-height:.92;letter-spacing:-.035em}
body[data-general-style="bosque"] .footer-top>p{color:#38574c;font-size:1.125rem;line-height:1.65}
body[data-general-style="bosque"] .back-top{margin:0;gap:45px;padding-top:10px}
body[data-general-style="bosque"] .footer-bottom{color:#38574c;justify-content:center;gap:16px 35px;padding-block:26px}

/* E / Coral e índigo: soft geometric wordmark, playful color and large typography. */
body[data-general-style="coral"] .brand-general{font-weight:800;letter-spacing:-.055em}
body[data-general-style="coral"] .header-brand>.brand-general{font-size:3rem}
body[data-general-style="coral"][data-active-theme="general"] .main-nav .nav-contact{background:#24214b;color:#fff4dc;border-color:#24214b;border-radius:50px}
body[data-general-style="coral"] .hero{grid-template-columns:.95fr 1.05fr;gap:64px;padding-block:76px 86px}
body[data-general-style="coral"] .hero h1{font-size:clamp(3.5rem,6.05vw,6.65rem);font-weight:600;letter-spacing:-.06em;line-height:1.05;margin-block:27px}
body[data-general-style="coral"] .highlight-word{color:#24214b;background:#fff4dc;border-radius:12px;padding-inline:8px;margin-inline:-8px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
body[data-general-style="coral"] .hero-art{order:-1;min-height:535px;border-radius:40px;background:#f9776a;border:2px solid #24214b;box-shadow:10px 10px 0 #24214b}
body[data-general-style="coral"] .hero-art>figcaption{background:linear-gradient(transparent,#24214bdd);color:#fff4dc;padding:27px}
body[data-general-style="coral"] .hero-footnote{color:#4b3459}
body[data-general-style="coral"] .button-dark{background:#24214b;color:#fff4dc;border-radius:50px;font-family:var(--general-body);padding-inline:26px}
body[data-general-style="coral"] .button-dark:hover{background:#3a356f}
body[data-general-style="coral"] .capabilities-band{background:#24214b;color:#fff4dc;border:0}
body[data-general-style="coral"] .capabilities-band>.wrap{font-size:1rem;padding-block:26px}
body[data-general-style="coral"] .capabilities-band [aria-hidden]{color:#ff8470}
body[data-general-style="coral"] .specialties{display:block;padding-block:100px}
body[data-general-style="coral"] .section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:0 65px;align-items:end}
body[data-general-style="coral"] .section-heading>.eyebrow{grid-column:1/-1}
body[data-general-style="coral"] .section-heading h2{font-size:clamp(2.75rem,4.1vw,4.45rem);line-height:1.13;margin-block:21px 0}
body[data-general-style="coral"] .section-heading>p:last-child{max-width:440px}
body[data-general-style="coral"] .specialty-links{gap:27px;margin-top:45px}
body[data-general-style="coral"] .specialty-link{background:#fff4dc;color:#24214b;border:2px solid #24214b;border-radius:24px;padding:35px;min-height:345px}
body[data-general-style="coral"] .specialty-title{font-size:2.85rem;font-weight:600;margin-block:25px 20px;letter-spacing:-.04em;line-height:1.1}
body[data-general-style="coral"] .specialty-action{border-color:#afa0a5}
body[data-general-style="coral"] .about-zone{background:#fff4dc;padding-block:100px}
body[data-general-style="coral"] .about-intro>h2{font-size:clamp(2.8rem,4.25vw,4.5rem);line-height:1.12;letter-spacing:-.045em}
body[data-general-style="coral"] .process-heading>h3{font-size:2.6rem;line-height:1.13}
body[data-general-style="coral"] .process-list{border-color:#c9b5a8}
body[data-general-style="coral"] .process-number{color:#a83f36;font-size:3rem;font-weight:500}
body[data-general-style="coral"] .process-list h4{font-size:1.85rem;letter-spacing:-.025em}
body[data-general-style="coral"] .contact-section{background:#ff8470;border:2px solid #24214b;border-radius:32px;padding:45px;column-gap:45px}
body[data-general-style="coral"] .contact-section h3{font-size:clamp(3rem,4.5vw,4.8rem);line-height:1.08}
body[data-general-style="coral"] .site-footer{background:#24214b;color:#ff8470;padding-top:45px}
body[data-general-style="coral"] .footer-top{display:grid;grid-template-columns:1fr auto;gap:28px 48px;align-items:end;border-color:#796779;padding-bottom:45px}
body[data-general-style="coral"] .footer-brand{grid-column:1/-1;font-size:clamp(6.5rem,19vw,16rem);font-weight:800;letter-spacing:-.07em;line-height:1.04}
body[data-general-style="coral"] .footer-top>p{grid-column:1;color:#fff4dc;font-size:1.125rem}
body[data-general-style="coral"] .back-top{grid-column:2;color:#fff4dc;margin:0}
body[data-general-style="coral"] .footer-bottom{color:#e8c5ca;padding-block:27px}

@media(max-width:1150px){
 body[data-general-style="bosque"] .hero{gap:45px;padding-block:65px 78px}
 body[data-general-style="bosque"] .hero-art{min-height:485px}
 body[data-general-style="bosque"] .specialties{gap:45px;grid-template-columns:.8fr 1.4fr}
 body[data-general-style="bosque"] .specialty-link{grid-template-columns:1fr;padding:28px;gap:20px}
 body[data-general-style="bosque"] .specialty-description{grid-column:1;max-width:100%}
 body[data-general-style="coral"] .hero{gap:42px}
 body[data-general-style="coral"] .hero-art{min-height:490px}
 body[data-general-style="coral"] .section-heading{column-gap:40px}
 body[data-general-style="coral"] .contact-section{padding:35px;column-gap:35px}
}
@media(max-width:900px){
 body[data-general-style="bosque"] .header-brand>.brand-general{font-size:3rem}
 body[data-general-style="bosque"] .hero{grid-template-columns:1fr;gap:45px}
 body[data-general-style="bosque"] .hero h1{font-size:clamp(4.5rem,10vw,7rem);max-width:750px}
 body[data-general-style="bosque"] .hero-description{max-width:650px}
 body[data-general-style="bosque"] .hero-art{min-height:0;height:435px}
 body[data-general-style="bosque"] .specialties{grid-template-columns:1fr;gap:35px;padding-block:75px}
 body[data-general-style="bosque"] .section-heading{display:block}
 body[data-general-style="bosque"] .section-heading h2{font-size:4rem;margin-bottom:25px}
 body[data-general-style="bosque"] .section-heading>p:last-child{max-width:650px}
 body[data-general-style="bosque"] .specialty-link{grid-template-columns:1.1fr 1fr;gap:24px 35px}
 body[data-general-style="bosque"] .specialty-description{grid-column:2}
 body[data-general-style="bosque"] .contact-section{column-gap:38px}
 body[data-general-style="coral"] .header-brand>.brand-general{font-size:2.6rem}
 body[data-general-style="coral"] .hero{grid-template-columns:1fr;gap:42px;padding-block:55px 68px}
 body[data-general-style="coral"] .hero h1{font-size:clamp(3.7rem,8.4vw,5.7rem);max-width:770px}
 body[data-general-style="coral"] .hero-description{max-width:650px}
 body[data-general-style="coral"] .hero-art{order:1;min-height:0;height:440px;border-radius:28px}
 body[data-general-style="coral"] .section-heading{column-gap:35px}
 body[data-general-style="coral"] .section-heading h2{font-size:3rem}
 body[data-general-style="coral"] .specialties{padding-block:75px}
 body[data-general-style="coral"] .specialty-link{padding:28px}
 body[data-general-style="coral"] .specialty-title{font-size:2.45rem}
 body[data-general-style="coral"] .contact-section{grid-template-columns:1fr;gap:25px}
}
@media(max-width:620px){
 body:is([data-general-style="bosque"],[data-general-style="coral"]) .hero .eyebrow{font-size:.75rem;letter-spacing:.045em}
 body:is([data-general-style="bosque"],[data-general-style="coral"]) .hero-description{font-size:1rem}
 body[data-general-style="bosque"] .hero{padding-block:42px 54px;gap:35px}
 body[data-general-style="bosque"] .hero h1{font-size:clamp(3.7rem,13vw,5.5rem);margin-block:26px}
 body[data-general-style="bosque"] .hero-art{height:auto;aspect-ratio:1/1;padding:8px;box-shadow:7px 7px 0 #0b302a}
 body[data-general-style="bosque"] .hero-art>figcaption{left:8px;right:8px;bottom:8px;padding:19px}
 body[data-general-style="bosque"] .capabilities-band>.wrap{font-size:.875rem;padding-block:19px}
 body[data-general-style="bosque"] .specialties{padding-block:60px;gap:28px}
 body[data-general-style="bosque"] .section-heading h2{font-size:3.4rem}
 body[data-general-style="bosque"] .specialty-link{grid-template-columns:1fr;gap:20px;padding:28px}
 body[data-general-style="bosque"] .specialty-description{grid-column:1}
 body[data-general-style="bosque"] .specialty-title{font-size:2.9rem}
 body[data-general-style="bosque"] .about-zone{padding-block:65px}
 body[data-general-style="bosque"] .about-intro>h2{font-size:3.6rem}
 body[data-general-style="bosque"] .process-heading>h3{font-size:2.65rem}
 body[data-general-style="bosque"] .process-list h4{font-size:2rem}
 body[data-general-style="bosque"] .contact-section{padding-top:40px}
 body[data-general-style="bosque"] .contact-section h3{font-size:3.7rem}
 body[data-general-style="bosque"] .site-footer{padding-top:38px}
 body[data-general-style="bosque"] .footer-brand{font-size:clamp(6.5rem,28vw,10rem)}
 body[data-general-style="bosque"] .footer-top{gap:20px;padding-bottom:33px}
 body[data-general-style="bosque"] .footer-bottom{text-align:center}
 body[data-general-style="coral"] .hero{padding-block:43px 56px;gap:34px}
 body[data-general-style="coral"] .hero h1{font-size:clamp(3.15rem,11.2vw,4.6rem);margin-block:25px}
 body[data-general-style="coral"] .highlight-word{border-radius:8px}
 body[data-general-style="coral"] .hero-art{height:auto;aspect-ratio:1/1;border-radius:23px;box-shadow:6px 6px 0 #24214b}
 body[data-general-style="coral"] .hero-art>figcaption{padding:22px}
 body[data-general-style="coral"] .hero .button{padding-inline:23px}
 body[data-general-style="coral"] .capabilities-band>.wrap{font-size:.875rem;padding-block:19px}
 body[data-general-style="coral"] .specialties{padding-block:60px}
 body[data-general-style="coral"] .section-heading{display:block}
 body[data-general-style="coral"] .section-heading h2{font-size:2.85rem;margin-bottom:24px}
 body[data-general-style="coral"] .specialty-links{gap:21px;margin-top:33px}
 body[data-general-style="coral"] .specialty-link{min-height:0;padding:28px;border-radius:20px}
 body[data-general-style="coral"] .specialty-title{font-size:2.6rem}
 body[data-general-style="coral"] .about-zone{padding-block:60px}
 body[data-general-style="coral"] .about-intro>h2{font-size:3rem}
 body[data-general-style="coral"] .process-heading>h3{font-size:2.4rem}
 body[data-general-style="coral"] .process-list h4{font-size:1.8rem}
 body[data-general-style="coral"] .contact-section{padding:30px 23px;border-radius:24px}
 body[data-general-style="coral"] .contact-section h3{font-size:3rem}
 body[data-general-style="coral"] .site-footer{padding-top:35px}
 body[data-general-style="coral"] .footer-top{grid-template-columns:1fr;gap:24px;padding-bottom:35px}
 body[data-general-style="coral"] .footer-brand{font-size:clamp(4.6rem,23vw,8rem);letter-spacing:-.06em}
 body[data-general-style="coral"] .footer-top>p,body[data-general-style="coral"] .back-top{grid-column:1}
 body[data-general-style="coral"] .back-top{justify-content:space-between}
}
@media print{
 body:is([data-general-style="bosque"],[data-general-style="coral"]) :is(.general-zone,.about-zone,.site-footer){background:#fff;color:#000;--general-text:#000;--general-muted:#333}
 body:is([data-general-style="bosque"],[data-general-style="coral"]) .hero{display:block;width:100%;padding-block:20px}
 body:is([data-general-style="bosque"],[data-general-style="coral"]) .hero-art{height:auto;min-height:0;aspect-ratio:4/3;max-width:360px;box-shadow:none}
 body:is([data-general-style="bosque"],[data-general-style="coral"]) .footer-brand{font-size:5rem}
}
