
:root{--d-reveal:720ms; --y-reveal:16px; --ease-calm:cubic-bezier(.16,1,.3,1)}   .reveal-armed .reveal.in,.reveal-armed .stagger.in > *{transition:opacity var(--d-reveal) var(--ease-calm), transform var(--d-reveal) var(--ease-calm)}
.reveal-armed .stagger.in > *:nth-child(2){transition-delay:90ms}
.reveal-armed .stagger.in > *:nth-child(3){transition-delay:180ms}
.reveal-armed .stagger.in > *:nth-child(4){transition-delay:270ms}
.reveal-armed .stagger.in > *:nth-child(5){transition-delay:360ms}
.reveal-armed .stagger.in > *:nth-child(6){transition-delay:450ms}
.reveal-armed .stagger.in > *:nth-child(7){transition-delay:540ms}
.reveal-armed .stagger.in > *:nth-child(8){transition-delay:630ms}
.btn--fill:hover{transform:none}

.hl{background:linear-gradient(var(--gold),var(--gold)) no-repeat 0 0 / 100% 100%; background-color:transparent}
.dark .hl{color:var(--sage)}                              .hero--c.pre .hl,.phero.pre .hl,.reveal-armed .reveal:not(.in) .hl{background-size:0 100%}
.hero--c.go .hl{background-size:100% 100%; transition:background-size 700ms var(--ease-out) 650ms}
.phero.go .hl{background-size:100% 100%; transition:background-size 700ms var(--ease-out) 420ms}
.reveal-armed .reveal.in .hl{background-size:100% 100%; transition:background-size 700ms var(--ease-out) 300ms}
.reveal-now .hl,.capture .hl,html:not(.js) .hl{background-size:100% 100% !important}
@media (min-width:600px){ .dark .tw{color:var(--tide)} }

.tags{display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:12px 0 0}
.tags li{font:400 15.5px/1 var(--font-sans); padding:9px 16px 10px; border-radius:999px; background:var(--tide); color:var(--sage)}
.tags li:nth-child(even){background:var(--gold)}
.band--tide .tags li,.phero--tide .tags li,.hero--c .tags li{background:var(--ivory)}
.band--tide .tags li:nth-child(even),.phero--tide .tags li:nth-child(even),.hero--c .tags li:nth-child(even){background:var(--gold)}

.close{background:var(--gold); border-top:0; --muted:var(--sage); --sage-soft:var(--sage); --focus:var(--sage)}
.close .eyebrow,.close .lede,.close__hint{color:var(--sage)}
.close__hint a{text-decoration-color:var(--sage)}
.sun--cloud{right:-70px; bottom:-120px; width:280px; height:280px}
@media (max-width:1139px){ .sun--cloud{width:220px; height:220px; right:-110px; bottom:-110px} }
@media (max-width:899px){ .sun--cloud{width:220px; height:220px; right:-110px; bottom:-186px} }
@media (max-width:599px){ .sun--cloud{width:180px; height:180px; right:-64px; bottom:-150px} }   .band:not(.band--tide){background:transparent; border:0}
main > .sec:not(.band--tide):not(.dark):not(.close) + .sec:not(.band--tide):not(.dark):not(.close){border-top:1px solid var(--line)}
.band:not(.band--tide) .mode:not(.mode--screen),.band:not(.band--tide) .place__card:not(.place__card--tide){background:var(--ivory-2)}
.band--tide{--line:rgba(73,74,47,.22); --line-strong:rgba(73,74,47,.36)}
.band--tide .link-more{text-decoration-color:var(--sage)}
.band--tide .mode:not(.mode--screen){background:var(--ivory-2)}
.mode--screen{background:var(--tide); border-color:transparent; --tide-deep:var(--sage)}   .band--tide .mode--screen{background:var(--ivory-2); border:1px solid var(--line)}
.place__card--tide{background:var(--tide)}
.note{background:var(--gold); --muted:var(--sage); --sage-soft:var(--sage); --focus:var(--sage)}
.note p{color:var(--sage)}
.pull--card{background:var(--gold); padding:24px 28px 22px; border-radius:var(--radius); --muted:var(--sage)}
.crise__aside .pull.pull--card{border-top:0; padding-top:24px}
.pull--card cite{color:var(--sage)}

.phero--gold{background:var(--gold); --muted:var(--sage); --sage-soft:var(--sage); --tide-deep:#3f5c64; --focus:var(--sage)}
.phero--gold .crumbs,.phero--gold .crumbs a,.phero--gold .crumbs li[aria-current]{color:var(--sage)}
.phero--gold .crumbs li+li::before{color:rgba(73,74,47,.5)}
.phero--gold .crumbs a{text-decoration:underline; text-decoration-color:rgba(73,74,47,.35); text-underline-offset:3px}
.phero--gold .hl{background-image:linear-gradient(var(--tide),var(--tide))}
.phero--gold .tags li{background:var(--tide)}
.phero--gold .tags li:nth-child(even){background:var(--ivory)}
.close.close--tide{background:var(--tide); --muted:var(--sage); --sage-soft:var(--sage); --tide-deep:#3f5c64; --focus:var(--sage)}
.band--tide .place__card:not(.place__card--tide){background:var(--ivory); border-color:transparent}
.band--tide .coords a{border-bottom-color:var(--sage)}
.band--tide .coords a:hover{border-bottom-color:var(--ivory)}

.phero{min-height:0; padding:40px 0}
@media (min-width:600px){ .phero{padding:56px 0} }
@media (min-width:900px){ .phero{padding:clamp(64px,6vw,88px) 0} }

@media (max-width:599px){
  .hdr__cta{display:inline-flex; padding:0 16px}
  .hdr__cta-more{position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap}
}
@media (max-width:359px){ .hdr__cta{display:none} }

@property --hdr-h{syntax:'<length>'; inherits:true; initial-value:76px}
:root{--hdr-full:76px; --hdr-compact:60px; --subnav-h:57px}
html.hdr-compact{--hdr-h:var(--hdr-compact)}
@media (prefers-reduced-motion:no-preference){ html.hdr-ready{transition:--hdr-h 240ms var(--ease-out)} }
.hdr{margin-bottom:calc(var(--hdr-full) - var(--hdr-h))}
.subnav{top:var(--hdr-full); transform:translateY(calc(var(--hdr-h) - var(--hdr-full)))}
html{scroll-padding-top:calc(var(--hdr-h) + 12px)}
.place,.subnav ~ section{scroll-margin-top:var(--subnav-h)}
.subnav.subnav--out{translate:0 -100%; opacity:0; visibility:hidden; pointer-events:none}
@media (prefers-reduced-motion:no-preference){
  .subnav{transition:translate 240ms var(--ease-out), opacity 240ms var(--ease-out), visibility 0s linear 0s}
  .subnav.subnav--out{transition:translate 240ms var(--ease-out), opacity 240ms var(--ease-out), visibility 0s linear 240ms}
}

.is-pending{outline:1px dashed var(--line-strong); outline-offset:3px; border-radius:4px}
.pending-tag{font-size:.85em; font-style:italic; font-weight:400; color:var(--muted)}
.pending-note{margin-top:2px; font-size:14px; color:var(--sage)}
.note.note--pending{background:transparent; border:1px dashed var(--line-strong)}
.note.note--pending.is-pending,.post-card.is-pending{outline:0; border:1px dashed var(--line-strong)}
.ft .is-pending{outline-color:rgba(247,240,223,.4)}
.ft .pending-tag{color:var(--on-sage-soft)}
.ft__variant{display:inline-block; padding:3px 10px; border:1px solid rgba(247,240,223,.35); border-radius:999px; font-size:12px; letter-spacing:.04em}
.links-page__foot .ft__variant{border-color:var(--line-strong)}

.hero--d{--hc-pb:clamp(36px,4vw,56px); --hc-out:56px; overflow:visible; overflow-x:clip; clip-path:inset(0 0 -240px 0); padding:28px 0 var(--hc-pb)}
.hero--d .hc__pre{margin:0 0 14px; font:700 13.5px/1.3 var(--font-sans); letter-spacing:.07em; text-transform:uppercase; color:var(--sage)}
.hero--d .hc__fn b{font-weight:700}
.hero--d .hc__acts{flex-direction:column; align-items:flex-start; gap:12px}
.hero--d .hc__acts .btn{min-height:48px}
.hero--d .hc__stage{margin-bottom:calc(-1 * (var(--hc-out) + var(--hc-pb)))}   .hero--d + .sec{padding-top:calc(var(--gap-m) + 56px)}
@media (min-width:480px){ .hero--d .hc__acts{flex-direction:row; align-items:center} }
@media (min-width:600px){ .hero--d{padding-top:40px} }
@media (min-width:680px){
  .hero--d{--hc-out:72px}
  .hero--d + .sec{padding-top:calc(var(--gap-m) + 72px)}
  .hero--d .hc__field{
    grid-template-columns:minmax(0,1fr) clamp(280px,32vw,440px);       grid-template-rows:1fr auto auto 1fr;
    grid-template-areas:". stage" "text stage" "meta stage" ". stage";
    justify-content:stretch; column-gap:clamp(36px,5vw,72px);
  }
  .hero--d .hc__stage{align-self:end; width:100%}
}
@media (min-width:900px){ .hero--d{padding-top:clamp(44px,4.4vw,64px)} }
.hero--d.pre .hc__pre{opacity:0; transform:translateY(var(--y-reveal))}
.hero--d.go .hc__pre{opacity:1; transform:none; transition:opacity .6s ease, transform .6s var(--ease-calm)}
.hero--d.pre .hc__stage,.hero--d.go .hc__stage{opacity:1; transform:none; transition:none}
.js.d-clip .hero--d .hc__frame:not(.clip-in),.js.d-clip .about__photo:not(.clip-in){clip-path:inset(100% 0 0 0 round var(--radius))}
.js.d-clip .hero--d .hc__frame.clip-in,.js.d-clip .about__photo.clip-in{clip-path:inset(0 0 0 0 round var(--radius)); transition:clip-path 900ms var(--ease-calm)}
.d-clip-now .clip-in{transition:none !important}
.reveal-now .hc__frame,.reveal-now .about__photo,.capture .hc__frame,.capture .about__photo{clip-path:none !important}
.capture .hero--d .hc__pre,html:not(.js) .hero--d .hc__pre{opacity:1 !important; transform:none !important}

.who__facts{align-content:start}
.who__facts .mini{display:block; margin:0}
.who__facts .tags{margin:10px 0 26px}
.who__training{padding:22px 26px 24px; border:1px solid var(--line-strong); border-radius:var(--radius)}
.dots{display:grid; gap:8px; list-style:none; padding:0; margin:12px 0 16px}
.dots li{position:relative; padding-left:18px; font-size:15.5px; line-height:1.45; color:var(--sage)}
.dots li::before{content:''; position:absolute; left:0; top:.55em; width:6px; height:6px; border-radius:50%; background:var(--tide)}

.ways li::before,.ways > [role="listitem"]::before{content:''; position:absolute; left:0; top:29px; width:10px; height:10px; border-radius:0; background:url(../brand/logo-icon-sun-sage.svg) center / contain no-repeat}
.ways li.is-key::before,.ways > .is-key::before{background:url(../brand/logo-icon-sun-sage.svg) center / contain no-repeat}
.ways__facts{margin-top:8px; font-size:14.5px; line-height:1.5; color:var(--sage)}
@media (min-width:900px){ .crise__aside{top:120px} }
.aside__label{margin:28px 0 0}
.aside__cta{margin-top:24px}
.crise__aside .lede{margin-top:10px}
.creed--light h3.mini{font:700 12px/1.3 var(--font-sans); letter-spacing:.09em; text-transform:uppercase; color:var(--sage)}
@media (min-width:900px){ .place__grid{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr)} }
@media (min-width:600px) and (max-width:899px){ .place__aside{grid-template-columns:minmax(0,1fr); max-width:520px} }
.summary__t{max-width:72ch; font-size:17px; line-height:1.6; color:var(--sage)}
.summary__t .mini{display:block; margin-bottom:8px}

.sun--phero2{display:none}
@media (min-width:900px){
    .sun--phero2{display:block; width:190px; height:190px; left:-76px; bottom:calc(clamp(64px,6vw,88px) - 16px - 190px)}
}
@media (min-width:1440px){ .sun--phero2{left:-86px; bottom:-80px} }   .sun--close2{width:140px; height:140px; left:-70px; top:-82px}
@media (min-width:900px){ .sun--close2{width:220px; height:220px; left:-99px; top:-99px} }
.has-orn{overflow:clip}                               .has-orn > .wrap{position:relative; z-index:1}
.orn{--ow:170px; --vw:102px; --vh:calc(clamp(64px,7vw,104px) - 16px); width:var(--ow); height:var(--ow)}
.orn--tr{top:calc(var(--vh) - var(--ow)); right:calc(var(--vw) - var(--ow))}
.orn--tl{top:calc(var(--vh) - var(--ow)); left:calc(var(--vw) - var(--ow))}
.orn--br{bottom:calc(var(--vh) - var(--ow)); right:calc(var(--vw) - var(--ow))}
.orn--bl{bottom:calc(var(--vh) - var(--ow)); left:calc(var(--vw) - var(--ow))}
.orn--bl,.orn--br{--vh:calc(clamp(64px,7vw,104px) - 22px)}   @media (min-width:1440px){ .orn,.orn--bl,.orn--br{--vw:100px; --vh:100px} }    @media (max-width:899px){ .orn,.orn--bl,.orn--br{--ow:90px; --vw:54px; --vh:44px} .orn--bl,.orn--br{--vh:32px} }
@media (max-width:599px){ .orn{display:none} }
.sep-sun::before{content:''; position:absolute; top:-8px; left:50%; width:46px; height:16px; margin-left:-23px; background:var(--ivory) url(../brand/logo-icon-sun-sage.svg) center / 14px 14px no-repeat; z-index:2}

@keyframes d-spin{to{rotate:360deg}}
@keyframes d-up{from{translate:0 0} to{translate:0 -70px}}
@keyframes d-down{from{translate:0 0} to{translate:0 70px}}
@keyframes d-roll{from{transform:rotate(0deg)} to{transform:rotate(120deg)}}
@keyframes d-lobe{0%,100%{transform:scale(1)} 25%{transform:scale(1.06)} 75%{transform:scale(.92)}}
@keyframes d-drift{0%,100%{transform:translate(0,0) rotate(0deg)} 33%{transform:translate(calc(var(--dx) * 25px),calc(var(--dy) * 8px)) rotate(4deg)} 66%{transform:translate(calc(var(--dx) * 10px),calc(var(--dy) * 25px)) rotate(6deg)}}
svg.sun.cloud{height:auto; aspect-ratio:1 / 1; overflow:visible}
.cloud .cloud__lobe{transform-box:fill-box; transform-origin:center}
.cloud.sun--phero,.cloud.orn--tr{--dx:1; --dy:-1}         .cloud.sun--phero2,.cloud.orn--bl{--dx:-1; --dy:1}
.cloud.sun--cloud,.cloud.orn--br{--dx:1; --dy:1}
.cloud.orn--tl{--dx:-1; --dy:-1}
.reveal-now .cloud,.reveal-now .cloud .cloud__lobe,.capture .cloud,.capture .cloud .cloud__lobe{transform:none !important; animation:none !important; transition:none !important}
@media (prefers-reduced-motion:no-preference){
  .sun[src*="sun"]{animation:d-spin 200s linear infinite}
  .js.d-motion .cloud:not(.cloud-in) .cloud__lobe{transform:scale(.85)}
  .js.d-motion .cloud.cloud-in .cloud__lobe{transform:scale(1); transition:transform 1s var(--ease-calm)}
  .js.d-motion .cloud.cloud-live .cloud__lobe{animation:d-lobe 8s ease-in-out infinite; animation-delay:calc(8s * var(--i) / var(--n))}
  .js.d-motion .cloud{--drift:paused}                                .js.d-motion .cloud.cloud-live{--drift:running}
  .js.d-motion .cloud.cloud-live{animation:d-drift 24s ease-in-out infinite}     @supports (animation-timeline: view()){
    [data-hero] .sun--phero[src*="sun"]{animation:d-spin 200s linear infinite, d-up linear both, d-roll linear both; animation-timeline:auto, view(), view(); animation-range:normal, exit 0% exit 100%, exit 0% exit 100%}
    [data-hero] .sun--phero2[src*="sun"]{animation:d-spin 200s linear infinite, d-down linear both, d-roll linear both; animation-timeline:auto, view(), view(); animation-range:normal, exit 0% exit 100%, exit 0% exit 100%}
    .sun--close2,.orn--tr[src*="sun"],.orn--tl[src*="sun"]{animation:d-spin 200s linear infinite, d-up linear both, d-roll linear both; animation-timeline:auto, view(), view(); animation-range:normal, cover 50% cover 100%, cover 0% cover 100%}
    .orn--br[src*="sun"],.orn--bl[src*="sun"]{animation:d-spin 200s linear infinite, d-down linear both, d-roll linear both; animation-timeline:auto, view(), view(); animation-range:normal, cover 50% cover 100%, cover 0% cover 100%}
        .js.d-motion [data-hero] .sun--phero.cloud{animation:d-drift 24s ease-in-out infinite, d-up linear both; animation-play-state:var(--drift), running; animation-timeline:auto, scroll(root); animation-range:normal, 0px 600px}
    .js.d-motion [data-hero] .sun--phero2.cloud{animation:d-drift 24s ease-in-out infinite, d-down linear both; animation-play-state:var(--drift), running; animation-timeline:auto, scroll(root); animation-range:normal, 0px 600px}
    .js.d-motion .orn--tr.cloud,.js.d-motion .orn--tl.cloud{animation:d-drift 24s ease-in-out infinite, d-up linear both; animation-play-state:var(--drift), running; animation-timeline:auto, view(); animation-range:normal, cover 50% cover 100%}
    .js.d-motion .sun--cloud.cloud,.js.d-motion .orn--br.cloud,.js.d-motion .orn--bl.cloud{animation:d-drift 24s ease-in-out infinite, d-down linear both; animation-play-state:var(--drift), running; animation-timeline:auto, view(); animation-range:normal, cover 50% cover 100%}
  }
    @view-transition{navigation:auto}
  ::view-transition-old(root),::view-transition-new(root){animation-duration:280ms}
  .hdr{view-transition-name:hdr}
}

.post-cover{display:grid; place-items:center; border-radius:16px; overflow:hidden}
.post-cover img{display:block; height:auto}
.post-cover--ivory{background:var(--ivory-2); box-shadow:inset 0 0 0 1px var(--line)}
.post-cover--tide{background:var(--tide)}
.post-cover--gold{background:var(--gold)}
.post-hero{--phero-min:0px; min-height:0}
.post-hero .wrap.post{position:relative; z-index:1}
.post-hero .post-meta{display:flex; flex-wrap:wrap; gap:6px 14px; margin-top:16px}
.post-hero .eyebrow{margin:18px 0 10px}
.posts-pending{max-width:820px; margin:0 0 20px}
.post-card__cat{font:500 13px/1.4 var(--font-sans); color:var(--muted); letter-spacing:.01em}
.posts--list .post-card--cover{grid-template-columns:72px minmax(0,1fr); column-gap:18px; row-gap:6px; align-items:start}
.posts--list .post-card--cover > :not(.post-cover){grid-column:2}
.posts--list .post-card--cover .post-cover{grid-row:1 / span 4; width:72px; aspect-ratio:1; margin-top:2px}
.posts--list .post-card--cover .post-cover img{width:62%}
@media (min-width:760px){
  .posts--list .post-card--cover{grid-template-columns:170px minmax(0,1fr); column-gap:32px}
  .posts--list .post-card--cover .post-cover{width:170px; aspect-ratio:4 / 3; margin-top:0}
  .posts--list .post-card--cover .post-cover img{width:44%}
}

@media (max-width:899px){
    .phero{padding-bottom:calc(clamp(40px,4vw,56px) + 32px)}
    .phero{padding-top:72px}
  .phero .sun--phero{width:132px; height:132px; top:-54px; right:-54px}                  .phero img.sun--phero{translate:none !important}                                        .phero .crumbs{padding-right:92px}                                                     .sun--phero2{display:block; width:120px; height:120px; left:-14px; bottom:-70px}         .phero.pre .phero__in > *{transform:none}
    .hero--d .hc__sun{display:block; width:128px; height:128px; top:10px; right:-74px}
  .hero--d .hc__pre,.hero--d .hc__t{padding-right:56px}
  .hero--d .sun--home2{display:block; width:120px; height:120px; left:-14px; bottom:-70px}
  .hero--c.pre .hc__id,.hero--c.pre .hc__fn,.hero--c.pre .hc__acts,.hero--c.pre .hc__meta{transform:none}
    .orn,.orn--bl,.orn--br{display:block; --ow:100px; --vw:94px; --vh:38px}                    .orn{translate:none !important}                         .has-orn,.close{--y-reveal:0px}
    .sec.close{padding-bottom:calc(var(--gap-m) + 24px)}
  .sun--close2{width:140px; height:140px; left:-16px; top:-92px}                             .sun--cloud{width:120px; height:120px; right:-22px; bottom:-70px}                       }
@media (max-width:679px){
  .hero--d{--hc-pb:82px}
  .hero--d .hc__stage{margin-bottom:0}
  .hero--d{clip-path:inset(0)}                                                            .hero--d + .sec{padding-top:var(--gap-m)}
}
@media (min-width:680px) and (max-width:899px){
  .hero--d{--hc-pb:calc(clamp(36px,4vw,56px) + 32px);
    --hc-x:calc(100% - 32px - clamp(280px,32vw,440px));                                     clip-path:polygon(0 0,100% 0,100% calc(100% + 240px),var(--hc-x) calc(100% + 240px),var(--hc-x) 100%,0 100%)}
}
@media (max-width:399px){ .sun--close2{width:124px; height:124px; left:-27px; top:-76px} }   .sun--home2{display:none}
.cloud.sun--home2{--dx:-1; --dy:1}

@media print{ .is-pending,.pending-tag,.ft__variant{display:none !important} .close{background:#fff !important} }

:root{
  --gold-2:#e6d27a;                                       --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .29 0 0 0 0 .29 0 0 0 0 .18 0 0 0 .085 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
body,.band,.band--tide,.phero,.hero--d,.close,.band--gold{background-image:var(--grain)}
.band.band--gold{background-color:var(--gold); background-image:var(--grain); border:0; --muted:var(--sage); --sage-soft:var(--sage); --tide-deep:#3f5c64; --focus:var(--sage)}
@media print{ body,.band,.band--tide,.phero,.hero--d,.close,.band--gold{background-image:none} }

.btn--gold{background:var(--gold); color:var(--sage); border-color:transparent}
.btn--gold:hover{background:var(--gold-2); transform:translateY(-1px)}
.btn--gold:hover .btn__ic{transform:translateX(3px)}
.opener .btn-row{margin-top:22px}

.hl-under{background:linear-gradient(transparent 60%, var(--gold) 60% 92%, transparent 92%); padding:0 .08em; -webkit-box-decoration-break:clone; box-decoration-break:clone; color:var(--sage)}

.igline{display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:14px; margin:0;
  font:600 11px/1 var(--font-sans); letter-spacing:.18em; text-transform:uppercase; color:var(--sage)}
.igline > span:last-child{text-align:right}
.igline__sun{width:24px; height:24px; background:currentColor;
  -webkit-mask:url(../brand/logo-icon-sun-sage.svg) center / contain no-repeat; mask:url(../brand/logo-icon-sun-sage.svg) center / contain no-repeat}
.igline--light{color:var(--ivory)}

.hc__slide{position:absolute; inset:0; display:block; opacity:0; transition:opacity 1.6s var(--ease-io)}
.hc__slide.is-on{opacity:1}
.hero--d .hc__frame .hc__slide img{transform:none; object-position:50% 40%}
.hero--d .hc__frame{isolation:isolate}
.hc__pause{position:absolute; right:12px; bottom:12px; z-index:2; display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; padding:0; border:0; border-radius:50%; background:rgba(247,240,223,.9); color:var(--sage); cursor:pointer;
  box-shadow:0 4px 14px -6px rgba(73,74,47,.45); transition:background-color var(--d-micro) var(--ease-io)}
.hc__pause:hover{background:var(--ivory)}
.hc__pause:focus-visible{outline:3px solid var(--sage); outline-offset:2px}
.hc__pause svg{fill:currentColor}
.hc__pause .hc__play-i,.hc__pause[aria-pressed="true"] .hc__pause-i{display:none}
.hc__pause[aria-pressed="true"] .hc__play-i{display:inline}
.hc__pending{margin-top:18px}

.photo-band{position:relative; overflow:clip; isolation:isolate; display:grid; min-height:clamp(440px,48vw,660px); color:var(--ivory); background:var(--sage)}
.photo-band__img,.photo-band__img img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block}
.photo-band__img{z-index:-2}
.photo-band::after{content:''; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(90deg, rgba(38,39,24,.72) 0%, rgba(38,39,24,.45) 38%, rgba(38,39,24,0) 66%),
             linear-gradient(0deg, rgba(38,39,24,.42) 0%, rgba(38,39,24,0) 38%),
             linear-gradient(180deg, rgba(38,39,24,.5) 0%, rgba(38,39,24,0) 26%)}
.photo-band__in{display:grid; grid-template-rows:auto 1fr; padding-block:clamp(28px,4vw,48px) clamp(44px,6vw,88px)}
.photo-band__t{align-self:end; margin:0}
.photo-band__lead{display:block; max-width:24ch; font:400 clamp(20px,1vw + 14px,28px)/1.3 var(--font-sans); letter-spacing:-.01em; margin-bottom:6px}
.photo-band__script{display:block; font-family:var(--font-script); font-weight:var(--script-weight); font-size:clamp(56px,5.6vw + 18px,112px); line-height:1; letter-spacing:var(--script-track)}
@media (max-width:679px){
  .photo-band{min-height:min(560px,128vw)}
  .photo-band::after{background:linear-gradient(0deg, rgba(38,39,24,.8) 0%, rgba(38,39,24,.4) 42%, rgba(38,39,24,0) 64%),
                                linear-gradient(180deg, rgba(38,39,24,.4) 0%, rgba(38,39,24,0) 24%)}
  .photo-band__img img{object-position:50% 30%}
}

.mode--img .mode__img{margin:calc(-1 * var(--pad-card)) calc(-1 * var(--pad-card)) 4px; aspect-ratio:16/10; overflow:clip; border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0; background:var(--tide-tint)}
.mode--img .mode__img img{width:100%; height:100%; object-fit:cover; display:block}

.about__photo img[src*="angelica-morais-sobre"]{transform:none; object-position:50% 40%}
.letter{display:grid; justify-items:center; gap:clamp(28px,4vw,44px)}
.letter__head{text-align:center}
.letter__head .eyebrow{margin-bottom:10px}
.letter__paper{position:relative; margin:0; width:min(100%, 780px); padding:clamp(26px,4.4vw,60px) clamp(22px,6vw,76px) clamp(30px,4vw,52px);
  background-color:var(--ivory); background-image:var(--grain); border-radius:6px; rotate:-.5deg;
  box-shadow:0 2px 0 rgba(73,74,47,.05), 0 24px 48px -24px rgba(73,74,47,.42)}
.letter__paper .igline{padding-bottom:18px; margin-bottom:clamp(26px,3.6vw,40px); border-bottom:1px solid var(--line)}
.letter__q{position:absolute; left:clamp(6px,2.4vw,30px); top:clamp(54px,6vw,86px); font:400 clamp(64px,7vw,104px)/1 var(--font-script); color:var(--tide); pointer-events:none}
.letter__body{margin:0; font-size:17px; line-height:1.72; color:var(--sage)}
.letter__body p{margin:0 0 1.05em}
.letter__body p:first-child{font-family:var(--font-script); font-size:clamp(28px,1.4vw + 20px,38px); line-height:1.1; margin-bottom:.55em}
.letter__sign{margin-top:14px; text-align:right; font-family:var(--font-script); font-size:clamp(26px,1.4vw + 18px,36px); line-height:1.1; color:var(--sage)}
.reveal-armed .letter__paper.reveal:not(.in){transform:translateY(36px) rotate(1.2deg)}
.reveal-armed .letter__paper.reveal.in{transition:opacity 900ms var(--ease-calm), transform 1100ms var(--ease-calm)}
.approach{margin-bottom:var(--stack); max-width:none}
.approach p{max-width:68ch}

.subnav--svc a{font-size:13.5px; padding:0 14px}
.svc{scroll-margin-top:calc(var(--hdr-full) + 64px)}
.svc__lead{margin-top:16px; max-width:62ch; font-size:17px; line-height:1.65; color:var(--sage)}
.svc__grid{display:grid; gap:28px}
@media (min-width:900px){ .svc__grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(44px,6vw,96px); align-items:start} }
.svc__t{display:flex; align-items:center; gap:12px; margin:0 0 14px; font:600 clamp(23px,1vw + 16px,30px)/1.18 var(--font-sans); letter-spacing:-.02em; color:var(--sage)}
.svc__t::before{content:''; flex:none; width:16px; height:16px; background:url(../brand/logo-icon-sun-sage.svg) center / contain no-repeat}
.svc__p{max-width:56ch; font-size:17px; line-height:1.65; color:var(--sage-soft)}
.svc__intro .ways__facts{margin-top:14px}
.svc__photo{margin:26px 0 0; aspect-ratio:5/4; max-width:520px; overflow:clip; border-radius:var(--radius); background:var(--tide-tint)}
.svc__photo--tall{aspect-ratio:4/5; max-width:340px}
.svc__photo img{width:100%; height:100%; object-fit:cover; display:block}
.svc__ages{display:grid; border-top:1px solid var(--line)}
.svc__ages > div{padding:22px 0; border-bottom:1px solid var(--line)}
.svc__ages h4,.svc__three h3{margin:0 0 8px; font:600 19px/1.3 var(--font-sans); letter-spacing:-.01em; color:var(--sage)}
.svc__ages p,.svc__three p{font-size:16.5px; line-height:1.65; color:var(--sage-soft); max-width:62ch}
.svc__dl{margin:0; display:grid; border-top:1px solid var(--line)}
.svc__dl > div{display:grid; gap:6px; padding:18px 0; border-bottom:1px solid var(--line)}
@media (min-width:640px){ .svc__dl > div{grid-template-columns:170px minmax(0,1fr); gap:24px} }
.svc__dl dt{font:700 12px/1.5 var(--font-sans); letter-spacing:.08em; text-transform:uppercase; color:var(--sage)}
.svc__dl dd{margin:0; font-size:16.5px; line-height:1.6; color:var(--sage-soft)}
.svc__dl ul{margin:0; padding:0; list-style:none}
.svc__dl li{position:relative; padding-left:20px; margin-bottom:6px}
.svc__dl li:last-child{margin-bottom:0}
.svc__dl li{text-align:left; -webkit-hyphens:manual; hyphens:manual}
.svc__dl li::before{content:''; position:absolute; left:0; top:.55em; width:9px; height:9px; background:url(../brand/logo-icon-sun-sage.svg) center / contain no-repeat}
.svc__note{margin-top:18px; font-size:16.5px; line-height:1.6; color:var(--sage)}
.svc__three{display:grid; gap:28px}
@media (min-width:900px){ .svc__three{grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(32px,4vw,56px)} }
.svc__three > div{padding-top:22px; border-top:1px solid var(--line)}
.svc__three h3{display:flex; align-items:center; gap:10px; font-size:21px}
.svc__three h3::before{content:''; flex:none; width:14px; height:14px; background:url(../brand/logo-icon-sun-sage.svg) center / contain no-repeat}
.svc--trio{padding-top:var(--gap-m)}

.place__pic{margin:0; aspect-ratio:5/4; overflow:clip; border-radius:var(--radius); background:var(--tide-tint)}
.place__pic img{width:100%; height:100%; object-fit:cover; display:block}
.online-book{margin:4px 0 12px; font-size:15.5px; line-height:1.55; color:var(--sage)}
.reviews__score{margin-top:12px; font-size:17px; color:var(--sage)}
.stars{color:var(--sage); letter-spacing:.14em; white-space:nowrap}
.reviews__list{display:grid; gap:16px; margin:0; padding:0; list-style:none}
@media (min-width:700px){ .reviews__list{grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px} }
@media (min-width:1100px){ .reviews__list{grid-template-columns:repeat(3,minmax(0,1fr))} }
.reviews__list > li{display:flex}
.review{position:relative; flex:1; margin:0; display:flex; flex-direction:column; gap:18px; padding:clamp(24px,2.4vw,30px);
  background-color:var(--ivory); background-image:var(--grain); border-radius:var(--radius); box-shadow:0 18px 36px -26px rgba(73,74,47,.5)}
.review::before{content:'\201C'; font:400 64px/.6 var(--font-script); color:var(--tide); height:22px}
.review blockquote{flex:1; margin:0; font-size:16.5px; line-height:1.6; color:var(--sage)}
.review figcaption{display:flex; align-items:center; gap:10px; font:600 14.5px/1.3 var(--font-sans); color:var(--sage)}
.review .stars{font-size:13px}
.reviews__more{margin-top:var(--stack)}
.reviews .pending-note{margin-top:14px}

.np-sec{padding:var(--gap-s) 0 0}
.np{display:flex; flex-wrap:wrap; align-items:center; gap:12px 16px; max-width:880px; padding:18px 22px; border-radius:var(--radius); background:var(--tide-tint)}
.np__dot{flex:none; width:12px; height:12px; border-radius:50%; background:var(--sage); box-shadow:0 0 0 5px rgba(73,74,47,.14)}
.np__msg{flex:1 1 300px; margin:0; font-size:16.5px; line-height:1.5; color:var(--sage)}
.np.is-closed{background:var(--gold)}
.np.is-closed .np__dot{background:transparent; border:2px solid var(--sage); box-shadow:none}
.np-sec + .sec{padding-top:var(--gap-m)}
.np-sec .pending-note{margin-top:10px}
.urgent-note{margin-top:16px; max-width:640px; padding:14px 18px; border-radius:12px; background:var(--gold); font-size:16.5px; line-height:1.5; color:var(--sage)}
.urgent-note a{color:var(--sage)}
.np [hidden]{display:none !important}

.prose p,.faq__a p,.svc__p,.svc__lead,.svc__ages p,.svc__dl dd,.svc__three p,.letter__body p:not(:first-child),
.steps p,.note p,.summary__t,.after,.post__body p{
  text-align:justify; -webkit-hyphens:auto; hyphens:auto; hyphenate-limit-chars:7 3 3; text-wrap:pretty}
.opener--mid .lede,.close .lede,.close__hint,.hc__fn,.links-page .lede,.letter__head,.photo-band__t{text-align:inherit; -webkit-hyphens:manual; hyphens:manual}
.close .lede,.opener--mid .lede{text-align:center}
@media (min-width:600px){ .lede:not(.opener--mid .lede):not(.close .lede):not(.links-page .lede){text-align:justify; -webkit-hyphens:auto; hyphens:auto; hyphenate-limit-chars:7 3 3} }
.hc__fn{text-align:left}

.tags--split::after{content:''; order:1; flex-basis:100%; height:0}
.tags--split li:nth-child(n+4){order:2}
.tags--split{row-gap:0}
.tags--split li:nth-child(-n+3){margin-bottom:8px}
.coords li{align-content:start}
.coords a.coords__wa{border-bottom:0; padding-block:3px 2px}
.coords__wa-t{text-decoration:underline 2px var(--sage); text-underline-offset:8px; line-height:1.85}
.coords a.coords__wa:hover .coords__wa-t{text-decoration-color:var(--ivory)}
.posts.posts--ig{display:grid; grid-template-columns:minmax(0,1fr); gap:44px 24px; max-width:none; border:0}
@media (min-width:640px){ .posts.posts--ig{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (min-width:1000px){ .posts.posts--ig{grid-template-columns:repeat(3,minmax(0,1fr)); gap:52px 28px} }
.posts--ig .post-card{gap:8px; padding:0; background:none; border:0; border-radius:0}
.posts--ig .post-card h2 a::after{border-radius:18px}
.posts--ig .post-card p:not(.post-card__cat){max-width:46ch}
.post-cover.post-cover--photo{position:relative; isolation:isolate; display:grid; grid-template-rows:auto 1fr; place-items:stretch;
  aspect-ratio:4/5; margin-bottom:10px; padding:14px 16px 18px; border-radius:18px; color:var(--ivory); background:var(--sage)}
.post-cover--photo img{position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; transition:transform .9s var(--ease-calm)}
.post-cover--photo::after{content:''; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(180deg, rgba(38,39,24,.5) 0%, rgba(38,39,24,0) 24%),
             linear-gradient(0deg, rgba(38,39,24,.8) 0%, rgba(38,39,24,.42) 32%, rgba(38,39,24,0) 56%)}
.post-cover--top::after{background:linear-gradient(180deg, rgba(38,39,24,.74) 0%, rgba(38,39,24,.42) 34%, rgba(38,39,24,0) 60%)}
.post-cover--photo .igline{align-self:start; gap:8px; font-size:8.5px; letter-spacing:.17em}
.post-cover--photo .igline__sun{width:16px; height:16px}
.post-cover__t{align-self:end; margin:0}
.post-cover--top .post-cover__t{align-self:start; margin-top:20px}
.posts--ig .post-card .post-cover--photo p{color:var(--ivory); max-width:none}
.post-cover__lead{display:block; max-width:19ch; text-wrap:balance; font:400 clamp(17px,.9vw + 11px,21px)/1.28 var(--font-sans); letter-spacing:-.01em}
.post-cover__script{display:block; margin-top:2px; font-family:var(--font-script); font-weight:var(--script-weight); letter-spacing:var(--script-track);
  font-size:clamp(46px,2.6vw + 26px,64px); line-height:1}
.post-cover__nw{white-space:nowrap}
.post-cover__pill{display:inline-block; padding:.04em .42em .1em; border-radius:999px; background:var(--gold); color:var(--sage); line-height:1.15}
@media (hover:hover) and (pointer:fine){ .posts--ig .post-card:hover .post-cover--photo img{transform:scale(1.035)} }
@media (prefers-reduced-motion:reduce){ .post-cover--photo img{transition:none} }
.posts-pending + .posts-pending{margin-top:-12px}
.post__refs{padding-left:18px}
.post__body .post__refs li{font-size:14.5px; line-height:1.55; overflow-wrap:anywhere}

.sep-sun{border-top-color:transparent}
.sep-sun::before{background:url(../brand/logo-icon-sun-sage.svg) center / 14px 14px no-repeat}
.sep-sun::after{content:''; position:absolute; top:-1px; left:0; right:0; height:1px; pointer-events:none;
  background:linear-gradient(90deg, var(--line) calc(50% - 21px), transparent calc(50% - 21px), transparent calc(50% + 21px), var(--line) calc(50% + 21px))}
.hc__pause[hidden]{display:none}
.hc__slide{transition:opacity .8s var(--ease-io)}
.hc__slide.is-on{transition:opacity 1.1s var(--ease-io) .65s}
.photo-band::after{
  background:linear-gradient(90deg, rgba(38,39,24,.82) 0%, rgba(38,39,24,.68) 46%, rgba(38,39,24,.2) 66%, rgba(38,39,24,0) 80%),
             linear-gradient(0deg, rgba(38,39,24,.6) 0%, rgba(38,39,24,0) 46%),
             linear-gradient(180deg, rgba(38,39,24,.72) 0%, rgba(38,39,24,0) 30%)}
.photo-band__lead,.photo-band__script{text-shadow:0 1px 2px rgba(38,39,24,.35), 0 2px 24px rgba(38,39,24,.5)}
.photo-band .igline{text-shadow:0 1px 10px rgba(38,39,24,.55)}
@media (max-width:679px){
  .photo-band::after{background:linear-gradient(0deg, rgba(38,39,24,.9) 0%, rgba(38,39,24,.66) 40%, rgba(38,39,24,0) 72%),
                                linear-gradient(180deg, rgba(38,39,24,.82) 0%, rgba(38,39,24,.42) 18%, rgba(38,39,24,0) 34%)}
}
.letter__paper{rotate:0deg; isolation:isolate; background:none; box-shadow:none}
.letter__paper::before{content:''; position:absolute; inset:0; z-index:-1; border-radius:6px; rotate:-.5deg;
  background-color:var(--ivory); background-image:var(--grain);
  box-shadow:0 2px 0 rgba(73,74,47,.05), 0 24px 48px -24px rgba(73,74,47,.42)}
.tags--links li{padding:0}
.tags--links a{display:block; padding:9px 16px 10px; border-radius:999px; color:var(--sage); text-decoration:none;
  transition:box-shadow var(--d-micro) var(--ease-io)}
.tags--links a:hover{box-shadow:inset 0 0 0 1.5px var(--sage)}
.tags--links a:focus-visible{outline:2px solid var(--focus); outline-offset:2px}
.reviews--home__in{display:grid; gap:clamp(24px,3vw,44px)}
@media (min-width:1000px){ .reviews--home__in{grid-template-columns:minmax(0,5fr) minmax(0,7fr); align-items:center} }
.reviews--home .reviews__more{margin-top:18px}
.reviews__list.reviews__list--two{grid-template-columns:minmax(0,1fr)}
@media (min-width:700px){ .reviews__list.reviews__list--two{grid-template-columns:repeat(2,minmax(0,1fr))} }
.crumbs a{display:inline-block; padding-block:6px; margin-block:-6px}
.ft li{padding:2px 0}
.ft li a{padding:8px 0}
.coords a + a{margin-top:4px}
.pull p{line-height:1.34}
.np__dot{width:20px; height:20px; border-radius:0; background:var(--sage); box-shadow:none;
  -webkit-mask:url(../brand/logo-icon-sun-sage.svg) center / contain no-repeat; mask:url(../brand/logo-icon-sun-sage.svg) center / contain no-repeat}
.np.is-closed .np__dot{background:var(--sage-soft); border:0; opacity:.55}


.page-links{background-color:var(--ivory); background-image:var(--grain)}
.lk{position:relative; min-height:100dvh; overflow:clip; padding:clamp(20px,4vw,48px) 16px 40px}
.lk__sun,.lk__sun2{position:absolute; width:clamp(150px,22vw,300px); pointer-events:none}
.lk__sun{top:calc(clamp(150px,22vw,300px) / -2.4); right:calc(clamp(150px,22vw,300px) / -2.6)}
.lk__sun2{bottom:calc(clamp(150px,22vw,300px) / -2.6); left:calc(clamp(150px,22vw,300px) / -2.4)}
@media (max-width:599px){ .lk__sun{width:120px; top:-56px; right:-54px} .lk__sun2{display:none} }
.lk__col{position:relative; z-index:1; width:min(100%,440px); margin-inline:auto; display:grid; gap:22px}
.lk__head{display:grid; justify-items:center; text-align:center; gap:6px}
.lk__cover.post-cover--photo{width:100%; aspect-ratio:4/5; max-height:min(68vh,520px); margin:0 0 14px; border-radius:22px;
  box-shadow:0 22px 44px -26px rgba(73,74,47,.55); text-align:left}
.lk__cover img{object-position:50% 30%}
.lk__cover .post-cover__lead{font-size:clamp(18px,4.6vw,21px)}
.lk__cover .post-cover__script{font-size:clamp(52px,14vw,68px)}
.lk__name{font-family:var(--font-script); font-weight:var(--script-weight); font-size:clamp(40px,10vw,52px); line-height:1.05; color:var(--sage)}
.lk__role{font:500 16px/1.4 var(--font-sans); color:var(--sage)}
.lk__langs{display:flex; gap:8px; justify-content:center; font:600 11px/1 var(--font-sans); letter-spacing:.16em; text-transform:uppercase; color:var(--sage-soft)}
.np--lk{padding:12px 16px; justify-content:center; text-align:center; gap:8px 12px; background:var(--tide-tint)}
.np--lk .np__msg{flex:0 1 auto; font-size:15px}
.lk__nav{display:grid; gap:10px}
.lk__label{margin-top:8px; font:700 11px/1 var(--font-sans); letter-spacing:.16em; text-transform:uppercase; color:var(--sage-soft)}
.lk__list{display:grid; gap:10px; margin:0; padding:0; list-style:none}
.lk__btn{display:flex; align-items:center; gap:14px; min-height:56px; padding:12px 18px; border-radius:16px; text-decoration:none; color:var(--sage);
  background:color-mix(in srgb, var(--ivory) 70%, #fff); border:1px solid var(--line); text-align:left;
  transition:background-color var(--d-micro) var(--ease-io), border-color var(--d-micro) var(--ease-io), transform var(--d-micro) var(--ease-io)}
.lk__btn > svg{width:20px; height:20px; flex:none}
.lk__t{flex:1; display:grid; gap:2px; font:600 16px/1.3 var(--font-sans)}
.lk__t small{font:400 13.5px/1.35 var(--font-sans); opacity:.8}
.lk__btn .lk__go{width:18px; height:18px; opacity:.7; transition:transform var(--d-micro) var(--ease-io)}
.lk__btn--main{background:var(--sage); color:var(--on-sage); border-color:var(--sage)}
.lk__btn--gold{background:var(--gold); border-color:var(--gold)}
@media (hover:hover) and (pointer:fine){
  .lk__btn:hover{border-color:var(--sage); transform:translateY(-1px)}
  .lk__btn--main:hover{background:var(--sage-2)}
  .lk__btn--gold:hover{background:var(--gold-2)}
  .lk__btn:hover .lk__go{transform:translateX(3px)}
}
.lk__btn:focus-visible{outline:2px solid var(--focus); outline-offset:3px}
.lk__social{display:flex; justify-content:center; gap:12px; margin:6px 0 0; padding:0; list-style:none}
.lk__social a{display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius:50%; color:var(--sage);
  border:1px solid var(--line-strong); transition:background-color var(--d-micro) var(--ease-io)}
.lk__social a:hover{background:var(--tide-tint)}
.lk__social svg{width:20px; height:20px}
.lk__pending{text-align:center}
.lk__foot{display:grid; justify-items:center; gap:8px; margin-top:12px; padding-top:22px; border-top:1px solid var(--line); text-align:center; font-size:13.5px; color:var(--muted)}
.lk__foot img{width:150px; height:auto; margin-bottom:4px}
.lk__foot a{color:var(--sage-soft)}
@media (prefers-reduced-motion:reduce){ .lk__btn,.lk__btn .lk__go{transition:none} }
.eb__flag{max-width:880px; margin:0 0 clamp(24px,3vw,36px); padding:12px 18px; border-radius:var(--radius); background:var(--tide-tint); font-size:15px; color:var(--sage)}
.eb__grid{display:grid; gap:clamp(28px,4vw,48px)}
@media (min-width:900px){ .eb__grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
.eb__card{display:grid; gap:20px; align-content:start}
@media (min-width:600px) and (max-width:899px){ .eb__card{grid-template-columns:minmax(0,5fr) minmax(0,7fr); align-items:start} }
.eb__cover.post-cover--photo{margin:0; max-width:420px}
.eb__body{display:grid; gap:10px; align-content:start}
.eb__tag{justify-self:start; padding:5px 12px 6px; border-radius:999px; background:var(--tide); font:600 12px/1 var(--font-sans); letter-spacing:.08em; text-transform:uppercase; color:var(--sage)}
.eb__tag--free{background:var(--gold)}
.eb__title{font:600 clamp(22px,1.2vw + 16px,28px)/1.2 var(--font-sans); letter-spacing:-.015em; color:var(--sage)}
.eb__desc{font-size:16.5px; line-height:1.6; color:var(--sage-soft); max-width:46ch}
.eb__form{display:grid; gap:12px; margin-top:6px; max-width:420px}
.eb__field{display:grid; gap:6px; font:600 14px/1.2 var(--font-sans); color:var(--sage)}
.eb__field input{min-height:48px; padding:10px 14px; border:1px solid var(--line-strong); border-radius:12px; background:color-mix(in srgb, var(--ivory) 60%, #fff); font:400 16px/1.3 var(--font-sans); color:var(--sage)}
.eb__check{display:flex; gap:10px; align-items:flex-start; font-size:14.5px; line-height:1.45; color:var(--sage-soft)}
.eb__check input{width:20px; height:20px; margin-top:1px; flex:none; accent-color:var(--sage)}
.eb__form .btn,.eb__body > .btn{justify-self:start}
.eb__form [disabled],.eb__body > .btn[disabled]{cursor:not-allowed}
.eb__body > .btn[disabled],.eb__form .btn[disabled]{opacity:.75}
.eb__price{display:grid; gap:2px; font-size:15px; color:var(--sage-soft)}
.eb__price b{font:600 20px/1.3 var(--font-sans); color:var(--sage)}
.eb__note{font-size:13.5px; line-height:1.5; color:var(--muted); max-width:46ch}
.eb__steps{display:grid; gap:14px; margin:0; padding:0; list-style:none; counter-reset:eb}
@media (min-width:900px){ .eb__steps{grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px} }
.eb__steps li{counter-increment:eb; position:relative; padding:22px 22px 22px 64px; border-radius:var(--radius); background:var(--ivory); background-image:var(--grain); font-size:16px; line-height:1.55; color:var(--sage)}
.eb__steps li::before{content:counter(eb); position:absolute; left:20px; top:18px; font:400 34px/1 var(--font-script); color:var(--sage)}
.eb__steps b{display:block; margin-bottom:2px}
.eb__foot{margin-top:var(--stack)}

.shop-demo{margin:0; padding:9px 16px; text-align:center; font-size:13.5px; line-height:1.4; color:var(--sage); background:var(--gold)}
.shopbar{position:sticky; top:var(--hdr-h,64px); z-index:20; border-bottom:1px solid var(--line); background:color-mix(in srgb, var(--ivory) 92%, transparent); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px)}
.shopbar__in{display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:56px}
.shopbar__home{font:600 14px/1 var(--font-sans); letter-spacing:.06em; text-transform:uppercase; color:var(--sage); text-decoration:none}
.shopbar__cart{display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 14px; border:1px solid var(--line-strong); border-radius:999px;
  background:transparent; color:var(--sage); font:600 14.5px/1 var(--font-sans); cursor:pointer}
.shopbar__cart:hover{background:var(--tide-tint)}
.shopbar__cart svg{width:20px; height:20px}
.shopbar__count{display:inline-grid; place-items:center; min-width:22px; height:22px; padding:0 6px; border-radius:999px; background:var(--sage); color:var(--on-sage); font-size:12.5px}
.shop-notice{margin:16px 0 0; padding:12px 16px; border-left:3px solid var(--sage); border-radius:6px; background:var(--tide-tint); font-size:15px; color:var(--sage)}
.cart{position:fixed; inset:0 0 0 auto; margin:0; width:min(420px,100vw); max-width:100vw; height:100dvh; max-height:none; padding:0; border:0;
  display:none; flex-direction:column; background:var(--ivory); background-image:var(--grain); color:var(--sage); box-shadow:-24px 0 48px -24px rgba(38,39,24,.45)}
.cart[open]{display:flex}
.cart::backdrop{background:rgba(38,39,24,.45)}
.cart__head{display:flex; align-items:center; justify-content:space-between; padding:18px 20px; border-bottom:1px solid var(--line)}
.cart__t{font:600 20px/1.2 var(--font-sans)}
.cart__x{display:inline-grid; place-items:center; width:44px; height:44px; border:0; border-radius:50%; background:transparent; color:var(--sage); cursor:pointer}
.cart__x:hover{background:var(--tide-tint)}
.cart__x svg{width:20px; height:20px}
.cart__list{flex:1; overflow:auto; margin:0; padding:8px 20px; list-style:none}
.cart__item{display:grid; grid-template-columns:56px 1fr auto; gap:14px; align-items:center; padding:14px 0; border-bottom:1px solid var(--line)}
.cart__item img{width:56px; height:70px; object-fit:cover; border-radius:6px}
.cart__item div{display:grid; gap:4px}
.cart__item a{font:600 15px/1.3 var(--font-sans); color:var(--sage); text-decoration:none}
.cart__item span{font-size:14.5px; color:var(--sage-soft)}
.cart__rm{min-height:44px; padding:0 4px; border:0; background:none; color:var(--sage-soft); font-size:13.5px; text-decoration:underline; cursor:pointer}
.cart__empty{padding:20px; color:var(--sage-soft)}
.cart__foot{display:grid; gap:10px; padding:18px 20px calc(18px + env(safe-area-inset-bottom)); border-top:1px solid var(--line)}
.cart__sub{display:flex; justify-content:space-between; font-size:16px}
.cart__foot .btn{justify-content:center}
.shop__head{display:grid; gap:16px; margin:8px 0 26px}
.shop__h1{font-size:clamp(40px,3.2vw + 22px,68px)}
.shop__tools{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:14px 0; margin-bottom:28px; border-block:1px solid var(--line); font-size:14.5px; color:var(--sage-soft)}
.shop__order select{min-height:40px; padding:0 12px; border:1px solid var(--line-strong); border-radius:10px; background:transparent; color:var(--sage); font:400 14.5px var(--font-sans)}
.prods{display:grid; gap:clamp(32px,4vw,56px); margin:0; padding:0; list-style:none}
@media (min-width:700px){ .prods{grid-template-columns:repeat(2,minmax(0,1fr))} }
.prods{max-width:900px}
.prod{display:grid; gap:8px; align-content:start}
.prod__img{display:block; margin-bottom:10px; text-decoration:none}
.prod__cat{font:500 13px/1.4 var(--font-sans); color:var(--muted)}
.prod__t{font:600 21px/1.25 var(--font-sans); letter-spacing:-.015em}
.prod__t a{color:var(--sage); text-decoration:none}
.prod__t a:hover{text-decoration:underline; text-underline-offset:3px}
.prod__short{font-size:15.5px; line-height:1.55; color:var(--sage-soft); max-width:44ch}
.prod__price{font:600 19px/1.3 var(--font-sans); color:var(--sage)}
.prod .btn{justify-self:start; margin-top:4px}
.bk{position:relative; padding-left:12px; filter:drop-shadow(0 22px 26px rgba(38,39,24,.28))}
.bk::before{content:''; position:absolute; left:0; top:4px; bottom:4px; width:14px; border-radius:4px 0 0 4px;
  background:linear-gradient(90deg, #2c2d1c, #494a2f 60%, #3a3b25)}
.bk__cover.post-cover--photo{margin:0; border-radius:4px 14px 14px 4px; box-shadow:inset 6px 0 10px -6px rgba(0,0,0,.45)}
.bk__cover::before{content:''; position:absolute; inset:0 auto 0 0; width:10px; z-index:1; background:linear-gradient(90deg, rgba(255,255,255,.18), transparent)}
@media (hover:hover) and (pointer:fine){ .prod__img .bk{transition:transform .5s var(--ease-calm)} .prod__img:hover .bk{transform:translateY(-4px) rotate(-.6deg)} }
.product__grid{display:grid; gap:clamp(28px,4vw,64px); margin-top:8px}
@media (min-width:900px){ .product__grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr); align-items:start} }
.product__gallery{max-width:440px; width:100%; justify-self:center}
.product__summary{display:grid; gap:14px; align-content:start}
.product__t{font:600 clamp(30px,2vw + 18px,44px)/1.12 var(--font-sans); letter-spacing:-.02em; color:var(--sage)}
.product__price{font:600 26px/1.2 var(--font-sans); color:var(--sage)}
.product__short{font-size:17.5px; line-height:1.6; color:var(--sage); max-width:46ch}
.product__facts{display:grid; gap:8px; margin:4px 0 6px; padding:0; list-style:none; font-size:15.5px; color:var(--sage)}
.product__facts li{display:flex; gap:10px; align-items:flex-start}
.product__facts svg{width:18px; height:18px; flex:none; margin-top:2px; color:var(--tide-deep)}
.product__add{justify-self:start}
.product__meta{font-size:14px; color:var(--muted)}
.product__tabs{margin-top:clamp(40px,5vw,72px); padding-top:28px; border-top:1px solid var(--line); display:grid; gap:18px; max-width:820px}
.product__tab-t{font:600 20px/1.3 var(--font-sans); letter-spacing:-.01em; color:var(--sage); padding:0}
.product__desc h3{margin-top:18px}
.product__note{font-size:14px !important; color:var(--muted) !important}
.product__info{display:grid; margin:0; border-top:1px solid var(--line)}
.product__info div{display:grid; grid-template-columns:160px 1fr; gap:12px; padding:12px 0; border-bottom:1px solid var(--line); font-size:15.5px}
.product__info dt{font-weight:600; color:var(--sage)}
.product__info dd{margin:0; color:var(--sage-soft)}
.related{margin-top:clamp(40px,5vw,64px); display:grid; gap:18px}
.prods--one{grid-template-columns:minmax(0,1fr) !important; max-width:620px}
.prod--row{grid-template-columns:140px 1fr; gap:22px; align-items:center}
.prod--row .prod__img{margin:0}
.prod--row > div{display:grid; gap:6px}
.checkout__grid{display:grid; gap:clamp(28px,4vw,56px); margin-top:22px}
@media (min-width:960px){ .checkout__grid{grid-template-columns:minmax(0,6fr) minmax(0,5fr); align-items:start} }
.checkout__bill{display:grid; gap:14px; margin:0; padding:0; border:0}
.checkout__bill legend{margin-bottom:14px}
.checkout__row{display:grid; gap:14px}
@media (min-width:600px){ .checkout__row{grid-template-columns:1fr 1fr} }
.eb__field select{min-height:48px; padding:10px 14px; border:1px solid var(--line-strong); border-radius:12px; background:color-mix(in srgb, var(--ivory) 60%, #fff); font:400 16px/1.3 var(--font-sans); color:var(--sage)}
.eb__field small{font:400 13.5px/1.4 var(--font-sans); color:var(--muted)}
.checkout__order{display:grid; gap:16px; align-content:start; padding:clamp(20px,2.4vw,28px); border-radius:var(--radius); background:color-mix(in srgb, var(--ivory) 60%, #fff); border:1px solid var(--line)}
.order__list{margin:0; padding:0; list-style:none}
.order__list .cart__item{grid-template-columns:56px 1fr}
.order__empty{color:var(--sage-soft)}
.order__total{display:flex; justify-content:space-between; padding-top:12px; border-top:1px solid var(--line-strong); font-size:18px}
.pay{display:grid; gap:8px; margin:0; padding:0; border:0}
.pay__opt{display:flex; gap:12px; align-items:center; min-height:52px; padding:10px 14px; border:1px solid var(--line-strong); border-radius:12px; cursor:pointer; font-size:15px; color:var(--sage-soft)}
.pay__opt b{color:var(--sage); margin-right:6px}
.pay__opt input{width:18px; height:18px; accent-color:var(--sage)}
.pay__opt:has(input:checked){border-color:var(--sage); background:var(--tide-tint)}
.checkout__order .btn{justify-content:center}
.checkout__msg{padding:12px 14px; border-radius:10px; background:var(--gold); color:var(--sage); font-size:15px}
.page-shop .crumbs{margin-bottom:14px}
