:root {
  --ink:#1d1d1f; --muted:#5f6064; --paper:#fafaf8; --line:#deded9; --accent:#214f45;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  color:var(--ink); background:var(--paper);
  font-synthesis:none; scroll-behavior:smooth;
}
*{box-sizing:border-box}
body,figure,p,h1,h2,h3{margin:0}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:3px solid #3f8674;outline-offset:4px}
img{display:block;width:100%;height:auto}
.wrap{width:min(1120px,calc(100% - 64px));margin-inline:auto}
.site-nav{background:#fafaf8;border-bottom:1px solid #e6e6e1}
.nav-inner{min-height:66px;width:min(1240px,calc(100% - 64px));margin:auto;display:flex;align-items:center;gap:28px}
.brand{font-size:23px;font-weight:760;letter-spacing:-.065em}
.brand span{color:#4f7767}
.site-nav nav{display:flex;gap:26px;margin-left:auto;color:#4b4d4a;font-size:13px}
.site-nav nav a:hover,.text-link:hover{text-decoration:underline}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--accent);color:white;border-radius:999px;padding:13px 23px;font-weight:650;font-size:15px;line-height:1.25}
.button:hover{background:#173a33}
.button.small{padding:9px 15px;font-size:12px}
.hero{background:#f4f5ee}
.hero-inner{width:min(1240px,calc(100% - 64px));margin:auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:clamp(24px,3.8vw,56px);padding-block:clamp(32px,5vw,72px)}
.hero-copy{padding:clamp(21px,3.2vw,44px);background:#fffdf8;border:1px solid #dbe3d8;border-radius:20px}
.eyebrow{font-size:12px;letter-spacing:.09em;text-transform:uppercase;font-weight:720;color:#3f6659;margin-bottom:11px}
h1,h2{font-weight:690;letter-spacing:-.055em;line-height:1.03;text-wrap:balance}
h1{font-size:clamp(38px,4.8vw,72px)}
.hero h1{font-size:clamp(34px,4vw,59px)}
h2{font-size:clamp(37px,5vw,64px)}
.lead{margin-top:14px;font-size:clamp(16px,1.45vw,19px);line-height:1.5;color:var(--muted);max-width:46ch}
.hero-offer{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-top:20px}
.hero-price{color:var(--ink);font-size:clamp(23px,2.35vw,32px);font-weight:780;letter-spacing:-.035em}
.hero-price:empty{display:none}
.discount-badge{padding:5px 9px;border-radius:7px;background:#ffcf54;color:#482700;font-size:12px;font-weight:650}
.discount-badge strong{font-size:15px}
.hero-benefits{display:grid;gap:8px;margin:16px 0 0;padding:15px 0 0;border-top:1px solid #dbe3d8;list-style:none;font-size:14px}
.hero-benefits li{display:flex;align-items:baseline;gap:9px}
.hero-benefits li::before{content:"";width:9px;height:5px;border:solid var(--accent);border-width:0 0 2px 2px;transform:translateY(-2px) rotate(-45deg);flex:none}
.hero-benefits strong{color:var(--accent)}
.hero-actions{display:grid;gap:5px;margin-top:19px;text-align:center}
.hero-actions .button{min-height:46px;border-radius:10px}
.hero-actions .text-link{justify-self:center;margin-top:0;padding:7px 4px}
.hero-figure img{width:100%;height:auto;aspect-ratio:1.2;object-fit:cover;border-radius:20px;background:#eae3d8}
.hero-figure figcaption{padding-top:8px;font-size:12px;color:var(--muted)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);padding:33px 0;border-bottom:1px solid var(--line)}
.facts div{text-align:center}
.facts div+div{border-left:1px solid var(--line)}
.facts strong,.facts span{display:block}
.facts strong{font-size:clamp(26px,4vw,46px);line-height:1;letter-spacing:-.06em}
.facts span{margin-top:7px;color:var(--muted);font-size:clamp(11px,1.4vw,15px)}
.section-pad{padding-block:92px}
.section-head{max-width:720px;margin-bottom:33px}
.section-head>p:last-child:not(.eyebrow),.detail-copy>p:not(.eyebrow){font-size:clamp(16px,1.7vw,19px);line-height:1.53;color:var(--muted);margin-top:15px;max-width:55ch}
.examples{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.examples img,.detail-grid img{border-radius:20px;aspect-ratio:10/7;object-fit:cover;background:#efeee8}
.examples figcaption{padding:13px 2px 0}
.examples figcaption strong,.examples figcaption span{display:block}
.examples figcaption strong{font-size:21px;letter-spacing:-.025em}
.examples figcaption span{font-size:14px;color:var(--muted);margin-top:3px}
.details{background:#efeee9;padding:56px 0}
.detail-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:40px;align-items:center}
.text-link{display:inline-block;margin-top:20px;color:var(--accent);font-size:15px;font-weight:700}
.process ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.process li{border-top:1px solid var(--line);padding-top:16px}
.process li span{color:#427064;font-size:13px;font-weight:700}
.process h3{font-size:24px;letter-spacing:-.035em;margin:6px 0}
.process li p{font-size:15px;line-height:1.55;color:var(--muted);max-width:33ch}
.closing{text-align:center;background:#e9eee8;padding:76px 0}
.closing .button{margin-top:23px}
.footer{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px}
.footer .brand{color:var(--ink)}
@media(max-width:680px){
  .wrap,.nav-inner{width:calc(100% - 36px)}
  .nav-inner{min-height:57px;gap:12px;justify-content:space-between}
  .site-nav nav{display:none}
  .nav-inner .brand{font-size:20px}
  .nav-inner .button.small{padding-inline:10px;white-space:nowrap}
  .hero-inner{width:calc(100% - 36px);grid-template-columns:1fr;gap:14px;padding-block:20px 28px}
  .hero-copy{padding:18px 21px;border-radius:14px}
  .hero-copy .lead,.hero-offer{margin-top:11px}
  .hero-benefits{gap:6px;margin-top:12px;padding-top:11px}
  .hero-actions{margin-top:13px}
  .hero-figure img{aspect-ratio:3/2;border-radius:14px}
  .facts{padding:23px 0}
  .facts div{padding-inline:4px}
  .facts div:first-child strong{font-size:clamp(17px,5.4vw,24px)}
  .section-pad{padding-block:54px}
  .section-head{margin-bottom:22px}
  .examples,.detail-grid,.process ol{grid-template-columns:1fr;gap:24px}
  .details{padding-block:38px}
  .closing{padding-block:50px}
  .footer span{font-size:11px}
}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}
.examples .text-link{margin-top:9px;font-size:14px}
.details{background:#e9ece6;padding-block:clamp(42px,7vw,94px)}
.album-heading{max-width:735px;margin:0 auto 28px;text-align:center}
.album-heading>p:last-child{font-size:clamp(16px,1.8vw,20px);line-height:1.5;color:var(--muted);margin:15px auto 0;max-width:55ch;text-wrap:pretty}
.album-feature img{border-radius:22px;aspect-ratio:1.65;object-fit:cover;object-position:center 55%;background:#e5dbcb}
.album-feature figcaption{font-size:12px;color:var(--muted);margin:9px 0 29px}
.detail-grid{grid-template-columns:1fr 1fr;gap:clamp(25px,6vw,80px)}
.detail-grid img{aspect-ratio:1.65}
.detail-copy h3{font-size:clamp(26px,3.6vw,42px);letter-spacing:-.05em;line-height:1.1}
@media(max-width:680px){
  .album-feature img{aspect-ratio:1.16}
  .detail-grid{grid-template-columns:1fr}
}
.brand{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;letter-spacing:-.045em}
.brand span{color:inherit}
.brand .brand-mark{width:34px;height:34px}
@media(max-width:680px){.brand .brand-mark{width:29px;height:29px}}

.home-scenes-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:18px}
.home-scenes-grid figure{min-width:0}
.home-scenes-grid img{width:100%;height:clamp(250px,31vw,416px);object-fit:cover;border-radius:19px;background:#ede7de}
.home-scenes-grid figcaption{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;margin:10px 2px 0}
.home-scenes-grid figcaption strong{font-size:17px;letter-spacing:-.02em}
.home-scenes-grid figcaption span{font-size:12px;color:var(--muted)}
@media(max-width:680px){
  .home-scenes-grid{grid-template-columns:1fr;gap:23px}
  .home-scenes-grid img{height:auto;aspect-ratio:3/2}
}
.nav-cart{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-size:13px;font-weight:650;white-space:nowrap}
.nav-cart:hover{text-decoration:underline}
.nav-cart [data-cart-count]:not([hidden]){display:grid;place-items:center;box-sizing:border-box;min-width:16px;height:16px;padding:0 3px;border:1px solid #b8c9be;border-radius:4px;color:inherit;font-size:10px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
@media(max-width:370px){
  .nav-inner{width:calc(100% - 24px);gap:7px}
  .nav-inner .brand{gap:5px;font-size:17px}
  .nav-inner .brand-mark{width:25px;height:25px}
  .nav-inner .button.small{padding-inline:8px;font-size:11px}
  .nav-cart{font-size:12px}
}


.footer{flex-wrap:wrap;padding-block:12px}
.legal-links{display:flex;flex-wrap:wrap;gap:8px 20px}
.legal-links a,.legal-page a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.legal-page{max-width:760px;padding-block:clamp(32px,7vw,72px);line-height:1.6}
.legal-page h1{font-size:clamp(30px,6vw,52px);line-height:1.12;margin:10px 0 24px}
.legal-page h2{font-size:clamp(19px,3vw,24px);margin:28px 0 8px}
.legal-page p + p,.legal-page details p{margin-top:10px}
.legal-note{padding:14px 18px;border:1px solid var(--line);border-radius:12px}
.legal-page details{margin-top:12px}
.legal-page summary{cursor:pointer;color:var(--accent)}

.personal-stories{scroll-margin-top:24px}
.personal-story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 24px}
.personal-story{min-width:0}
.personal-story .detail-photo{display:block;overflow:hidden;border-radius:18px;background:#e9dfcf}
.personal-story img{aspect-ratio:3/2;object-fit:cover}
.personal-story figcaption{padding:22px 2px 0}
.detail-number{font-size:11px;letter-spacing:.12em;font-weight:700;color:#796047}
.personal-story h3{font-size:clamp(25px,3vw,36px);line-height:1.12;letter-spacing:-.045em;margin:10px 0}
.personal-story p{color:var(--muted);font-size:16px;line-height:1.6;max-width:48ch}
.personal-story small{display:block;color:var(--muted);font-size:12px;margin-top:12px}
.personal-story-feature{grid-column:1/-1;display:grid;grid-template-columns:1.5fr 1fr;gap:36px;align-items:center}
.personal-story-feature figcaption{padding:0}
.visualization-note{font-size:12px;line-height:1.6;color:var(--muted);max-width:85ch;margin-top:28px}
@media(max-width:680px){
 .personal-story-grid,.personal-story-feature{grid-template-columns:1fr;gap:30px}
 .personal-story-feature{gap:0}
 .personal-story-feature figcaption{padding-top:22px}
 .personal-story h3{font-size:28px}
}
.process + .personal-stories{border-top:1px solid var(--line)}
.faq details{max-width:760px;border-top:1px solid var(--line);padding-block:15px}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;color:var(--accent);font-weight:650;line-height:1.5}
.faq summary:focus-visible{outline:3px solid #3f8674;outline-offset:4px}
.faq details p{max-width:65ch;margin:10px 0 2px;color:var(--muted);line-height:1.55}
@media(min-width:681px) and (max-width:840px){.site-nav nav{gap:14px}.nav-inner{gap:16px}.site-nav nav a:nth-child(2),.site-nav nav a:nth-child(4){display:none}}
