/* Shared continuation of the Cala / Storey editorial direction. */
/* Four destinations remain usable in the shared header and mobile menu. */
.desktop-nav{gap:clamp(14px,1.8vw,28px);white-space:nowrap}
.mobile-menu{overflow-y:auto}
@media(min-width:701px) and (max-width:950px){.desktop-nav{font-size:14px}.header-contact{font-size:14px;gap:18px;padding-inline:12px}}
[hidden]{display:none!important}
.desktop-nav a[aria-current=page]:after{transform:scaleX(1)}
.mobile-menu a[aria-current=page]{color:var(--cala-copper)}
.inner-page{--section-space:clamp(64px,8vw,130px)}
.inner-page main{padding-top:125px}
.inner-page .eyebrow{font-size:12px}
.page-kicker{display:flex;justify-content:space-between;gap:20px;color:var(--muted);padding-bottom:40px}
.about-opening{padding:50px var(--pad) 75px}
.about-opening h1{font-size:clamp(64px,8.8vw,145px);line-height:.96;letter-spacing:-.065em}
.about-opening h1>span{color:var(--cala-copper-dark)}
.about-opening-bottom{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:70px;align-items:start}
.about-lead{font-size:clamp(25px,2.9vw,45px);line-height:1.15;letter-spacing:-.04em}
.about-intro-copy{max-width:620px;font-size:clamp(19px,1.55vw,24px);line-height:1.4}
.about-intro-copy p+p{margin-top:20px}
.about-project{margin:0 var(--pad);position:relative;overflow:hidden}
.about-project img{width:100%;height:clamp(350px,47vw,740px);object-position:center 55%}
.about-project figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:25px;padding:18px 0 26px}
.about-project figcaption>span:first-child{font-size:24px;letter-spacing:-.035em}
.about-project figcaption .eyebrow{color:var(--muted)}
.about-approach{margin-top:60px;padding:var(--section-space) var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:40px}
.approach-heading>.eyebrow{color:var(--cala-copper)}
.approach-heading h2{font-size:clamp(45px,5.6vw,88px);line-height:1.03;margin-top:40px}
.approach-list article{border-top:1px solid #de824444;padding:25px 0 40px}
.approach-list article:last-child{padding-bottom:0}
.approach-list .eyebrow{color:var(--cala-copper)}
.approach-list h3{font-size:clamp(27px,2.3vw,37px);margin:20px 0 16px;line-height:1.12}
.approach-list p{font-size:20px;line-height:1.45;color:var(--cala-light-text);max-width:590px}
.team-section{padding:var(--section-space) var(--pad)}
.team-intro{display:grid;grid-template-columns:1fr 1fr;gap:28px 40px;margin-bottom:65px}
.team-intro>.eyebrow{grid-column:1/-1;color:var(--muted)}
.team-intro h2{font-size:clamp(40px,5.1vw,80px);line-height:1.04}
.team-intro>p{max-width:450px;align-self:end;font-size:24px;line-height:1.3;letter-spacing:-.03em}
.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.member-heading{display:flex;align-items:baseline;gap:12px;margin-top:0;padding-top:18px;border-top:1px solid var(--line)}
.member-heading>.eyebrow{color:var(--cala-copper-dark)}
.member-heading h3{font-size:clamp(24px,2.1vw,34px);line-height:1.05;letter-spacing:-.045em}
.member-role{margin:16px 0 14px;color:var(--cala-copper-dark);font-size:16px;line-height:1.3;min-height:42px}
.member-description{color:var(--muted);font-size:17px;line-height:1.5}
.page-cta{padding:70px var(--pad) 85px}
.page-cta>.eyebrow{color:var(--cala-copper)}
.page-cta>div{display:flex;justify-content:space-between;gap:35px;align-items:center;margin:30px 0 20px}
.page-cta h2{font-size:clamp(40px,6vw,92px);line-height:1.05}
.page-cta .button{flex-shrink:0}
.quote-page-layout{display:grid;grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);background:var(--ink);align-items:start}
.quote-introduction{position:sticky;top:110px;color:var(--paper);padding:60px var(--pad) 65px;min-height:calc(100svh - 125px)}
.quote-introduction>.eyebrow{color:var(--cala-copper)}
.quote-introduction h1{font-size:clamp(42px,5.5vw,88px);line-height:1.02;margin-top:40px;letter-spacing:-.055em}
.quote-introduction h1>span{color:var(--cala-copper)}
.quote-introduction>p{font-size:20px;line-height:1.4;color:var(--cala-light-text);max-width:420px;margin-top:35px}
.quote-contact{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-top:55px}
.quote-contact>.eyebrow{color:var(--cala-copper)}
.quote-contact>a{font-size:clamp(26px,2.65vw,40px);letter-spacing:-.045em;border-bottom:1px solid #de824477;padding-bottom:5px;display:flex;gap:35px}
.quote-contact>span:last-child{font-size:16px;line-height:1.5;color:var(--cala-light-text)}
.quote-team-link{font-size:16px;display:inline-flex;gap:30px;margin-top:40px;border-bottom:1px solid #de824444;padding-bottom:8px}
.quote-form-panel{background:var(--paper);padding:55px clamp(24px,4vw,70px) 65px;min-width:0}
.form-heading>.eyebrow{color:var(--cala-copper-dark)}
.form-heading h2{font-size:clamp(36px,4.2vw,65px);line-height:1.04;margin:22px 0}
.form-heading>p{font-size:16px;line-height:1.5;color:var(--muted);max-width:500px}
.form-section{padding:26px 0 0;margin:40px 0 0;border:0;border-top:1px solid #bbae9c;min-width:0}
.form-section>legend{float:left;display:flex;align-items:center;gap:22px;width:100%;font-size:27px;line-height:1.2;letter-spacing:-.03em;margin:0 0 28px;padding:0}
.form-section>legend .eyebrow{color:var(--cala-copper-dark)}
.form-section>legend+*{clear:both}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.full-width{grid-column:1/-1}
.field{display:flex;flex-direction:column;gap:10px;min-width:0;font-size:16px;line-height:1.3}
.field>label{font-size:15px}
.field small{font-size:14px;color:var(--muted)}
.field input,.field select,.field textarea{font:inherit;font-size:16px;color:var(--ink);width:100%;min-width:0;padding:12px 0;border:0;border-bottom:1px solid #bbae9c;border-radius:0;background:transparent;min-height:48px;transition:border-color .2s}
.field select{cursor:pointer;padding-right:16px;text-overflow:ellipsis}
.field option{color:var(--ink);background:var(--paper)}
.field textarea{resize:vertical;line-height:1.55;min-height:90px}
.field input::placeholder,.field textarea::placeholder{color:#797066;opacity:1}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--cala-copper-dark);outline-offset:4px;border-color:transparent}
.field input:user-invalid,.field textarea:user-invalid,.field select:user-invalid{border-bottom-color:#aa3030}
.choice-field{border:0;padding:0;margin:28px 0;min-width:0}
.choice-field>legend{padding:0;margin-bottom:13px;font-size:15px}
.choices{display:flex;flex-wrap:wrap;gap:8px}
.choice{position:relative;display:flex;cursor:pointer}
.choice input{position:absolute;opacity:0;width:1px;height:1px}
.choice>span{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #bbae9c;font-size:14px;line-height:1.3;transition:background .2s,color .2s}
.choice>span:before{content:'+';font-size:18px;line-height:1;width:12px;text-align:center}
.choice input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.choice input:checked+span:before{content:'✓';font-size:14px}
.choice input:focus-visible+span{outline:2px solid var(--cala-copper-dark);outline-offset:3px}
.form-section>.field{margin-top:25px}
.check-row{display:flex;align-items:flex-start;gap:13px;margin:26px 0 0;font-size:16px;line-height:1.4;cursor:pointer}
.check-row input{width:20px;height:20px;flex:0 0 20px;accent-color:var(--cala-copper-dark);margin:1px 0 0;cursor:pointer}
.check-row input:focus-visible{outline:2px solid var(--cala-copper-dark);outline-offset:4px}
.form-privacy{margin:18px 0 28px;font-size:14px;line-height:1.5;color:var(--muted)}
.quote-submit{width:100%;min-height:58px;font-size:18px}
.quote-submit>span:last-child{font-size:26px}
.quote-submit:disabled{opacity:.7;cursor:wait}
.form-status{display:block;font-size:14px;padding-top:10px;color:var(--muted)}
.form-error{border-left:2px solid #aa3030;padding:12px 16px;margin-bottom:24px;background:#f5e6db;font-size:16px;line-height:1.5}
.form-error a{text-decoration:underline}
.honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.quote-confirmation{padding:55px 0;min-height:500px;scroll-margin-top:140px}
.quote-confirmation>.eyebrow{color:var(--cala-copper-dark)}
.quote-confirmation h2{font-size:clamp(48px,5vw,78px);line-height:1.05;margin:30px 0}
.quote-confirmation>p{font-size:22px;line-height:1.4;max-width:500px;margin-bottom:35px}
.quote-next{padding:90px var(--pad);border-top:1px solid var(--line)}
.quote-next-heading{display:grid;grid-template-columns:1fr 2fr;gap:30px;margin-bottom:60px}
.quote-next-heading>.eyebrow{color:var(--cala-copper-dark);padding-top:8px}
.quote-next h2{font-size:clamp(38px,4.5vw,68px);line-height:1.05}
.quote-next ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.quote-next li{border-top:1px solid var(--line);padding-top:23px}
.quote-next li>.eyebrow{color:var(--cala-copper-dark)}
.quote-next h3{font-size:30px;line-height:1.15;margin:22px 0 15px}
.quote-next li p{max-width:400px;color:var(--muted);font-size:18px;line-height:1.5}
@media(min-width:701px) and (max-width:1100px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:50px 24px}.member-heading h3{font-size:30px}.quote-introduction h1{font-size:4.9vw}.quote-form-panel{padding-left:25px;padding-right:25px}.field-grid{grid-template-columns:1fr}.quote-introduction>p{font-size:18px}}
@media(max-width:700px){
.inner-page main{padding-top:100px}.about-opening{padding-top:35px;padding-bottom:45px}.page-kicker{padding-bottom:30px;display:block}.page-kicker>span+span{display:block;margin-top:7px}.about-opening h1{font-size:clamp(43px,10.3vw,70px);line-height:1.01}.about-opening-bottom{grid-template-columns:1fr;gap:25px;margin-top:35px}.about-lead{font-size:27px}.about-intro-copy{font-size:19px}.about-intro-copy .text-link{margin-top:25px}.about-project img{height:auto;aspect-ratio:4/3}.about-project figcaption{align-items:flex-start;flex-direction:column;gap:8px;padding-bottom:10px}.about-project figcaption>span:first-child{font-size:21px}.about-approach{grid-template-columns:1fr;gap:45px;margin-top:40px}.approach-heading h2{font-size:48px;margin-top:28px}.approach-list h3{font-size:30px}.approach-list p{font-size:18px}.team-intro{grid-template-columns:1fr;gap:22px;margin-bottom:40px}.team-intro h2{font-size:43px}.team-intro>p{font-size:21px}.team-grid{grid-template-columns:1fr;gap:45px}.member-heading{margin-top:0}.member-heading h3{font-size:30px}.member-role{min-height:0;margin:14px 0}.member-description{font-size:18px}.page-cta{padding-top:55px;padding-bottom:60px}.page-cta>div{display:block}.page-cta h2{font-size:44px}.page-cta .button{margin-top:30px}.quote-page-layout{display:flex;flex-direction:column}.quote-introduction{position:relative;top:0;min-height:0;width:100%;padding-top:35px;padding-bottom:35px}.quote-introduction h1{font-size:clamp(43px,10vw,67px);margin-top:24px}.quote-introduction>p{margin-top:24px;font-size:18px;max-width:520px}.quote-contact{margin-top:25px;gap:12px}.quote-contact>.eyebrow,.quote-contact>span:last-child,.quote-team-link{display:none}.quote-contact>a{font-size:25px}.quote-form-panel{padding:35px var(--pad) 40px;width:100%}.form-heading h2{font-size:40px}.form-section{margin-top:30px}.form-section>legend{font-size:26px}.field-grid{gap:23px 18px}.choice>span{padding:12px}.quote-next{padding:60px var(--pad)}.quote-next-heading{grid-template-columns:1fr;gap:20px;margin-bottom:35px}.quote-next ol{grid-template-columns:1fr;gap:30px}.quote-next h3{margin-top:18px}.quote-next li p{max-width:none}.quote-confirmation{min-height:380px}
}
@media(max-width:420px){.field-grid{grid-template-columns:1fr}.about-opening h1{font-size:10.3vw}.team-intro h2{font-size:38px}.page-cta h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){.inner-page .reveal{transition:none;transform:none}.choice>span{transition:none}}
@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-old(root){animation-duration:.18s}::view-transition-new(root){animation-duration:.3s}}
