/* Approved revision: shared identity and specifically requested home sections only.
   Base palette and article styles remain in site.css, unchanged. */
.identity img{width:86px;height:59px;object-fit:contain}
.identity .identity-name{display:block;font:21px/1.1 var(--serif);letter-spacing:.055em;color:var(--olive);white-space:nowrap}
.header-inner{gap:24px}#navigation{gap:19px}
.button span,.text-link span{transition:transform .25s ease}
.button:is(:hover,:focus-visible) span,.text-link:is(:hover,:focus-visible) span{transform:translate(2px,-2px)}
.button:focus-visible{background:#465b43}.button-outline:focus-visible{background:#e6e8dd}
.hero-visual>img{height:auto;min-height:0;max-height:710px;width:100%;object-fit:contain;object-position:center}
.hero-visual{justify-content:center}
.hero h1{animation:hero-appear .75s ease-out both}
@keyframes hero-appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.portfolio-section{padding-block:64px}.portfolio-section .section-head{margin-bottom:30px}
.project-rail{display:block;padding:0 0 8px;scroll-snap-type:none;scroll-behavior:auto;scrollbar-width:none;overflow-x:auto;overscroll-behavior-x:contain;touch-action:pan-x pan-y}
.project-rail::-webkit-scrollbar{display:none}
.project-track{display:flex;gap:20px;width:max-content}
.project{flex:0 0 auto;width:auto;max-width:none;scroll-snap-align:none}
.project[hidden]{display:none}
.project img{width:auto;height:310px;max-width:none;object-fit:contain;aspect-ratio:auto}
.project-open{background:transparent}.project a:hover img{filter:none}
.project-open:focus-visible{outline-offset:-5px}
.approach{grid-template-columns:.86fr 1fr;gap:62px;align-items:center;padding-block:70px}
.approach-visual img{width:100%;height:auto;max-height:630px;object-fit:contain}
.approach-visual figcaption{font-size:10px;color:var(--muted);margin-top:8px}
.approach-copy h2{font-size:clamp(29px,2.8vw,41px);line-height:1.2;margin:0 0 19px}
.approach-intro{font-size:14px;color:var(--muted);line-height:1.8;margin-bottom:20px}
.approach .benefits>div{padding:13px 0}.approach .benefits h3{font:21px/1.35 var(--serif);margin-bottom:5px}
.approach .benefits p{font-size:13px}.approach-copy>.button{margin-top:19px}
.process-section{padding-block:62px}.process-layout{display:grid;grid-template-columns:.85fr 1fr;gap:65px;align-items:center}
.process-heading h2{font-size:clamp(32px,3.2vw,46px);margin:20px 0}.process-heading .text-link{margin-top:5px}
.process-section .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px}
.process-section .steps li{display:flex;gap:13px;align-items:start;padding:17px 0 0}
.steps svg{width:30px;height:30px;flex-shrink:0;color:var(--olive)}
.process-section .steps h3{margin:1px 0 8px;font-size:16px}.steps p{line-height:1.65}
.process-section .steps li:nth-child(2) svg{color:var(--terra)}.process-section .steps li:nth-child(2){border-top-color:#c59482}
.cost{margin-top:40px;padding:30px 34px;border:0;background:var(--olive);color:var(--bg);gap:35px;flex-direction:row;align-items:center}
.cost h3{font:30px/1.2 var(--serif);color:var(--bg);max-width:590px;margin-bottom:13px}
.cost p{font-size:13px;color:#e4e8dc;max-width:620px;line-height:1.8}
.cost-notes{display:flex;gap:10px 24px;flex-wrap:wrap;margin-top:18px;font-size:10px;color:#dfd0a7}
.button-cost{border-color:#d8c18d;background:#d8c18d;color:#243425;padding-inline:20px}
.button-cost:is(:hover,:focus-visible){background:#e5d2a7}
.about{padding-block:56px}.about-heading{display:grid;grid-template-columns:1fr 260px;gap:35px;align-items:center;margin-bottom:30px}
.about-heading h2{font-size:clamp(34px,3.6vw,50px)}
.shadow-space{height:130px;position:relative;overflow:hidden;isolation:isolate;pointer-events:none}
.plant-shadow{position:absolute;inset:0;width:100%;height:100%;color:#67735b;opacity:.16;filter:blur(2.8px);transform-origin:95% 90%;animation:leaf-shadow-sway 10s ease-in-out infinite alternate;pointer-events:none}
@keyframes leaf-shadow-sway{0%{transform:translate(-3px,-2px) rotate(-3deg) scale(.97)}100%{transform:translate(5px,3px) rotate(3deg) scale(1.01)}}
.about .founder{grid-template-columns:30% minmax(0,1fr);gap:55px;margin-top:32px;align-items:center}
.about .founder.reverse{grid-template-columns:minmax(0,1fr) 30%;margin-top:32px}
.about .founder-photo{max-width:none}.about .founder-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;margin-top:13px}
.about .founder h3{font-size:36px;margin:10px 0 18px}
.about .philosophy{margin-top:32px;max-width:780px}.about .gold-star{font-size:30px}.about .philosophy h3{font-size:32px;margin:12px 0 18px}.about .philosophy p{font-size:14px;margin-top:13px}
.collaboration{grid-template-columns:.86fr 1fr;gap:62px;align-items:center;padding-block:65px}
.collaboration figure img{width:100%;height:auto;max-height:530px;object-fit:contain}.collaboration h2{font-size:clamp(34px,3.6vw,49px);margin:16px 0 23px}
.collaboration p:not(.eyebrow){font-size:14px;line-height:1.8;margin-top:15px}.collaboration .text-link{margin-top:19px}
.contact-section{padding-bottom:52px}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* Content remains visible until an observer has been created successfully. */
[data-reveal].reveal-ready{opacity:0;transform:translateY(12px);transition:opacity .65s ease,transform .65s ease;transition-delay:var(--reveal-delay,0ms)}
[data-reveal].reveal-ready.is-visible{opacity:1;transform:none}
@media(max-width:1200px){.identity .identity-name{font-size:18px}.identity{gap:10px}.identity img{width:70px;height:49px}.header-inner{gap:18px}#navigation{gap:14px}.approach,.collaboration{gap:38px}.process-layout{gap:38px}.cost{gap:25px}.cost .button{font-size:11px;gap:15px}.about .founder{gap:38px}}
@media(min-width:761px) and (max-width:900px){.identity .identity-name{font-size:15px}.identity img{width:55px;height:40px}.header-inner{width:calc(100% - 40px);gap:12px}#navigation{gap:12px}#navigation>a{font-size:11px}.identity{gap:6px}}
@media(max-width:1000px){.cost{flex-direction:column;align-items:start}.about .founder-copy>p:not(.eyebrow){font-size:14px}.about .founder h3{font-size:32px}.process-layout{grid-template-columns:1fr;gap:28px}.process-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 30px}.process-heading .eyebrow{width:100%}.process-heading h2{margin-bottom:0}.about-heading{grid-template-columns:1fr 180px}.shadow-space{height:120px}}
@media(max-width:760px){.identity img{width:63px;height:46px}.identity .identity-name{font-size:18px;letter-spacing:.04em;max-width:none}.identity{gap:9px}.hero-visual>img{height:auto;aspect-ratio:auto;max-height:620px;object-fit:contain}.hero-visual{align-items:center}.hero-visual figcaption{width:100%}
.portfolio-section{padding-block:48px}.portfolio-section .section-head>.text-link{margin-top:15px}.project img{height:260px}.project-track{gap:16px}
.approach{grid-template-columns:1fr;gap:26px;padding-block:49px}.approach-visual{max-width:520px;width:100%;margin:auto}.approach-visual img{max-height:450px;width:100%;object-fit:contain}.approach-copy h2{font-size:33px}.approach-intro{font-size:14px}.approach .benefits h3{font-size:23px}
.process-section{padding-block:45px}.process-heading{display:block}.process-heading h2{font-size:37px;margin:17px 0}.process-heading .text-link{margin-top:0}.process-section .steps{gap:20px}.process-section .steps li{display:flex;gap:11px}.process-section .steps h3{font-size:16px}.process-section .steps p{font-size:13px}
.cost{padding:27px 24px;margin-top:30px;gap:22px}.cost h3{font-size:29px}.cost-notes{display:grid;gap:5px}.cost .button{font-size:12px}
.about{padding-block:40px}.about-heading{grid-template-columns:1fr;gap:0;margin-bottom:0}.about-heading h2{font-size:37px}.shadow-space{height:78px;width:170px;justify-self:end;margin-block:6px -3px}.plant-shadow{opacity:.12;filter:blur(2px);animation-name:leaf-shadow-sway-mobile}
@keyframes leaf-shadow-sway-mobile{0%{transform:translate(-1px,-1px) rotate(-2deg)}100%{transform:translate(3px,1px) rotate(2deg)}}
.about .founder,.about .founder.reverse{grid-template-columns:1fr;gap:23px;margin-top:20px}.about .founder.reverse{margin-top:28px}.about .founder-photo{max-width:330px;width:80%;margin-inline:auto}.about .founder-copy{grid-column:1;grid-row:2}.about .founder h3{font-size:35px;margin-bottom:17px}.about .founder-copy>p:not(.eyebrow){font-size:15px}.about .philosophy{margin-top:28px}.about .philosophy h3{font-size:30px}
.collaboration{grid-template-columns:1fr;gap:25px;padding-block:48px}.collaboration figure{max-width:500px;width:100%;margin:auto}.collaboration figure img{max-height:420px}.collaboration h2{font-size:38px}.collaboration p:not(.eyebrow){font-size:14px}.contact-section{padding-bottom:37px}}
@media(max-width:480px){.identity .identity-name{font-size:16px}.identity img{width:53px;height:42px}.identity{gap:7px}.header-inner{gap:10px}.process-section .steps{grid-template-columns:1fr}.process-section .steps li{gap:15px}.process-section .steps h3{font-size:17px}.process-section .steps svg{width:31px;height:31px}.about .founder-photo{width:85%;max-width:300px}.about-heading h2{font-size:35px}.approach-copy h2{font-size:31px}.project img{height:245px}}
@media(prefers-reduced-motion:reduce){.project[data-clone]{display:none}.plant-shadow{animation:none;transform:none}[data-reveal].reveal-ready{opacity:1;transform:none;transition:none}.hero h1{animation:none}}
@media print{.plant-shadow{display:none}[data-reveal].reveal-ready{opacity:1;transform:none}}
