@font-face{font-family:Instrument Serif;src:url('assets/fonts/InstrumentSerif-Regular.ttf') format('truetype');font-display:swap}
:root{--paper:#f3eee4;--ink:#302723;--wine:#741f3c;--gutter:clamp(20px,3.5vw,64px);--top:88px;--pad:clamp(24px,4.4vw,76px);--footer:76px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#26161d;color:var(--paper);font-family:Arial,Helvetica,sans-serif}
a{color:inherit}img{display:block;max-width:100%}
a:focus-visible{outline:2px solid currentColor;outline-offset:5px}
[hidden]{display:none!important}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--paper);color:var(--ink);padding:1rem}.skip-link:focus{top:1rem}
.site-header{position:fixed;inset:0 0 auto;z-index:30;height:var(--top);display:flex;align-items:center;padding:0 var(--gutter);pointer-events:none}
.wordmark{pointer-events:auto;text-decoration:none;font-size:.8rem;font-weight:700;letter-spacing:.18em;white-space:nowrap}
.wordmark span{font-weight:400;font-size:.63rem;letter-spacing:.22em;margin-left:.6rem}
.site-header,.site-nav{background:transparent;color:#fff;mix-blend-mode:difference}
.site-nav{position:fixed;z-index:35;right:var(--gutter);top:0;height:var(--top);display:flex;align-items:center;gap:30px}
.site-nav a{font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:12px 0;position:relative}
.site-nav a::after{content:'';position:absolute;right:0;bottom:4px;width:24px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .2s}
.site-nav a:hover::after,.site-nav a[aria-current]::after{transform:scaleX(1)}
main{margin:0}
.eyebrow{margin:0 0 1.25rem;text-transform:uppercase;letter-spacing:.18em;font-size:.62rem;line-height:1.5}

/* The original vertical narrative stays inside the first horizontal panel. */
.story{position:relative;background:#28161b;color:#fff}
.story.is-ready{height:680svh}
.scroll-anchor{position:absolute;top:78svh;left:0}
.story-sticky{height:100svh;min-height:0;position:relative;overflow:hidden}
.is-ready .story-sticky{position:sticky;top:0}
.frames,.frame,.frame img,.frame-shade{position:absolute;inset:0;width:100%;height:100%}
.frame{margin:0;opacity:0}.frame:first-child{opacity:1}
.frame img{object-fit:cover;object-position:center;transform:scale(var(--frame-scale,1))}
.frame-shade{z-index:1;background:linear-gradient(90deg,#18090fc9 0%,#18090f47 58%,#18090f10 100%)}
.hero-copy,.story-ui,.scroll-cue,.story-next{position:absolute;z-index:3}
.hero-copy{left:var(--pad);top:50%;width:72%;transform:translate3d(0,calc(-50% + var(--hero-y,0px)),0);opacity:var(--hero-opacity,1)}
.hero-copy h1,.page-copy h1{margin:0;font-family:Instrument Serif,Georgia,serif;font-weight:400;font-size:clamp(4.3rem,8.4vw,8.5rem);line-height:.9;letter-spacing:-.035em}
.hero-copy h1 em,.page-copy h1 em{font-style:normal;display:block;color:#ead9b8}
.hero-copy>p:not(.eyebrow){max-width:25rem;font-size:.95rem;line-height:1.65;margin:1.6rem 0 0}
.scroll-cue,.story-next{right:var(--pad);bottom:1.8rem;display:flex;gap:1rem;align-items:center;text-decoration:none;font-size:.62rem;text-transform:uppercase;letter-spacing:.13em}
.scroll-cue{opacity:var(--hero-opacity,1)}
.story-next{bottom:calc(var(--footer) + 12px);border-bottom:1px solid #ffffff80;padding-block:.7rem}
.story-ui{inset:0;display:flex;align-items:center;padding:var(--pad);pointer-events:none}
.story-copy{width:45%;max-width:30rem;opacity:var(--story-opacity,0);transform:translateY(var(--story-y,20px))}
.story-copy h2{font-family:Instrument Serif,Georgia,serif;font-size:clamp(2.6rem,4.8vw,5.3rem);font-weight:400;line-height:1.01;letter-spacing:-.025em;margin:0 0 1.25rem}
.story-copy>p:last-child{font-size:.9rem;line-height:1.65;max-width:24rem;margin:0}

/* Full-canvas editorial interiors: images are the setting, not floating cards. */
.product-page,.contact-page{position:relative;isolation:isolate;min-height:100svh;padding:calc(var(--top) + 48px) var(--pad) calc(var(--footer) + 48px);display:flex;align-items:center;overflow:hidden;background:#26161d}
.product-figure,.contact-art{position:absolute;inset:0;margin:0;z-index:-2;overflow:hidden}
.product-figure{left:34%}
.product-figure img{width:100%;height:100%;object-fit:cover;object-position:center 62%}
.product-page::before,.contact-page::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none}
.product-page::before{background:linear-gradient(90deg,#26161d 0%,#26161d 34%,#26161dd9 41%,#26161d45 55%,transparent 69%),linear-gradient(0deg,#170b12bd,transparent 18%)}
.page-copy{position:relative;width:41%;max-width:620px}
.page-copy h1{font-size:clamp(3.5rem,6.2vw,6.9rem);line-height:.96;text-wrap:balance}
.page-copy>p:not(.eyebrow){font-size:.88rem;line-height:1.8;max-width:29rem;color:#e6d9d6;margin:1.2rem 0}
.page-copy>p.lead{font-size:.98rem;color:var(--paper);line-height:1.7;margin-top:1.75rem}
.details{margin:1.8rem 0 2rem;font-size:.72rem;line-height:1.6;max-width:28rem}
.details>div{display:grid;grid-template-columns:90px 1fr;gap:1rem;border-top:1px solid #fff3;padding:.7rem 0}
.details dt{color:#e7cbb4}.details dd{margin:0;color:#e6d9d6}
.cta{display:inline-flex;align-items:center;justify-content:space-between;gap:3rem;min-height:48px;padding:.85rem 0;border:0;border-bottom:1px solid #e7cbb490;color:var(--paper);text-decoration:none;font-size:.72rem;letter-spacing:.05em;transition:color .2s,border-color .2s}
.cta span{font-size:1.3rem;transition:transform .2s}.cta:hover{color:#e7cbb4;border-color:currentColor}.cta:hover span{transform:translate(3px,-3px)}
.text-link{display:table;text-decoration:none;font-size:.7rem;margin-top:1.1rem;padding:.6rem 0;color:#e6d9d6;border-bottom:1px solid #ffffff50}
.contact-art picture,.contact-art img{width:100%;height:100%;display:block}
.contact-art img{object-fit:cover;object-position:center}
.contact-page::before{background:linear-gradient(90deg,#210812e8,#210812bd 34%,#21081230 77%),linear-gradient(180deg,#17081088,transparent 24%),linear-gradient(0deg,#210812bb,transparent 24%)}
.contact-page .page-copy{width:65%;max-width:900px}
.contact-page h1{max-width:850px;font-size:clamp(4rem,7.8vw,8.5rem)}
.contact-page .page-copy>p{max-width:27rem}
.contact-page .cta{margin-top:.75rem;font-size:.8rem;min-width:265px}

/* The transparent footer overlaps the final image, never the viewport. */
footer{position:relative;z-index:4;min-height:var(--footer);margin-top:calc(-1 * var(--footer));display:flex;align-items:center;padding:24px var(--gutter);background:transparent;color:#fff;mix-blend-mode:difference;font-size:.61rem;line-height:1.5;letter-spacing:.025em}
footer p{margin:0}
.has-horizontal-pages{overflow:hidden}
.horizontal-deck{position:fixed;inset:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.horizontal-deck::-webkit-scrollbar,.horizontal-pane::-webkit-scrollbar{display:none}
.horizontal-pane{flex:0 0 100%;width:100%;min-width:0;height:100%;overflow-y:auto;overflow-x:hidden;scroll-snap-align:start;scrollbar-width:none;position:relative;overscroll-behavior-y:contain}

@media(min-width:1700px){:root{--gutter:calc((100vw - 1572px)/2)}}
@media(max-width:1000px) and (min-width:721px){:root{--pad:32px;--gutter:28px}.page-copy{width:46%}.page-copy h1{font-size:3.8rem}.product-figure{left:30%}.product-page::before{background:linear-gradient(90deg,#26161d 12%,#26161de6 32%,#26161d77 48%,transparent 72%),linear-gradient(0deg,#170b12bd,transparent 22%)}.contact-page .page-copy{width:72%}.story-copy{width:57%}}
@media(max-width:720px){
  :root{--top:70px;--gutter:20px;--pad:24px;--footer:76px}
  .wordmark{font-size:.67rem}.wordmark span{display:none}.site-nav{gap:16px}.site-nav a{font-size:.55rem;letter-spacing:.06em}
  .eyebrow{font-size:.52rem;letter-spacing:.12em;margin-bottom:1rem}
  .story.is-ready{height:650svh}.frame img{object-position:center bottom}.frame-shade{background:linear-gradient(180deg,#18090fda,#18090f29 63%)}
  .hero-copy{left:var(--pad);right:var(--pad);width:auto;top:calc(var(--top) + 32px);transform:translateY(var(--hero-y,0px))}
  .hero-copy h1{font-size:clamp(2.85rem,11.7vw,4.5rem);line-height:.93}
  .hero-copy>p:not(.eyebrow){font-size:.78rem;line-height:1.65;margin-top:1.2rem}
  .scroll-cue,.story-next{left:var(--pad);right:auto;gap:.6rem;font-size:.48rem;letter-spacing:.06em}.scroll-cue{bottom:22px}
  .story-ui{align-items:flex-start;padding-top:calc(var(--top) + 32px)}.story-copy{width:100%}
  .story-copy h2{font-size:clamp(2.25rem,8.8vw,3.2rem)}.story-copy>p:last-child{font-size:.77rem;line-height:1.6}
  .product-page,.contact-page{padding:calc(var(--top) + 28px) var(--pad) calc(var(--footer) + 30px);align-items:flex-start}
  .page-copy,.contact-page .page-copy{width:100%;max-width:none}
  .page-copy h1{font-size:clamp(3rem,12vw,4.8rem);max-width:390px}
  .product-page{padding-bottom:calc(100vw + 30px)}
  .product-figure{left:0;top:auto;height:110vw}
  .product-figure img{height:100%;object-fit:cover;object-position:center 65%}
  .product-page::before{top:auto;height:110vw;background:linear-gradient(180deg,#26161d 0%,#26161d99 13%,transparent 34%),linear-gradient(0deg,#170b12bd,transparent 26%)}
  .product-page .page-copy>p:not(.eyebrow){max-width:25rem;font-size:.82rem;line-height:1.7}
  .product-page .page-copy>p.lead{margin-top:1.4rem}
  .details{margin:1.6rem 0 1.2rem;font-size:.7rem}.details>div{grid-template-columns:80px 1fr;gap:.65rem;padding:.65rem 0}
  .contact-page{align-items:center}
  .contact-page h1{font-size:clamp(3.35rem,13vw,5.4rem)}
  .contact-page .page-copy>p:not(.eyebrow){font-size:.84rem;line-height:1.7}
  .contact-page .page-copy>p.lead{margin-top:1.6rem}
  .contact-page::before{background:linear-gradient(90deg,#210812db,#21081266),linear-gradient(0deg,#210812e6,transparent 60%)}
  .contact-art img{object-position:60% center}.contact-page .cta{min-width:235px;margin-top:.4rem}
  footer{font-size:.55rem}
}
@media(max-width:350px){.site-nav{gap:10px}.site-nav a{font-size:.5rem}.wordmark{font-size:.6rem;letter-spacing:.1em}:root{--pad:20px}}
@media(max-height:650px) and (min-width:721px){
  :root{--top:64px;--footer:60px}
  footer{padding-block:18px}
  .hero-copy h1{font-size:clamp(3.5rem,6vw,5.7rem)}.hero-copy>p:not(.eyebrow){font-size:.8rem;margin-top:1rem}.hero-copy .eyebrow{margin-bottom:.75rem}
  .story-copy h2{font-size:clamp(2.5rem,4vw,3.5rem)}.story-copy>p:last-child{font-size:.8rem}.story-copy .eyebrow{margin-bottom:.65rem}
  .product-page,.contact-page{padding-top:calc(var(--top) + 24px);padding-bottom:calc(var(--footer) + 24px)}.page-copy h1{font-size:3.6rem}.contact-page h1{font-size:4.5rem}.page-copy>p:not(.eyebrow){font-size:.8rem}.details{margin:1rem 0}.details>div{padding:.4rem 0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-nav a::after,.cta,.cta span{transition:none}.story.is-ready{height:auto}.story-sticky,.is-ready .story-sticky{position:relative;top:0}.hero-copy{opacity:1!important}.story-ui,.scroll-cue{display:none}.frame img{transform:none}}
