:root{
    --bg:#F4F1EC; --bg2:#E6E0D6; --bg3:#E3DDD3; --dark:#262321; --ink:#1F1D1B;
    --muted:rgba(31,29,27,.66); --hair:rgba(31,29,27,.10);
    --beech:#CDB99A; --beech-dk:#B59E7C; --steel:#9A9A98; --sisal:#D9CBAE; --felt:#8F8A82;
    --ease:cubic-bezier(.2,.7,.2,1);
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,"Helvetica Neue",Arial,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
  a{color:inherit;text-decoration:none}
  :root{--display:'Cormorant Garamond',Georgia,serif}
  h1,h2,h3,.bis h3,.chooser__label{font-family:var(--display);font-weight:500;letter-spacing:-.01em;line-height:1.05}
  h1,h2,h3{margin:0}
  h2{font-size:42px}h3{font-size:30px}
  .eyebrow,.ann,.card__badge,.pdp__tag-label{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
  .card__t{font-family:Inter,sans-serif}
  p{margin:0}
  .wrap{max-width:1400px;margin:0 auto;padding:0 40px}
  .btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;font-family:Inter,sans-serif}
  .btn--ghost{background:transparent;color:var(--ink)}.btn:hover{background:#3A3633;border-color:#3A3633}.btn--ghost:hover{background:rgba(31,29,27,.06)}
  .link{font-size:14px;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}

  /* preview switcher */
    .switch button{white-space:nowrap;background:none;border:0;color:inherit;font:inherit;padding:8px 16px;border-radius:999px;cursor:pointer;opacity:.7}
  .switch button.on{background:var(--bg);color:var(--ink);opacity:1}
  .page{display:none}.page.on{display:block}

  /* header */
  .ann{background:var(--bg2);border-bottom:1px solid var(--hair);text-align:center;padding:10px 0}
  .ann strong{font-weight:600;letter-spacing:.16em}
  header.hdr{border-bottom:1px solid var(--hair);background:var(--bg)}
  .hdr__row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:16px 0}
  .hdr__tools{display:flex;gap:22px;justify-content:flex-end;align-items:center;font-size:13px}
  .hdr__tools svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.25}
  .loc{display:flex;gap:6px;align-items:center;color:var(--ink)}
  .loc svg{width:12px;height:12px}
  .logo{display:flex;justify-content:center}.logo img{display:block;width:130px;height:auto}@media(max-width:900px){.logo img{width:104px}}
  nav.menu{display:flex;gap:32px;justify-content:center;padding:0 0 18px;font-size:13px;letter-spacing:.02em}
  nav.menu a.on{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}

  /* hero */
  .hero{position:relative;min-height:56vh;display:grid;align-items:end;overflow:hidden;color:#fff;isolation:isolate}
  .hero svg.scene{position:absolute;inset:0;width:100%;height:100%}
  .hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.5))}
  .hero__c{position:relative;padding:0 80px 64px;display:grid;gap:22px;max-width:760px;animation:in 1.1s var(--ease) both}
  .hero h1{font-size:clamp(36px,4.8vw,64px);line-height:.96;letter-spacing:-.015em}.hero h1 em{font-style:italic;font-weight:400}
  .hero p{font-size:17px;max-width:48ch;color:rgba(255,255,255,.86)}
  .hero .cta{display:inline-flex;align-items:center;padding:17px 28px;background:#fff;color:var(--ink);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;width:fit-content}
  .hero .eyebrow{color:rgba(255,255,255,.78)}
  .chip{position:absolute;right:80px;bottom:64px;display:flex;align-items:center;gap:14px;padding:12px 18px 12px 12px;background:var(--bg);color:var(--ink);z-index:2;animation:in 1.1s .35s var(--ease) both}
  .chip span{display:grid;gap:2px;line-height:1.3}.chip small{font-size:10px;color:rgba(31,29,27,.7)}.chip b{font-size:17px;font-weight:500}.chip em{font-style:normal;font-size:13px;color:rgba(31,29,27,.7)}.chip i{font-style:normal;font-size:18px;margin-left:6px}
  @keyframes in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

  /* section common */
  section.s{padding:96px 0}
  .s__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px}
  .s__head h2{font-size:42px}
  .s__head p{color:var(--muted);max-width:60ch;margin-top:8px}

  /* product grid */
  .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;align-items:start}
  .grid--3{grid-template-columns:repeat(3,1fr)}
  .card{display:block}
  .card__media{position:relative;aspect-ratio:1;background:var(--bg3);overflow:hidden}
  .card__media svg{position:absolute;inset:0;width:100%;height:100%;transition:opacity .5s var(--ease)}
  .card__media--photo{background:#EBE8E3}.card__media--photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s var(--ease)}.card__media--photo .life{opacity:0}.card:hover .card__media--photo .life{opacity:1}.card:hover .card__media--photo .studio{opacity:0}
  .card__media svg.life{opacity:0}
  .card:hover .card__media svg.life{opacity:1}
  .card:hover .card__media svg.studio{opacity:0}
  .card__t{margin-top:14px;font-size:15px;font-weight:500;letter-spacing:0}
  .card__d{font-size:13px;color:var(--muted);margin-top:2px}
  .card__s{font-size:12px;color:var(--muted);margin-top:4px;font-variant-numeric:tabular-nums}
  .sw{display:flex;gap:6px;margin-top:9px}.sw i{width:12px;height:12px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(31,29,27,.14)}
  .card__p{font-size:14px;margin-top:9px;font-variant-numeric:tabular-nums}
  .plate{position:absolute;left:14px;top:12px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);z-index:2}
  .badge{position:absolute;left:12px;bottom:12px;background:var(--bg);color:var(--ink);font-size:10px;padding:5px 9px;letter-spacing:.12em;text-transform:uppercase}
  .card__r{margin-top:8px;}
  .card__r{font-size:11px;letter-spacing:.1em;text-transform:uppercase;opacity:0;transform:translateY(3px);transition:.35s}.card:hover .card__r{opacity:1;transform:none}
  .card__hint{position:absolute;right:12px;bottom:12px;font-size:11px;color:var(--muted);opacity:0;transition:opacity .3s}
  .card:hover .card__hint{opacity:1}

  .chooser__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
  .chooser__media--photo{position:relative;background:#EBE8E3}.chooser__media--photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s var(--ease)}.chooser__media--photo .life{opacity:0}.chooser__card:hover .chooser__media--photo .life{opacity:1}.chooser__card:hover .chooser__media--photo .studio{opacity:0}
  .chooser__card{display:block}
  .chooser__media{aspect-ratio:1;overflow:hidden;background:var(--bg3)}
  .chooser__body{padding:14px 0 0}.chooser__label{font-size:24px}.chooser__sub{margin:4px 0 14px;font-size:14px;color:var(--muted)}.chooser__cta{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;display:flex;gap:6px}
  @media(max-width:900px){.chooser__grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.chooser__grid{grid-template-columns:1fr}}
  /* principles */
  .princ{background:var(--bg2)}
  .princ h2{font-size:42px;margin-bottom:48px}
  .princ ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px 30px}
  .princ svg{width:32px;height:32px;stroke:var(--ink);fill:none;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;margin-bottom:16px}
  .princ h3{font-size:26px;margin-bottom:8px}
  .princ p{font-size:15px;line-height:1.6;color:rgba(28,28,28,.78);max-width:34ch}

  /* story */
  .story{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:center}
  .story__img{aspect-ratio:4/3;background:var(--bg3);position:relative;overflow:hidden}
  .story__img svg{position:absolute;inset:0;width:100%;height:100%}
  .story h2{font-size:42px;margin-bottom:24px}
  .story p{font-size:16px;line-height:1.65;color:rgba(28,28,28,.85);max-width:56ch;margin-bottom:28px}

  /* blog */
  .post .card__media{aspect-ratio:1}
  .post__d{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:16px}
  .post__t{font-family:var(--display);font-size:24px;font-weight:500;margin-top:6px;line-height:1.15}.post__x{font-size:14px;color:rgba(31,29,27,.78);margin-top:8px;line-height:1.55}

  /* newsletter */
  .news{background:var(--dark);color:var(--bg);padding:72px 0}
  .news__grid{display:grid;grid-template-columns:6fr 5fr;gap:80px;align-items:end}
  .news__eyebrow{font-family:var(--display);font-style:italic;font-size:20px;color:rgba(244,241,236,.7);margin-bottom:16px}.news__eyebrow::after{content:'';display:block;width:40px;height:1px;background:rgba(244,241,236,.3);margin-top:16px}
  .news h2{font-size:40px;margin-bottom:12px;color:var(--bg)}.news__text{font-size:15px;line-height:1.65;color:rgba(244,241,236,.72);max-width:44ch}
  .news__field{display:flex;align-items:flex-end;border-bottom:1px solid rgba(244,241,236,.45);padding-bottom:8px}.news__field:focus-within{border-color:var(--bg)}
  .news__field input{flex:1;background:transparent;border:0;color:var(--bg);font:inherit;font-size:18px;padding:8px 0;min-width:0;outline:none}.news__field input::placeholder{color:rgba(244,241,236,.45)}
  .news__field button{display:inline-flex;align-items:center;gap:10px;background:none;border:0;color:var(--bg);font:inherit;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:8px 0 8px 16px;cursor:pointer}.news__field button svg{transition:transform .3s}.news__field button:hover svg{transform:translateX(4px)}
  .news__optin{display:flex;gap:10px;margin-top:16px;font-size:12px;color:rgba(244,241,236,.6);line-height:1.5}.news__optin input{accent-color:var(--bg);margin-top:2px}
  .news__perks{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:8px;font-size:13px;color:rgba(244,241,236,.72)}.news__perks li{padding-left:20px;position:relative}.news__perks li::before{content:'';position:absolute;left:0;top:9px;width:10px;height:1px;background:rgba(244,241,236,.5)}
  @media(max-width:900px){.news__grid{grid-template-columns:1fr;gap:32px}.news{padding:56px 0}}
.card__media img,.chooser__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s var(--ease)}.card__media img.life,.chooser__media img.life{opacity:0}.card:hover .card__media img.life,.chooser__card:hover .chooser__media img.life{opacity:1}.card:hover .card__media img.studio,.chooser__card:hover .chooser__media img.studio{opacity:0}.chooser__media{position:relative}
  /* trust + footer */
  .trust{border-top:1px solid var(--hair);padding:28px 0}
  .trust ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px 30px}
  .trust li{display:flex;gap:12px;font-size:13px;line-height:1.5}
  .trust svg{width:20px;height:20px;flex:none;stroke:var(--ink);fill:none;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;margin-top:1px}
  .trust strong{display:block;font-weight:500}.trust span{color:var(--muted)}
  footer{border-top:1px solid var(--hair);padding:64px 0 32px}
  .f__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;font-size:14px}
  .f__grid h4{margin:0 0 16px;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
  .f__grid a,.f__grid p{display:block;color:rgba(28,28,28,.8);margin-bottom:8px}
  .f__news{display:flex;border:1px solid var(--ink);max-width:340px}
  .f__news input{flex:1;border:0;background:transparent;padding:0 12px;font:inherit;font-size:13px;min-height:44px}
  .f__news button{border:0;background:var(--ink);color:var(--bg);padding:0 16px;font:inherit;font-size:13px}
  .social{display:flex;gap:18px;margin-top:4px}.social a{display:inline-flex;color:var(--ink);opacity:.75}.social a:hover{opacity:1}.social svg{width:20px;height:20px;fill:currentColor}
  .f__bottom{margin-top:48px;padding-top:24px;border-top:1px solid var(--hair);display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
  .f__bottom .loc{font-size:13px}
  .pay{display:flex;gap:8px}
  .pay span{display:inline-flex;align-items:center;justify-content:center;width:38px;height:24px;border:1px solid var(--hair);border-radius:3px;font-size:9px;font-weight:600;letter-spacing:.02em;color:rgba(28,28,28,.7);background:#fff}
  .pol{display:flex;gap:16px;flex-wrap:wrap}

  /* collection header */
  .colhead{padding:48px 0 24px}
  .colhead h1{font-size:32px}
  .colhead p{color:var(--muted);margin-top:8px;max-width:60ch}
  .facets{display:flex;gap:28px;align-items:center;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:14px 0;font-size:13px;margin-bottom:32px}
  .facets .sel{display:inline-flex;gap:6px;align-items:center}
  .facets .sel svg{width:10px;height:10px;stroke:var(--ink);fill:none;stroke-width:1.5}
  .facets .sort{margin-left:auto;color:var(--muted)}

  /* product page */
  .pdp{display:grid;grid-template-columns:1.25fr 1fr;gap:64px;padding:48px 0 24px}
  .pdp__gal{display:grid;gap:16px}
  .pdp__gal .m{aspect-ratio:1;background:var(--bg2);position:relative;overflow:hidden}
  .pdp__gal .m svg{position:absolute;inset:0;width:100%;height:100%}
  .pdp__gal .m.tall{aspect-ratio:4/5}
  .pdp__info{position:sticky;top:24px;align-self:start}
  .pdp__info h1{font-size:48px}
  .pdp__tag{font-size:16px;color:var(--muted);margin-top:6px}
  .pdp__price{font-size:18px;margin:14px 0 4px;font-variant-numeric:tabular-nums}
  .pdp__tax{font-size:12px;color:var(--muted);margin-bottom:28px}
  .inv{font-size:13px;color:var(--muted);margin:-8px 0 16px}
  .bis{margin-top:20px;padding:20px;border:1px solid var(--hair)}
  .bis h3{font-size:16px;margin-bottom:6px;letter-spacing:0}
  .bis p{font-size:14px;color:var(--muted);margin-bottom:16px;line-height:1.55}
  .bis .row{display:grid;grid-template-columns:1fr 1.4fr auto;gap:8px}
  .bis input{min-height:48px;border:1px solid rgba(28,28,28,.35);background:transparent;padding:0 14px;font:inherit;font-size:14px}
  .bis .btn{padding:0 20px;white-space:nowrap}
  .bis label{display:flex;gap:10px;font-size:13px;margin-top:14px;line-height:1.5}
  .bis label input{min-height:0;margin-top:3px}
  .bis--wait{background:var(--bg2);border-color:transparent;padding:24px}.bis--wait h3{font-size:30px}.bis--wait input{background:var(--bg);border-color:transparent}
  .perks{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:6px;font-size:14px}.perks li{padding-left:18px;position:relative}.perks li::before{content:'';position:absolute;left:0;top:9px;width:8px;height:1px;background:currentColor}
  .bis small{display:block;margin-top:12px;font-size:12px;color:var(--muted)}
  .opt label{font-size:13px;color:var(--muted);display:block;margin-bottom:10px}
  .pills{display:flex;gap:8px;margin-bottom:24px}
  .pills span{border:1px solid var(--hair);padding:9px 16px;font-size:14px}
  .pills span.on{border-color:var(--ink)}
  .qty{display:inline-flex;border:1px solid var(--hair);margin-bottom:12px}
  .qty span{padding:11px 18px;font-size:14px}
  .pdp__buy{display:grid;gap:10px;margin:8px 0 28px}
  .pdp__desc{font-size:15px;line-height:1.65;color:rgba(28,28,28,.85)}
  .tabs{margin-top:28px;border-top:1px solid var(--hair)}
  .tabs div{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--hair);font-size:14px}
  .tabs div svg{width:14px;height:14px;stroke:var(--ink);fill:none;stroke-width:1.25}

  .concierge{margin-top:24px;padding-top:16px;border-top:1px solid var(--hair);font-size:14px;line-height:1.6;color:var(--muted)}.concierge strong{color:var(--ink);font-weight:500}.concierge a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
  .pstory{border-top:1px solid var(--hair);padding:80px 0}
  .pstory .g{display:grid;grid-template-columns:7fr 5fr;gap:80px}
  .pstory h2{font-size:24px;margin-bottom:16px}
  .pstory .body p{font-size:16px;line-height:1.65;color:rgba(28,28,28,.85);margin-bottom:16px;max-width:64ch}
  .mats{list-style:none;padding:0;margin:0}
  .mats li{padding:14px 0;border-bottom:1px solid var(--hair);font-size:15px;display:flex;justify-content:space-between}
  .mats li:first-child{border-top:1px solid var(--hair)}
  .mats li span{color:var(--muted)}

  .specs{border-top:1px solid var(--hair);padding:80px 0;background:var(--bg2)}
  .specs .g{display:grid;grid-template-columns:5fr 7fr;gap:80px;align-items:start}
  .specs h2{font-size:24px;margin-bottom:24px}
  .specs table{width:100%;border-collapse:collapse;font-size:15px}
  .specs th,.specs td{text-align:left;padding:13px 0;border-bottom:1px solid var(--hair);vertical-align:top}
  .specs tr:first-child th,.specs tr:first-child td{border-top:1px solid var(--hair)}
  .specs th{font-weight:400;color:var(--muted);width:44%}
  .specs td{font-variant-numeric:tabular-nums}
  .care{margin-top:24px;font-size:14px;color:var(--muted);line-height:1.6}
  .draw svg{width:100%;height:auto;display:block;overflow:visible}
  .draw .l{stroke:var(--ink);stroke-width:1;fill:none}
  .draw .b{stroke:var(--ink);stroke-width:1.5;fill:rgba(28,28,28,.04)}
  .draw .e{stroke:var(--ink);stroke-width:.75;stroke-dasharray:2 3;opacity:.6}
  .draw text{font-family:inherit;font-size:11px;fill:var(--ink);font-variant-numeric:tabular-nums}
  .draw figcaption{margin-top:12px;font-size:12px;color:var(--muted)}

  @media (max-width:900px){
    .wrap{padding:0 20px}
    .hdr__row{grid-template-columns:auto 1fr auto}
    .hdr__tools .loc{display:none}.burger{display:block!important}
    nav.menu{display:none}
    .hero__c{padding:0 20px 40px}
    section.s{padding:64px 0}
    .grid,.grid--3,.princ ul,.trust ul{grid-template-columns:1fr 1fr}
    .story,.pdp,.pstory .g,.specs .g{grid-template-columns:1fr;gap:40px}
    .f__grid{grid-template-columns:1fr 1fr}
    .pdp__info{position:static}.bis .row{grid-template-columns:1fr}.pdp>*{min-width:0}
  }
  .faq{margin:40px 0 96px;border-top:1px solid var(--hair)}.faq details{border-bottom:1px solid var(--hair)}.faq summary{cursor:pointer;list-style:none;padding:20px 0;font-size:17px;display:flex;justify-content:space-between}.faq summary::after{content:'+';color:var(--muted)}.faq details[open] summary::after{content:'–'}.faq p{margin:0 0 20px;font-size:15px;color:rgba(31,29,27,.8);max-width:62ch}
  .art{max-width:720px;padding-top:72px;padding-bottom:120px}.art h1{font-size:56px;line-height:1.02;margin-bottom:24px}.art__lead{font-size:20px;line-height:1.5;color:rgba(31,29,27,.85);margin-bottom:40px}.art__hero{margin:0 0 48px}.art h2{font-size:30px;margin:48px 0 14px}.art p{font-size:17px;line-height:1.7;margin:0 0 20px;color:rgba(31,29,27,.88)}.art ul{padding-left:20px;margin:0 0 20px}.art li{font-size:16px;line-height:1.65;margin-bottom:8px}.art li strong{font-weight:500}.art__note{font-size:13px!important;color:var(--muted)!important;border-top:1px solid var(--hair);padding-top:20px;margin-top:40px!important}
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:40px}.steps span{font-size:11px;letter-spacing:.14em;color:var(--muted)}.steps h3{font-size:26px;margin:8px 0}.steps p{font-size:15px;color:rgba(31,29,27,.8);line-height:1.6}
  .contact{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:64px 40px 120px}.cform{display:grid;gap:18px;align-self:start;padding-top:24px}.cform label{display:grid;gap:8px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.cform input,.cform textarea{border:0;border-bottom:1px solid rgba(31,29,27,.35);background:transparent;padding:10px 0;font:inherit;font-size:16px;color:var(--ink);outline:none}.cform input:focus,.cform textarea:focus{border-color:var(--ink)}.cform .btn{width:fit-content;margin-top:8px}
  @media(max-width:900px){.steps,.contact{grid-template-columns:1fr}}
  .sticky-reserve{display:none}
  @media (max-width:900px){.sticky-reserve{display:flex;justify-content:space-between;position:fixed;left:12px;right:12px;bottom:12px;z-index:30;box-shadow:0 10px 30px rgba(31,29,27,.18)}.hero{min-height:62vh}}
  @media (max-width:560px){.grid,.grid--3{grid-template-columns:1fr}.princ ul,.trust ul{grid-template-columns:1fr}}
  @media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
