/* 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:15px;line-height:1.7;-webkit-font-smoothing:antialiased}
  img{display:block;width:100%;height:auto}
  a{color:inherit;text-decoration:none}
  .label{font-size:11px;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:11px;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:7fr 5fr;gap:80px;margin:0 auto;padding: 90px var(--margin-page) 90px var(--margin-page);align-items:start}
  .product .crumb{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--slate);margin-bottom:24px;display:block}
  .product h1{font-size:clamp(34px,4vw,50px);line-height:1.14;margin-bottom:16px}
  .product .specs{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin-bottom:28px}
  .product p{color:#55483C;margin-bottom:16px}
  .buy{padding:0;position:sticky;top:120px}
  .buy .price{font-family:var(--serif);font-size:32px;margin-bottom:4px}
  .buy .price-note{font-size:12.5px;color:var(--slate);margin-bottom:26px}
  .buy ul{list-style:none;margin-bottom:30px;font-size:13.5px}
  .buy ul li{padding:9px 0;border-top:1px solid var(--line);line-height:1.5}
  .buy .btn{width:100%;text-align:center}
  .buy .fine{font-size:11.5px;color:var(--slate);margin-top:16px;text-align:center}

  .gallery{margin:0 auto;padding: 0 var(--margin-page) 90px 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: 100px var(--margin-page)}
  .custom h2{color:var(--cream);font-size:clamp(24px,2.6vw,34px);margin:14px 0 18px}
  .custom p{color:#CFC6B8;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)}
    .buy{position:static}
    .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;gap:28px!important}
      [data-mq="footer"] h2{margin-bottom:12px!important}
      [data-mq="footer"]>div{transform:none!important}
      [data-mq="footer-bottom"]{flex-direction:column!important;gap:6px!important;align-items:flex-start!important}
  }
}

@layer proto-inline {
.vh-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)}
.vh-s2{margin: 0px auto; padding: 0 0 0 0; height: 76px; display: flex; align-items: center; justify-content: space-between}
.vh-s3{height: 26px; display: block}
.vh-s4{display: flex; gap: 40px; align-items: center}
.vh-s5{font-size: var(--small); letter-spacing: 0.06em; text-decoration: none; color: var(--brown)}
.vh-s6{object-position: center top}
.vh-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))}
.vh-s8{position: absolute; left: 0px; right: 0px; bottom: 0px; margin: 0px; padding: 0px 0 44px 0; animation: 1800ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 400ms 1 normal both running quoteRise}
.vh-s9{margin: 0px auto}
.vh-s10{font-family: var(--serif); font-size: clamp(1.2rem, 2.2vw, 1.7rem); line-height: 1.45; font-weight: 400; margin: 0px; color: rgb(244, 240, 232)}
.vh-s11{display: block; margin-top: 14px; font-style: normal; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(244, 240, 232, 0.75)}
.vh-s12{display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; margin-bottom: 26px}
.vh-s13{font-family: var(--sans); font-size: 10px; letter-spacing: 0.02em; text-transform: uppercase; font-weight: 400; padding: 12px 2px; white-space: nowrap; cursor: pointer; background: var(--ink); color: var(--paper); border: 1px solid var(--line); transition: background 250ms, color 250ms}
.vh-s14{font-family: var(--sans); font-size: 10px; letter-spacing: 0.02em; text-transform: uppercase; font-weight: 400; padding: 12px 2px; white-space: nowrap; cursor: pointer; background: transparent; color: var(--brown); border: 1px solid var(--line); transition: background 250ms, color 250ms}
.vh-s15{font-size: 11.5px; color: var(--slate); margin: -14px 0px 26px; line-height: 1.6}
.vh-s16{padding: 56px 0 56px 0; border-top: 1px solid var(--line)}
.vh-s17{margin: 0px auto; display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap}
.vh-s18{font-size: 13px; letter-spacing: 0.06em; color: var(--slate)}
.vh-s19{color: var(--ink); text-align: right}
.vh-s20{display: block; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--slate)}
.vh-s21{display: block; font-family: var(--serif); font-size: 22px; margin-top: 6px}
.vh-s22{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)}
.vh-s23{font-size: 0.72rem; letter-spacing: 0.18em; text-transform: uppercase; opacity: 0.65; margin: -14px auto 36px; white-space: nowrap; max-width: none}
.vh-s24{background: var(--ink); color: var(--cream); padding: 0px}
.vh-s25{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}
.vh-s26{height: 22px; width: auto; filter: invert(93%) sepia(8%) saturate(300%) hue-rotate(340deg) brightness(103%)}
.vh-s27{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}
.vh-s28{display: flex; flex-direction: column; gap: 12px; font-size: var(--small)}
.vh-s29{color: var(--cream); text-decoration: none}
.vh-s30{transform: translateX(-18px)}
.vh-s31{color: rgba(234, 227, 214, 0.85)}
.vh-s32{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 {
.vh-h1:hover,a:hover .vh-h1,a:focus-visible .vh-h1{color:var(--ink)}
.vh-h2:hover,a:hover .vh-h2,a:focus-visible .vh-h2{color:var(--brown)}
.vh-h3:hover,a:hover .vh-h3,a:focus-visible .vh-h3{text-decoration:underline;text-underline-offset:3px}
}
