/* Focused iteration of the accepted ETC composition. Garden prose is untouched. */
.compact-header .nav-primary>a,.compact-header .nav-secondary>a,.compact-header .nav-group,.compact-header .nav-group summary{block-size:auto;min-height:44px;line-height:20px}
.compact-header .nav-primary,.compact-header .nav-secondary{align-items:center}
.compact-header .nav-group{display:block}
.compact-header .nav-group summary{display:flex;align-items:center}
.compact-header .nav-group>div{top:100%;z-index:30;min-width:242px;padding:9px 16px;box-shadow:0 8px 18px #002f4212}
.compact-header .nav-group>div a{display:flex;align-items:center;min-height:44px;white-space:normal;line-height:1.4}
.nav-accent{text-decoration-line:underline;text-decoration-color:var(--orange);text-underline-offset:.35em}
.navigation-toggle{width:44px;height:44px;padding:11px;border:0;flex-shrink:0}
.menu-bars{display:flex;flex-direction:column;gap:5px;width:22px;margin:auto}
.menu-bars i{display:block;height:1.5px;width:22px;background:var(--ink);transition:transform .2s,opacity .2s}
[aria-expanded=true] .menu-bars i:first-child{transform:translateY(6.5px) rotate(45deg)}
[aria-expanded=true] .menu-bars i:nth-child(2){opacity:0}
[aria-expanded=true] .menu-bars i:last-child{transform:translateY(-6.5px) rotate(-45deg)}
.image-hero{min-height:510px;background:var(--paper)}
/* Keep the photograph clear; the paper wash protects the copy, not the right edge. */
.hero-photo{position:absolute;inset:0;width:100%;height:100%;z-index:-2;background:var(--paper)}
.hero-photo>img{opacity:1;-webkit-mask-image:none;mask-image:none}
.image-hero::after{display:block;background:linear-gradient(180deg,transparent 84%,var(--paper) 100%),linear-gradient(90deg,#fcfbf8f5 0%,#fcfbf8ed 28%,#fcfbf8b8 43%,#fcfbf838 57%,#fcfbf800 70%)}
/* Scroll and reduced-motion states must not put an opaque second sheet over the photo. */
.image-hero::before{opacity:calc(var(--hero-unveil,0) * .18)}
.hero-copy{padding-block:58px 62px}
.hero-copy h1{font-weight:400;max-width:15ch}
.hero-copy .lead{max-width:35ch;line-height:1.6;margin-bottom:24px}
.hero-copy .hero-caption{max-width:none;font-size:12px;margin-top:15px}
.hero-copy .lead,.hero-copy .hero-caption{color:var(--ink)}
/* Small accent text needs the deeper ETC rust against a photographic surface. */
.hero-copy .eyebrow{color:#63240f}
.hero-caption a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.home-offers{padding-block:52px 44px}
.home-offers h2{font-size:clamp(29px,3vw,40px);max-width:25ch;margin-bottom:30px}
.home-offers .service-links{column-gap:56px;row-gap:0}
.home-offers .service-links>a{padding:22px 0 24px;transition:color .2s}
.home-offers .service-links>a:hover{color:var(--orange)}
.home-offers .service-links p{max-width:49ch;color:var(--muted);line-height:1.65}
.home-offers .service-links h3{font-size:29px}
.home-offers .service-links h3 [data-etc-node]{color:var(--ink)}
.home-offers .service-links>a.awakening-link{text-decoration:none}
.home-offers .service-links>a:hover h3,.home-offers .service-links>a:focus-visible h3{text-decoration:underline;text-underline-offset:5px}
.quiet-next{border-top:1px solid var(--line);padding-top:22px;max-width:none;font-size:15px;margin:0}
.home-closing{display:flex;gap:40px;align-items:center;justify-content:space-between;padding-block:40px 48px}
.home-closing h2{font-size:32px}
.home-closing p:not(.eyebrow){font-size:16px;max-width:64ch;color:var(--muted)}
.home-closing>.button{flex-shrink:0}
.service-page,.about-page,.contact-page{max-width:800px;margin-inline:auto;padding:44px 0 50px}
.service-intro{margin-bottom:30px}
.service-intro h1,.about-page h1{font-size:clamp(37px,4.3vw,55px);max-width:20ch;margin-bottom:24px}
.service-intro .lead{font-size:19px;line-height:1.65;color:var(--muted);max-width:65ch}
.service-price{font-size:14px;color:var(--muted);margin:23px 0 24px;max-width:65ch}
.service-section{border-top:1px solid var(--line);padding-top:36px;margin-top:36px}
.service-section h2{font-size:clamp(29px,2.8vw,36px);margin-bottom:20px}
.service-section p{max-width:68ch}
.branch-list{list-style:none;margin:0 0 25px;padding:0;max-width:68ch}
.branch-list li{position:relative;padding:10px 0 10px 27px;line-height:1.65}
.branch-list li::before{content:'├─';position:absolute;left:0;top:12px;color:var(--orange);font:14px/1.65 monospace}
.branch-list li:last-child::before{content:'└─'}
.service-page>.resource{margin-block:22px}
.service-page details.resource[id]{scroll-margin-top:110px}
.service-page .resource summary{min-height:48px;padding-block:12px;font-size:17px}
.service-page .resource>div{padding-block:12px 10px}
.service-next{border-top:1px solid var(--line);margin-top:40px;padding-top:28px}
.service-next p{margin-bottom:17px}
.service-next>.button+.fine{margin-top:22px}
#intro-price.price-line,#foundations-price.price-line{border:0;border-top:1px solid var(--line);background:none;margin:28px 0 24px;padding:20px 0 0}
.price-line p:first-child{font-size:18px;margin-bottom:6px}
.price-line strong{font:32px/1.2 var(--serif);margin-right:6px}
.price-line .fine{font-size:14px;max-width:65ch;color:var(--muted)}
.engagement-list article{border-top:1px solid var(--line);padding:26px 0}
.engagement-list h2{font-size:31px;margin-bottom:13px}
.engagement-list p{max-width:66ch;margin-bottom:12px}
.price-guide{margin:0 0 22px}
.price-guide>div{display:flex;gap:22px;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}
.price-guide dt{max-width:58%;font-weight:400}.price-guide dd{margin:0;text-align:right;color:var(--muted);font-size:15px}
.about-page .founder-photo{width:174px;margin-left:32px}
.about-page .founder-intro{margin-bottom:36px}.founder-intro .lead{font-size:19px}
.purpose-section{clear:both;border-top:1px solid var(--line);padding-top:36px}
.purpose-figure{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:16px 28px;margin:28px 0 0}
.purpose-art{position:relative;container-type:inline-size}.purpose-art>img{display:block;width:100%;height:auto;mix-blend-mode:multiply}
.purpose-label{position:absolute;font:clamp(12px,4cqi,16px)/1.2 var(--serif);text-align:center;width:6em;max-width:28%;text-wrap:balance;transform:translate(-50%,-50%)}
.purpose-label.top{top:23%;left:50%;width:4.5em}
.purpose-label.bottom{top:77%;left:50%}
.purpose-label.left{top:48%;left:25%;width:4.5em}
.purpose-label.right{top:48%;left:75%}
.purpose-copy dl{margin:0}.purpose-copy dl>div{padding:13px 0;border-bottom:1px solid var(--line)}
.purpose-copy dt{font:21px/1.3 var(--serif);margin-bottom:7px}.purpose-copy dd{margin:0;font-size:14px;line-height:1.6;color:var(--muted)}
.purpose-figure figcaption{grid-column:1/-1;color:var(--muted);font-size:12px;text-align:center;margin-top:8px}
.contact-page{max-width:1020px}.contact-page .service-intro{max-width:730px}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:start;margin-top:32px}
.direct-contact h2,.contact-action h2{font-size:30px}
.direct-contact>a{display:block;width:fit-content;font-size:19px;margin-bottom:10px;min-height:44px;padding-top:7px}
.direct-contact>.fine{margin-top:18px;color:var(--muted)}
.contact-action{padding:25px;border:1px solid var(--line)}
.contact-action .button{margin:3px 0 16px}
.contact-action .fine{margin-bottom:0}
.contact-prep{border-top:1px solid var(--line);margin-top:38px;padding-top:30px;max-width:72ch}
.contact-prep h2{font-size:30px}
.local-disclosure{font-size:13px;line-height:1.6;color:var(--muted)}
#reference{max-width:800px;margin-inline:auto}
#reference .quick-bite>h2{font-size:27px;margin:0 0 15px}
.etc-garden .etc-garden-lanes .diagram-label{font:700 18px/1.4 Arial,Helvetica,sans-serif;letter-spacing:normal;margin:0 0 16px}
@media(max-width:1050px){.home-closing{gap:26px}.contact-layout{gap:32px}}
@media(max-width:950px){
 .masthead .brand{max-width:calc(100% - 66px)}
 .masthead .brand small{font-size:12px;letter-spacing:.055em;white-space:normal}
 .compact-header.navigation-open .section-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;padding-block:12px 18px;align-items:start}
 .compact-header .nav-primary,.compact-header .nav-secondary{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;margin:0}
 .compact-header .nav-group>div{position:static;min-width:0;width:100%;box-shadow:none;border:0;border-left:1px solid var(--line);padding:0 0 0 13px;margin:0 0 12px}
 .compact-header .nav-group>div a{font-size:13px}
 .compact-header .nav-primary>a,.compact-header .nav-secondary>a,.compact-header .nav-group summary{display:flex;min-height:44px;font-size:14px;white-space:normal}
 .compact-header .nav-group{min-height:44px}
}
@media(max-width:760px){
 .masthead{min-height:72px;padding-block:10px;gap:0 14px}
 .image-hero{display:flex;flex-direction:column;min-height:0}
 .hero-photo>img{object-position:80% 52%}
 .image-hero::after{background:linear-gradient(180deg,#fcfbf8e6 0%,#fcfbf8b3 35%,#fcfbf84d 66%,#fcfbf800 84%,var(--paper) 100%),linear-gradient(90deg,#fcfbf8e6 0%,#fcfbf8bf 38%,#fcfbf866 68%,#fcfbf800 100%)}
 .hero-copy{width:100%;padding:48px 24px 56px}
 .hero-copy h1{font-size:39px;max-width:16ch;line-height:1.11;margin-bottom:19px}
 .hero-copy .eyebrow{font-size:10px;margin-bottom:14px}
 .hero-copy .lead{font-size:17px;line-height:1.6;max-width:37ch;margin-bottom:22px}
 .hero-copy .button{font-size:13px;min-height:48px}
 .hero-copy .hero-caption{font-size:12px;max-width:none}
 .home-offers{padding-block:33px 34px}
 .home-offers h2{font-size:31px;margin-bottom:23px;max-width:22ch}
 .home-offers .service-links h3{font-size:27px}
 .home-offers .service-links>a{padding:19px 0 21px}
 .home-offers .service-links p{font-size:15px}
 .quiet-next{font-size:14px;padding-top:20px}
 .home-closing{display:block;padding-block:32px 40px}.home-closing h2{font-size:31px}.home-closing>.button{margin-top:23px}
 .service-page,.about-page,.contact-page{padding-block:35px 40px}
 .service-intro{margin-bottom:30px}.service-intro h1,.about-page h1{font-size:37px;margin-bottom:21px}
 .service-intro .lead{font-size:17px;line-height:1.65}
 .service-price{font-size:13px;margin-top:20px}
 .service-section{padding-top:28px;margin-top:29px}.service-section h2{font-size:30px}
 .branch-list li{padding-block:9px;font-size:16px}.branch-list li::before{top:10px}
 .price-guide>div{display:block}.price-guide dt{max-width:none;margin-bottom:5px}.price-guide dd{text-align:left}
 .engagement-list article{padding:23px 0}.engagement-list h2{font-size:29px}
 .about-page .founder-photo{float:none;width:145px;margin:0 0 25px}.about-page .founder-intro{margin-bottom:28px}
 .purpose-figure{grid-template-columns:1fr;gap:16px}.purpose-art{max-width:330px;margin-inline:auto;width:100%}.purpose-copy dt{font-size:23px}.purpose-copy dd{font-size:15px}
 .purpose-figure figcaption{text-align:left}
 .contact-layout{grid-template-columns:1fr;gap:26px;margin-top:25px}.contact-action{padding:22px}
 .contact-page .button{font-size:13px;padding-inline:12px}
 .service-next .button{max-width:100%}
}
@media(max-width:360px){.hero-copy{padding-inline:20px}.hero-copy h1{font-size:35px}.masthead .brand small{font-size:11px}.service-intro h1,.about-page h1{font-size:34px}.compact-header.navigation-open .section-nav{column-gap:14px}}
@media(prefers-reduced-motion:reduce){.menu-bars i{transition:none}.nav-accent{animation:none}.image-hero::before{opacity:.18}}
