@font-face {
  font-family:Figtree;
  src:url('fonts/figtree-regular.ttf') format('truetype');
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
@font-face {
  font-family:Figtree;
  src:url('fonts/figtree-semibold.ttf') format('truetype');
  font-style:normal;
  font-weight:600;
  font-display:swap;
}
@font-face {
  font-family:Figtree;
  src:url('fonts/figtree-bold.ttf') format('truetype');
  font-style:normal;
  font-weight:700;
  font-display:swap;
}
@font-face {
  font-family:'Libre Baskerville';
  src:url('fonts/libre-baskerville-italic.ttf') format('truetype');
  font-style:italic;
  font-weight:400;
  font-display:swap;
}
@font-face {
  font-family:'DM Mono';
  src:url('fonts/dm-mono-regular.ttf') format('truetype');
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
:root {
  --paper:#FBF5F1;
  --ink:#0F0E0D;
  --orange:#DD5301;
  --tan:#E1A051;
  --olive:#9A864A;
  --muted:#675F58;
  --line:#E4DCD7;
  --gutter:clamp(24px,5.556vw,112px);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:32px; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.5 Figtree,Arial,sans-serif; -webkit-font-smoothing:antialiased; }
h1,h2,h3,p { margin:0; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
::selection { background:var(--tan); color:var(--ink); }
a:focus-visible { outline:2px solid var(--orange); outline-offset:6px; }
main:focus,.in-the-works:focus { outline:none; }
.skip-link { position:fixed; top:12px; left:16px; z-index:10; padding:12px 20px; background:var(--ink); color:var(--paper); transform:translateY(-200%); }
.skip-link:focus { transform:translateY(0); }
.eyebrow { font:11px/1.5 'DM Mono',monospace; letter-spacing:.065em; }
.site-header { height:108px; padding:0 var(--gutter); display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); }
.brand { display:block; }
.brand img { width:151px; height:48px; object-fit:contain; }
.launch-status { display:flex; align-items:center; gap:11px; font:11px/1.4 'DM Mono',monospace; letter-spacing:.09em; }
.launch-status>span { display:block; width:7px; height:7px; border-radius:50%; background:var(--orange); box-shadow:0 0 0 4px #dd530111; }
.hero { position:relative; isolation:isolate; overflow:hidden; min-height:756px; }
.hero-photo { position:absolute; inset:0 0 0 46%; z-index:-3; }
.hero-photo picture,.hero-photo img { display:block; width:100%; height:100%; }
.hero-photo img { object-fit:cover; object-position:70% center; }
.hero-photo::after { content:''; position:absolute; inset:60% 0 0; background:linear-gradient(transparent,#0f0e0d7a); }
.hero-cut { position:absolute; inset:0 auto 0 45.9%; width:340px; z-index:-2; background:var(--paper); clip-path:polygon(0 0,100% 0,0 100%); }
.hero-stripes { position:absolute; left:46%; top:0; width:440px; height:100%; z-index:-1; pointer-events:none; }
.hero-stripes i { position:absolute; inset:0 auto 0 0; width:370px; background:var(--orange); clip-path:polygon(92% 0,100% 0,8% 100%,0 100%); }
.hero-stripes i:nth-child(2) { left:37px; background:var(--tan); }
.hero-stripes i:nth-child(3) { left:74px; background:var(--olive); }
.hero-copy { width:630px; max-width:54%; margin-left:var(--gutter); padding:70px 0 42px; }
.hero-eyebrow { margin-bottom:31px; }
.hero h1 { font-size:clamp(86px,8.3vw,128px); font-weight:700; letter-spacing:-.055em; line-height:.92; margin-left:-5px; margin-bottom:30px; }
.tagline { max-width:470px; font:italic 21px/1.5 'Libre Baskerville',Georgia,serif; margin-bottom:22px; }
.hero-description { max-width:440px; font-size:17px; line-height:1.6; color:var(--muted); margin-bottom:30px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:28px; min-height:54px; padding:14px 25px; border:1px solid var(--orange); border-radius:999px; background:var(--orange); color:var(--ink); font-size:15px; font-weight:600; transition:background-color 125ms,border-color 125ms; }
.button:hover { background:#ed6a1d; border-color:#ed6a1d; }
.button span { font-size:21px; line-height:1; }
.hero-footnote { margin-top:30px; font-size:10px; color:var(--muted); }
.photo-caption { position:absolute; bottom:30px; right:var(--gutter); left:150px; z-index:1; display:flex; gap:24px; justify-content:space-between; color:var(--paper); font:10px/1.4 'DM Mono',monospace; letter-spacing:.08em; }
.in-the-works { padding:78px var(--gutter) 76px; border-top:1px solid var(--line); }
.section-heading { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:16px 48px; margin-bottom:48px; }
.section-heading>.eyebrow { grid-column:1/-1; margin-bottom:4px; }
.section-heading h2 { font-size:clamp(44px,4.2vw,64px); line-height:.98; font-weight:700; letter-spacing:-.04em; }
.section-heading>p:last-child { justify-self:end; font-size:16px; line-height:1.55; color:var(--muted); padding-right:14%; }
.service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.service { padding:0 36px; border-left:1px solid var(--line); display:flex; flex-direction:column; align-items:start; }
.service:first-child { border-left:0; padding-left:0; }
.service:last-child { padding-right:0; }
.service-top { display:flex; width:100%; min-height:42px; align-items:center; justify-content:space-between; gap:12px; margin-bottom:27px; }
.service-top .eyebrow { font-size:10px; }
.service-top svg { flex:0 0 42px; color:var(--orange); }
.service h3 { font-size:30px; line-height:1.08; letter-spacing:-.035em; margin-bottom:18px; }
.service>p { color:var(--muted); font-size:16px; line-height:1.65; max-width:330px; margin-bottom:24px; }
.service-note { margin-top:auto; font-size:9px; letter-spacing:.06em; color:var(--muted); }
.closing-note { position:relative; overflow:hidden; min-height:230px; padding:48px var(--gutter) 48px 30%; background:#FCEBDA; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.closing-note>p { font:italic 22px/1.5 'Libre Baskerville',Georgia,serif; }
.closing-note strong { font:700 clamp(40px,4.2vw,64px)/1.1 Figtree,Arial,sans-serif; letter-spacing:-.04em; }
.closing-note>.eyebrow { font-size:10px; max-width:200px; }
.closing-stripes { position:absolute; top:-110px; bottom:-110px; left:0; width:300px; display:flex; gap:24px; transform:rotate(-25deg); pointer-events:none; }
.closing-stripes i { width:48px; flex-shrink:0; background:var(--orange); }
.closing-stripes i:nth-child(2) { background:var(--tan); }
.closing-stripes i:nth-child(3) { background:var(--olive); }
.site-footer { min-height:92px; padding:28px var(--gutter); background:#151210; color:#bfb1a6; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.site-footer>p:last-child { font-size:12px; }
.faq-section { display:grid; grid-template-columns:1fr 1.2fr; gap:64px; padding:72px var(--gutter) 80px; border-top:1px solid var(--line); }
.faq-intro>.eyebrow { margin-bottom:22px; }
.faq-intro h2 { font-size:clamp(44px,4.2vw,64px); line-height:.98; letter-spacing:-.04em; margin-bottom:24px; }
.faq-intro>p:last-child { color:var(--muted); font-size:16px; }
.faq-item { padding:23px 0; border-top:1px solid var(--line); }
.faq-item:last-child { border-bottom:1px solid var(--line); }
.faq-item summary { display:flex; align-items:baseline; justify-content:space-between; gap:20px; list-style:none; font-size:19px; font-weight:600; line-height:1.4; cursor:pointer; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:'+'; flex:0 0 18px; font:20px/1.4 'DM Mono',monospace; color:var(--muted); }
.faq-item[open] summary::after { content:'−'; }
.faq-item summary:focus-visible { outline:2px solid var(--orange); outline-offset:6px; }
.faq-item>p { margin-top:16px; padding-right:32px; color:var(--muted); font-size:16px; line-height:1.7; }
@media(min-width:1800px) {
  .hero-copy { padding-top:96px; padding-bottom:64px; }
  .hero { min-height:830px; }
}
@media(max-width:1150px) {
  .hero { min-height:720px; }
  .hero-copy { max-width:57%; padding-top:64px; }
  .hero h1 { font-size:clamp(86px,9.3vw,107px); }
  .hero-description { max-width:360px; font-size:16px; }
  .tagline { font-size:19px; max-width:350px; }
  .desktop-break { display:none; }
  .hero-cut { width:280px; }
  .hero-stripes i { width:305px; }
  .hero-stripes i:nth-child(2) { left:31px; }
  .hero-stripes i:nth-child(3) { left:62px; }
  .photo-caption { left:150px; right:24px; font-size:9px; }
  .photo-caption>span:first-child { display:none; }
  .photo-caption>span:last-child { margin-left:auto; }
  .service { padding:0 24px; }
  .service h3 { font-size:26px; }
  .service-top .eyebrow { font-size:9px; }
  .section-heading>p:last-child { padding-right:0; }
}
@media(max-width:760px) {
  html { scroll-padding-top:24px; }
  .site-header { height:88px; }
  .brand img { width:132px; height:42px; }
  .launch-status { font-size:9px; gap:9px; letter-spacing:.06em; }
  .launch-status>span { width:6px; height:6px; }
  .hero { display:flex; flex-direction:column; min-height:0; }
  .hero-copy { order:0; width:auto; max-width:none; margin:0; padding:48px var(--gutter) 42px; }
  .hero-eyebrow { font-size:9px; margin-bottom:28px; }
  .hero h1 { font-size:clamp(68px,13vw,96px); margin-left:-3px; margin-bottom:28px; }
  .tagline { font-size:18px; max-width:440px; margin-bottom:22px; }
  .hero-description { font-size:16px; max-width:440px; margin-bottom:26px; }
  .hero-footnote { font-size:8px; margin-top:26px; }
  .hero-photo { position:relative; inset:auto; order:1; width:100%; height:clamp(285px,62vw,440px); z-index:auto; }
  .hero-photo img { object-position:center 55%; }
  .hero-cut { display:none; }
  .hero-stripes { top:auto; bottom:0; left:-90px; height:clamp(285px,62vw,440px); width:240px; z-index:1; }
  .hero-stripes i { width:195px; clip-path:polygon(84% 0,100% 0,16% 100%,0 100%); }
  .hero-stripes i:nth-child(2) { left:39px; }
  .hero-stripes i:nth-child(3) { left:78px; }
  .photo-caption { bottom:22px; right:24px; left:auto; }
  .in-the-works { padding-top:52px; padding-bottom:52px; }
  .section-heading { grid-template-columns:1fr; gap:18px; margin-bottom:36px; }
  .section-heading h2 { font-size:48px; }
  .section-heading>p:last-child { justify-self:start; font-size:15px; }
  .section-heading>p:last-child br { display:none; }
  .service-grid { grid-template-columns:1fr; }
  .service { border-left:0; border-top:1px solid var(--line); padding:28px 0 !important; }
  .service:last-child { padding-bottom:0 !important; }
  .service-top { margin-bottom:16px; }
  .service-top .eyebrow { font-size:10px; }
  .service h3 { font-size:32px; }
  .service>p { max-width:500px; margin-bottom:20px; }
  .service-note { font-size:9px; }
  .faq-section { grid-template-columns:1fr; gap:32px; padding-top:52px; padding-bottom:52px; }
  .faq-intro h2 { font-size:48px; }
  .faq-item summary { font-size:18px; }
  .faq-item>p { padding-right:0; }
  .closing-note { min-height:250px; flex-direction:column; align-items:start; justify-content:center; padding:44px 24px 44px 96px; gap:22px; }
  .closing-note>p { font-size:18px; }
  .closing-note strong { font-size:clamp(35px,7.8vw,51px); }
  .closing-note>.eyebrow { font-size:8px; }
  .closing-stripes { left:-140px; gap:20px; width:230px; }
  .closing-stripes i { width:35px; }
  .site-footer { align-items:start; flex-direction:column; justify-content:center; gap:10px; min-height:100px; }
  .site-footer .eyebrow { font-size:9px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .button { transition:none; }
}
