/* Focused, function-first pages within the established Baja Verde identity. */
.focus-page{--focus-gutter:7vw}
.focus-page main section{scroll-margin-top:6rem}
.focus-page .eyebrow,.focus-page .section-label{font-size:.8125rem;line-height:1.5;letter-spacing:.13em}
.focus-page .hero{min-height:80svh;padding:clamp(140px,16vh,190px) var(--focus-gutter) clamp(60px,6vw,100px);align-items:flex-start}
.focus-page .hero h1{font-size:clamp(3.2rem,7.4vw,7.5rem);line-height:.98;letter-spacing:-.055em;margin:1.2rem 0 1.8rem;max-width:1100px}
.focus-page .hero>p:not(.eyebrow){max-width:620px;font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.65;margin:0}
.focus-page .hero>*:not(.hero-orbit,.ambient-rings){position:relative;z-index:1}
.focus-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:2rem;position:relative;z-index:1}
.focus-button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;background:var(--acid);color:var(--ink);border:1px solid transparent;border-radius:100px;padding:.95rem 1.35rem;min-height:48px;line-height:1.35;font:500 1rem var(--sans);text-align:center;cursor:pointer;transition:background .2s}
.focus-button:hover{background:#e68b60}
.focus-text-link{display:inline-flex;align-items:center;gap:.7rem;min-height:44px;font-size:.9375rem;border-bottom:1px solid currentColor;padding:.4rem 0}
.focus-button:focus-visible,.focus-text-link:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.focus-home .work{padding:clamp(64px,7vw,110px) var(--focus-gutter)}
.focus-heading{display:grid;grid-template-columns:1fr 2fr;gap:2rem;margin-bottom:3rem;align-items:start;position:relative;z-index:1}
.focus-heading h2,.focus-close h2,.focus-page .contact h1,.focus-page .contact h2{font-size:clamp(2.5rem,4.6vw,5rem);font-weight:500;line-height:1.04;letter-spacing:-.045em;margin:0;max-width:850px;position:relative;z-index:1}
.focus-page .contact h1 em{font-family:var(--serif);font-weight:400}
.focus-heading h2 em,.focus-close h2 em{font-family:var(--serif);font-weight:400}
.focus-heading .section-label{margin:.5rem 0 0}
.focus-home .project-grid{gap:2.8rem 1.8rem;position:relative;z-index:1}
.focus-home .project-b{margin-top:0}
.focus-home .project-visual{aspect-ratio:1.55}
.focus-home .project-juntio .project-visual{aspect-ratio:2.6;max-height:440px}
.focus-home .project-meta{grid-template-columns:minmax(0,1fr) auto;gap:.7rem 1rem;padding:1.2rem 0 1.4rem;align-items:start}
.focus-home .project-meta h3{font-size:1.25rem;line-height:1.3}
.focus-home .project-meta p{grid-column:1/-1;grid-row:2;font-size:1rem;line-height:1.6;max-width:600px;opacity:.8}
.focus-home .project-meta>span{font-size:.8125rem;line-height:1.4;text-align:right;max-width:150px}
.focus-home .work-more{margin-top:2.3rem;font-size:.9375rem}
.focus-pillars,.focus-process,.solution-list,.solution-support,.solution-expertise{padding:clamp(64px,7vw,110px) var(--focus-gutter)}
.focus-pillars{background:var(--green);color:var(--paper);position:relative;isolation:isolate;overflow:hidden}
.focus-pillars>.focus-heading,.focus-pillars>.pillar-grid{position:relative;z-index:1}
.pillar-atmosphere{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.pillar-atmosphere>img{position:absolute;left:-5%;top:12%;width:clamp(240px,32vw,480px);height:auto;opacity:.055}
.focus-pillars .pillar-atmosphere .ambient-rings{width:clamp(440px,64vw,920px);left:auto;right:-26vw;top:-12%;color:rgba(244,240,233,.16);animation-duration:56s;animation-direction:reverse}
@media(max-width:800px){.pillar-atmosphere>img{width:66vw;left:-22vw;top:22%;opacity:.045}.focus-pillars .pillar-atmosphere .ambient-rings{width:120vw;right:-65vw;left:auto;top:-3%}}
.pillar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid rgba(244,240,233,.3)}
.pillar-card{display:grid;grid-template-rows:60px auto 1fr auto;gap:1rem;padding:2rem;min-width:0;border-right:1px solid rgba(244,240,233,.25)}
.pillar-card:first-child{padding-left:0}.pillar-card:last-child{border-right:0;padding-right:0}
.pillar-card svg{width:36px;height:36px;fill:none;stroke:var(--acid);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.pillar-card h3{font-size:clamp(1.3rem,1.7vw,1.85rem);font-weight:500;line-height:1.3;min-height:2.6em;margin:0;letter-spacing:-.025em}
.pillar-card p{font-size:1rem;line-height:1.7;margin:0;opacity:.82}
.pillar-card .focus-text-link{justify-self:start;margin-top:.5rem}
.focus-process{position:relative;overflow:hidden}
.focus-process .ambient-rings{color:rgba(15,61,46,.1);left:auto;right:-40vw;top:-20vw}
.process-steps{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;list-style:none;margin:0;padding:0;counter-reset:steps}
.process-steps li{border-top:1px solid var(--line);padding-top:1.5rem;counter-increment:steps;min-width:0}
.process-steps li::before{content:'0' counter(steps);font-size:.8125rem;color:var(--green)}
.process-steps h3{font-weight:500;font-size:1.5rem;margin:1rem 0 .7rem}
.process-steps p{font-size:1rem;line-height:1.7;margin:0;max-width:360px}
.focus-close{background:var(--green);color:var(--paper);padding:clamp(64px,8vw,120px) var(--focus-gutter);position:relative;overflow:hidden}
.focus-close>p:not(.section-label){font-size:1.0625rem;line-height:1.65;max-width:650px;margin:1.5rem 0}
.focus-close>*:not(.ambient-rings){position:relative;z-index:1}
.focus-close .ambient-rings{left:auto;right:-42vw;top:-22vw}
.focus-close::before{content:'';position:absolute;left:-5vw;top:12%;width:clamp(220px,30vw,450px);aspect-ratio:87/96;background:url('assets/baja-verde-mark-white.svg') center/contain no-repeat;opacity:.055;pointer-events:none;z-index:0}
.focus-close .ambient-rings.ambient-rings{left:auto;right:-25vw;top:-22vw;color:rgba(244,240,233,.16)}
@media(max-width:800px){.focus-close::before{width:70vw;left:-28vw;top:20%;opacity:.04}.focus-close .ambient-rings.ambient-rings{right:-68vw;top:-24vw}}
.focus-page .assistant-trigger{width:48px;height:48px;padding:0;justify-content:center;background:#d86b3c;color:var(--green);border:1px solid #d86b3c}
.focus-page .assistant-trigger:hover{background:#e37b4e;border-color:#e37b4e}
.focus-page .assistant-trigger>span{display:none}
.solution-intro{max-width:650px}
.solution-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:5vw;padding:3rem 0;border-top:1px solid var(--line);scroll-margin-top:6rem}
.solution-row h2{font-size:clamp(2rem,3.4vw,3.5rem);font-weight:500;line-height:1.08;letter-spacing:-.035em;margin:.8rem 0 0}
.solution-row p{font-size:1.0625rem;line-height:1.7;margin:0 0 1.2rem}
.solution-row ul{padding-left:1.2rem;margin:0;line-height:1.8;font-size:1rem}
.solution-row li+li{margin-top:.5rem}
.solution-row .focus-text-link{margin-top:1.5rem}
.solution-optimization{background:var(--green);color:var(--paper);padding:clamp(64px,7vw,110px) var(--focus-gutter)}
.solution-optimization .solution-row{padding:0;border:0}
.solution-support{background:var(--sand)}
.support-intro{font-size:1.0625rem;line-height:1.7;max-width:680px;margin:0 0 2.5rem auto}
.support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}
.support-grid article{padding:1.7rem 2rem 1.7rem 0;border-bottom:1px solid var(--line);min-width:0}
.support-grid article:nth-child(even){padding-left:2rem;border-left:1px solid var(--line)}
.support-grid h3{font-size:1.25rem;font-weight:500;margin:0 0 .8rem}
.support-grid p{font-size:1rem;line-height:1.7;margin:0}
.solution-expertise details{border-bottom:1px solid var(--line)}
.solution-expertise summary{grid-template-columns:1fr auto;gap:1rem;font-size:1.25rem;padding:1.5rem 0}
.solution-expertise summary span{font-size:1.25rem;opacity:1}
.solution-expertise details p{color:var(--ink);margin:0 0 1.5rem;font-size:1rem;max-width:760px;line-height:1.7}
.focus-page .contact{min-height:0;padding:140px var(--focus-gutter) 70px}
.focus-page .contact-grid{margin-top:2.5rem;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:5vw}
.focus-page .contact-form label,.focus-page .contact-details small{font-size:.8125rem;line-height:1.5}
.focus-page .contact-form .focus-form-note{grid-column:1/-1;font-size:.875rem;line-height:1.6;opacity:.8;margin:0}
.focus-page .contact-details address{font-style:normal}
.focus-page .booking h2{line-height:1.04;font-size:clamp(2rem,4.7vw,4.5rem)}
.focus-page .booking-fields label,.focus-page .call-options small{font-size:.8125rem}
.focus-page .call-options input:focus-visible+span{outline:2px solid var(--green);outline-offset:3px}
@media(max-width:900px){
 .focus-page{--focus-gutter:5vw}
 .pillar-card{padding:1.5rem 1rem}.pillar-card h3{font-size:1.25rem}
 .focus-home .project-juntio .project-visual{aspect-ratio:2}
 .focus-heading{grid-template-columns:1fr 2fr}
}
@media(max-width:640px){
 .focus-page .hero{min-height:76svh;padding-top:135px;padding-bottom:60px}
 .focus-page .hero h1{font-size:clamp(2.7rem,10vw,4rem);line-height:1.04;letter-spacing:-.045em}
 .focus-actions{gap:1rem 1.3rem}
 .focus-heading{grid-template-columns:1fr;gap:1rem;margin-bottom:2rem}
 .focus-home .project-grid{grid-template-columns:1fr;gap:2rem}
 .focus-home .project-visual{aspect-ratio:1.2}
 .focus-home .project-juntio .project-visual{aspect-ratio:1.2;max-height:none}
 .focus-home .project-meta{grid-template-columns:minmax(0,1fr) auto}
 .focus-home .project-meta>span{max-width:100px}
 .pillar-grid,.process-steps,.support-grid{grid-template-columns:1fr}
 .pillar-card,.pillar-card:first-child,.pillar-card:last-child{padding:1.8rem 0;border-right:0;border-bottom:1px solid rgba(244,240,233,.25);grid-template-rows:auto;gap:.85rem}
 .pillar-card:last-child{border-bottom:0}.pillar-card h3{font-size:1.5rem;min-height:0}
 .process-steps{gap:1.8rem}.process-steps p{max-width:none}
 .solution-row{grid-template-columns:1fr;gap:1.5rem;padding:2rem 0}
 .support-grid article,.support-grid article:nth-child(even){padding:1.5rem 0;border-left:0}
 .focus-page .contact-grid{grid-template-columns:1fr;gap:3rem}
 .focus-close h2,.focus-heading h2{font-size:clamp(2.2rem,8.5vw,3.1rem)}
}
@media(prefers-reduced-motion:reduce){.focus-button{transition:none}}
