@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/assets/montserrat-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/assets/montserrat-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
:root { --paper:#f7f6f2; --ink:#102a43; --navy:#0a2e5b; --blue:#007acc; --red:#e31e3b; --gold:#f59e0b; --muted:#626f78; }
* { box-sizing:border-box; }
html { min-width:320px; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Montserrat,Arial,sans-serif; -webkit-font-smoothing:antialiased; }
::selection { background:#f7c85e; color:var(--ink); }
.page-shell { width:min(1440px,100%); min-height:100svh; margin:0 auto; padding:0 64px; display:flex; flex-direction:column; }
.site-header { min-height:145px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #dcdedb; gap:24px; }
.brand { display:block; width:224px; margin-left:-32px; line-height:0; }
.brand img { width:100%; height:auto; }
.brand:focus-visible { outline:2px solid var(--blue); outline-offset:6px; border-radius:2px; }
.launch-status { display:flex; align-items:center; gap:11px; font-size:11px; font-weight:600; letter-spacing:.09em; text-transform:uppercase; }
.status-dot { width:7px; height:7px; border-radius:50%; background:var(--blue); box-shadow:0 0 0 5px #007acc0d; flex:none; }
.hero { flex:1; display:grid; grid-template-columns:1.05fr 1fr; gap:38px; align-items:center; padding:48px 0; }
.hero-copy { padding-bottom:10px; }
.eyebrow { display:flex; align-items:center; gap:13px; margin:0 0 29px; color:var(--navy); font-size:10px; font-weight:700; letter-spacing:.18em; }
.eyebrow>span { width:25px; height:2px; background:var(--blue); }
h1 { margin:0 0 29px; font-size:clamp(48px,5.6vw,81px); line-height:1.12; font-weight:700; letter-spacing:-.065em; }
h1>span { display:block; }
.accent-word { color:var(--navy); }
.full-stop { color:var(--gold); }
.intro { margin:0; color:var(--muted); font-size:14px; line-height:1.9; font-weight:400; letter-spacing:-.015em; }
.signature { display:flex; align-items:center; gap:15px; margin-top:41px; }
.signature-line { width:40px; height:1px; background:#b6bebf; }
.signature p { margin:0; font-size:8px; font-weight:600; letter-spacing:.13em; color:#747e84; }
.print-studio { position:relative; height:clamp(430px,58vh,540px); isolation:isolate; background:#092444; overflow:hidden; }
.print-studio::before { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse at 80% 20%,#25456160,transparent 58%),linear-gradient(135deg,#071b30,#0a2e5b); }
.studio-grid { position:absolute; inset:0; opacity:.12; background-image:linear-gradient(#8fa9ba40 1px,transparent 1px),linear-gradient(90deg,#8fa9ba40 1px,transparent 1px); background-size:53px 53px; mask-image:linear-gradient(140deg,#000,transparent 70%); }
.registration { position:absolute; width:23px; height:23px; opacity:.45; }
.registration::before,.registration::after { content:""; position:absolute; background:#b6c6d3; }
.registration::before { left:11px; top:0; height:23px; width:1px; }
.registration::after { top:11px; left:0; width:23px; height:1px; }
.registration-top { top:27px; left:27px; }
.registration-bottom { bottom:27px; right:27px; }
.paper-composition { position:absolute; width:72%; height:64%; top:18%; left:13%; transform:rotate(-11deg); }
.color-sheet { position:absolute; width:88%; height:85%; left:13%; top:5%; transform-origin:15% 90%; box-shadow:0 10px 17px #0000000d; }
.color-sheet-blue { background:var(--blue); transform:rotate(25deg) translate(11%,-12%); }
.color-sheet-red { background:var(--red); transform:rotate(15deg) translate(8%,-6%); }
.color-sheet-gold { background:var(--gold); transform:rotate(6deg) translate(5%,0); }
.paper-back { position:absolute; inset:3% -2% -2% 2%; background:#d7dcda; transform:rotate(2deg); box-shadow:0 25px 34px #00000025; }
.paper-front { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; flex-direction:column; background:#faf9f5; box-shadow:0 2px 4px #0000000a,0 30px 45px #00000028; }
.paper-front::after { content:""; position:absolute; inset:0; opacity:.4; pointer-events:none; background:repeating-linear-gradient(0deg,transparent,transparent 3px,#0a2e5b03 4px); }
.paper-logo { width:95%; height:auto; position:relative; margin-top:3%; }
.paper-rule { width:27%; height:1px; margin:15px 0 12px; background:#ccd3d7; }
.paper-caption { font-size:clamp(5px,.5vw,7px); font-weight:600; letter-spacing:.14em; color:#7a848c; }
.paper-number { position:absolute; bottom:6%; right:7%; font-size:6px; letter-spacing:.12em; color:#9aa4aa; }
.paper-corner { position:absolute; width:12px; height:12px; border-color:#a1afb54d; border-style:solid; }
.corner-top { top:6%; left:7%; border-width:1px 0 0 1px; }
.corner-bottom { bottom:6%; right:7%; border-width:0 1px 1px 0; opacity:0; }
.studio-label { position:absolute; bottom:34px; left:37px; right:37px; display:flex; justify-content:space-between; align-items:center; color:#b1c0ce; font-size:7px; font-weight:500; letter-spacing:.19em; }
.ink-swatches { display:flex; gap:6px; }
.ink-swatches i { width:8px; height:8px; border-radius:50%; background:var(--blue); }
.ink-swatches i:nth-child(2) { background:var(--red); }
.ink-swatches i:nth-child(3) { background:var(--gold); }
.site-footer { min-height:88px; display:flex; justify-content:space-between; align-items:center; gap:20px; border-top:1px solid #dcdedb; color:#626f78; font-size:10px; line-height:1.7; }
.site-footer p { margin:0; }
.site-footer p>span { margin-left:5px; }
.site-footer .domain { color:var(--navy); letter-spacing:.025em; font-size:10px; font-weight:500; white-space:nowrap; }
.domain span { color:var(--blue); font-size:14px; padding-left:5px; }
.brand-edge { display:flex; height:4px; width:100%; }
.brand-edge span { flex:1; background:var(--blue); }
.brand-edge span:nth-child(2) { background:var(--red); }
.brand-edge span:nth-child(3) { background:var(--gold); }
@media (min-width:1600px) { .hero { gap:65px; } }
@media (max-width:1100px) {
  .page-shell { padding:0 40px; }
  .hero { gap:24px; padding:48px 0; }
  .site-header { min-height:124px; }
  .brand { width:202px; margin-left:-28px; }
  h1 { font-size:clamp(43px,5.65vw,66px); }
  .print-studio { height:clamp(375px,53vh,480px); }
  .studio-label { left:25px; right:25px; bottom:27px; }
}
@media (max-width:760px) {
  .page-shell { padding:0 26px; }
  .site-header { min-height:108px; gap:12px; }
  .brand { width:184px; margin-left:-25px; }
  .launch-status { font-size:8px; gap:8px; letter-spacing:.04em; }
  .status-dot { width:5px; height:5px; box-shadow:0 0 0 4px #007acc0d; }
  .hero { grid-template-columns:1fr; gap:37px; padding:47px 0 34px; }
  .hero-copy { padding:0; }
  .eyebrow { font-size:8px; margin-bottom:24px; }
  h1 { font-size:clamp(42px,9.1vw,64px); line-height:1.13; margin-bottom:24px; letter-spacing:-.065em; }
  .intro { font-size:13px; line-height:1.85; }
  .signature { margin-top:25px; }
  .print-studio { width:100%; height:auto; aspect-ratio:1.05/1; }
  .paper-composition { top:17%; height:65%; }
  .paper-caption { font-size:6px; }
  .paper-rule { margin:11px 0; }
  .studio-label { font-size:6px; left:24px; right:24px; bottom:24px; }
  .registration-top { top:19px; left:19px; }
  .registration-bottom { bottom:18px; right:18px; }
  .site-footer { min-height:100px; gap:12px; font-size:8px; }
  .site-footer p:first-child { max-width:210px; }
  .site-footer p:first-child>span { display:block; margin:0; }
  .site-footer .domain { font-size:8px; }
}
@media (prefers-reduced-motion:no-preference) {
  .hero-copy { animation:arrive .65s ease-out both; }
  .print-studio { animation:arrive .8s .08s ease-out both; }
  @keyframes arrive { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
}
