/* GENERATED by build/port_captured.py - do not hand-edit.
   Every rule is a verbatim port of an inline style, style-hover or
   style-focus from the Claude Design prototype.
   Layer order is declared in css/fonts.css; it reproduces the
   prototype's real precedence, where inline styles beat the page's own
   stylesheet and JS-applied hover beats both. */

@layer proto-scoped {
:root{
    --cream:#EAE3D6;
    --paper:#F4F0E8;
    --ink:#3B3128;
    --brown:#494134;
    --slate:#6B6459;
    --mist:#9dacb5;
    --line:#DCD4C5;
    --serif:'STIX Two Text', Georgia, serif;
    --sans:'neue-haas-grotesk-text','Neue Haas Grotesk Text Pro','Helvetica Neue',Helvetica,Arial,sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  @keyframes heroFade{from{opacity:0}to{opacity:1}}
  @keyframes quoteRise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
  @keyframes videoFade{from{opacity:0}to{opacity:1}}
  body{font-family:var(--sans);font-weight:300;background:var(--paper);color:var(--ink);font-size:var(--body);line-height:1.7;-webkit-font-smoothing:antialiased}
  img{display:block;width:100%;height:auto}
  a{color:inherit;text-decoration:none}
  .label{font-size:var(--eyebrow);letter-spacing:.28em;text-transform:uppercase;font-weight:400;color:var(--brown)}
  h1,h2,h3{font-family:var(--serif);font-weight:400}

  .btn{display:inline-block;font-size:var(--eyebrow);letter-spacing:.28em;text-transform:uppercase;border:1px solid var(--ink);padding:16px 42px;transition:all .3s;font-weight:400;cursor:pointer;background:transparent;font-family:var(--sans)}
  .btn:hover{background:var(--ink);color:var(--paper)}
  .btn-solid{background:var(--ink);color:var(--paper)}
  .btn-solid:hover{background:var(--brown);border-color:var(--brown)}

  .hero{position:relative;height:70vh;min-height:420px;overflow:hidden;margin-top:76px}
  .hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:heroFade 2400ms cubic-bezier(.25,.46,.45,.94) both}
  @media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

  .product{display:grid;grid-template-columns:1fr 380px;gap:56px;margin:0 auto;padding: var(--space-5) var(--margin-page) var(--space-5) var(--margin-page);align-items:start}
  .product .crumb{font-size:var(--eyebrow);letter-spacing:.22em;text-transform:uppercase;color:var(--slate);margin-bottom:24px;display:block}
  .product h1{font-size:var(--h1);line-height:1.14;margin-bottom:16px}
  .product p{color:var(--warm-gray);margin-bottom:16px}

  .gallery{margin:0 auto;padding: 0 var(--margin-page) var(--space-5) var(--margin-page);display:grid;grid-template-columns:1fr 1fr;gap:20px}
  .gallery img{aspect-ratio:4/3;object-fit:cover}

  .custom{background:var(--ink);color:var(--cream);text-align:center;padding:var(--space-6) var(--margin-page)}
  .custom h2{color:var(--cream);font-size:var(--h2);margin:14px 0 18px}
  .custom p{color:var(--line);max-width:54ch;margin:0 auto 36px}
  .custom .label{color:var(--mist);display:block}
  .custom .btn{border-color:rgba(234,227,214,.4);color:var(--cream)}
  .custom .btn:hover{background:var(--cream);color:var(--ink);border-color:var(--cream)}

  @media(max-width:900px){
    [data-mq="nav-links"]{gap:18px!important}
    .product{grid-template-columns:1fr;gap:44px;padding: 60px var(--margin-page) 60px var(--margin-page)}
    .gallery{grid-template-columns:1fr;padding: 0 var(--margin-page) 60px var(--margin-page)}
    .hero{height:52vh}
    .custom{padding:70px 24px}
    [data-mq="band"]{grid-template-columns:1fr!important;gap:44px!important}
    [data-mq="footer"]{grid-template-columns:1fr!important}
  }
}

@layer proto-inline {
.rs-s1{position: fixed; top: 0px; left: 0px; right: 0px; z-index: 20; background: rgba(244, 240, 232, 0.92); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line)}
.rs-s2{margin: 0px auto; padding: 0 0 0 0; height: 76px; display: flex; align-items: center; justify-content: space-between}
.rs-s3{height: 26px; display: block}
.rs-s4{display: flex; gap: 40px; align-items: center}
.rs-s5{font-size: var(--small); letter-spacing: 0.06em; text-decoration: none; color: var(--brown)}
.rs-s6{object-position: center center}
.rs-s7{position: absolute; inset: 0px; background: linear-gradient(to top, rgba(43, 29, 19, 0.55), rgba(43, 29, 19, 0.15) 55%, rgba(43, 29, 19, 0.05))}
.rs-s8{position: absolute; left: 0px; right: 0px; bottom: 0px; margin: 0px; padding: 0 0 var(--space-4) 0; animation: 1800ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 400ms 1 normal both running quoteRise}
.rs-s9{margin: 0px auto}
.rs-s10{font-family: var(--serif); font-size: var(--h3); line-height: 1.45; font-weight: 400; margin: 0px; color: rgb(244, 240, 232)}
.rs-s11{display: block; margin-top: 14px; font-style: normal; font-size: var(--eyebrow); letter-spacing: 0.18em; text-transform: uppercase; color: rgba(244, 240, 232, 0.75)}
.rs-s12{position: relative}
.rs-s13{font-size: var(--small); letter-spacing: 0.14em; text-transform: uppercase; color: var(--slate); margin: 0px 0px 28px; line-height: 1.9}
.rs-s14{margin: 0px}
.rs-s15{width: 190px; margin: 166px auto 0px}
.rs-s16{width: 190px; height: 230px; object-fit: cover; object-position: center center; display: block; cursor: zoom-in}
.rs-s17{margin: 22px 0px 0px; font-size: var(--small); line-height: 1.7; color: var(--slate)}
.rs-s18{margin-top: 30px; border-top: 1px solid var(--line)}
.rs-s19{opacity: 0; transform: translateY(16px); transition: opacity 1600ms cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 1600ms cubic-bezier(0.25, 0.46, 0.45, 0.94)}
.rs-s20{cursor: zoom-in; aspect-ratio: 1067 / 1600}
.rs-s21{margin: 0px auto; padding: 0 0 var(--space-5) 0}
.rs-s22{display: grid; grid-template-columns: 1fr 380px; gap: 56px; align-items: start; opacity: 0; transform: translateY(16px); transition: opacity 1600ms cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 1600ms cubic-bezier(0.25, 0.46, 0.45, 0.94)}
.rs-s23{color: var(--warm-gray); margin-bottom: 16px}
.rs-s24{width: 190px; margin: 0px auto}
.rs-s25{padding: var(--space-4) 0 var(--space-4) 0; background: var(--cream); opacity: 0; transform: translateY(16px); transition: opacity 1600ms cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 1600ms cubic-bezier(0.25, 0.46, 0.45, 0.94)}
.rs-s26{margin: 0px auto; display: flex; align-items: baseline; gap: 40px; flex-wrap: wrap}
.rs-s27{margin: 0px; white-space: nowrap}
.rs-s28{margin: 0px; font-size: var(--small); color: var(--warm-gray); line-height: 2}
.rs-s29{width: 100%; height: auto; display: block; cursor: zoom-in}
.rs-s30{padding: var(--space-6) 0 var(--space-6) 0; background: var(--cream); opacity: 0; transform: translateY(16px); transition: opacity 1600ms cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 1600ms cubic-bezier(0.25, 0.46, 0.45, 0.94)}
.rs-s31{max-width: 820px; margin: 0px auto; text-align: center}
.rs-s32{display: block; margin-bottom: 26px}
.rs-s33{font-family: var(--sans); font-size: var(--body); line-height: 1.75; color: var(--warm-gray); margin: 0px; font-weight: 300}
.rs-s34{display: block; margin-top: 16px; font-style: normal; font-size: var(--eyebrow); letter-spacing: 0.18em; text-transform: uppercase; color: var(--slate)}
.rs-s35{padding: var(--space-5) 0 var(--space-5) 0}
.rs-s36{margin: 0px auto; display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap}
.rs-s37{font-size: var(--small); letter-spacing: 0.06em; color: var(--slate)}
.rs-s38{color: var(--ink); text-align: right}
.rs-s39{display: block; font-size: var(--eyebrow); letter-spacing: 0.18em; text-transform: uppercase; color: var(--slate)}
.rs-s40{display: block; font-family: var(--serif); font-size: var(--h4); margin-top: 6px}
.rs-s41{background: var(--ink); color: var(--cream); padding: 0px}
.rs-s42{margin: 0px auto; padding: var(--space-5) 0 var(--space-4) 0; display: grid; grid-template-columns: 1.9fr 1fr 1fr 1fr; gap: 24px; align-items: start}
.rs-s43{height: 22px; width: auto; filter: invert(93%) sepia(8%) saturate(300%) hue-rotate(340deg) brightness(103%)}
.rs-s44{font-size: var(--eyebrow); font-family: var(--sans); font-weight: 400; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(234, 227, 214, 0.65); margin: 0px 0px 30px}
.rs-s45{display: flex; flex-direction: column; gap: 12px; font-size: var(--small)}
.rs-s46{color: var(--cream); text-decoration: none}
.rs-s47{transform: translateX(-18px)}
.rs-s48{color: rgba(234, 227, 214, 0.85)}
.rs-s49{margin: 0px auto; padding: var(--space-4) 0 var(--space-4) 0; display: flex; justify-content: space-between; gap: 16px; font-size: var(--small); letter-spacing: 0.02em; color: rgba(234, 227, 214, 0.55)}
}

@layer proto-state {
.rs-h1:hover,a:hover .rs-h1,a:focus-visible .rs-h1{color:var(--ink)}
.rs-h2:hover,a:hover .rs-h2,a:focus-visible .rs-h2{color:var(--brown)}
.rs-h3:hover,a:hover .rs-h3,a:focus-visible .rs-h3{text-decoration:underline;text-underline-offset:3px}
}
