@font-face{font-family:"Archivo";src:url("fonts/archivo-var-latin.woff2") format("woff2");font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap}

:root{
  --paper:#FFFFFF;--paper-2:#F3F1EC;--ink:#15171C;--muted:#4F5562;--line:#D9D5CD;
  --red:#D52B1E;--red-dark:#B3221A;--red-text:#C42619;--on-red:#FFFFFF;--ok:#1E7B4A;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:72px;--s9:120px;
  --wide:1240px;--text:60ch;--radius:4px;--t:150ms ease;
  --wide-font:125%;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#111317;--paper-2:#1A1D23;--ink:#F1EFEA;--muted:#A8ADB8;--line:#2E333C;--ok:#5FD39A;--red-text:#FF6A5E;color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --paper:#111317;--paper-2:#1A1D23;--ink:#F1EFEA;--muted:#A8ADB8;--line:#2E333C;--ok:#5FD39A;--red-text:#FF6A5E;color-scheme:dark;
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:80px}
body{background:var(--paper);color:var(--ink);font-family:Archivo,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:1.0625rem;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1.5px}
img,svg,iframe{display:block;max-width:100%}
h1,h2,h3{text-wrap:balance}
p,li,dd{text-wrap:pretty}
.wrap{max-width:var(--wide);margin:0 auto;padding:0 var(--s4)}
@media (min-width:720px){.wrap{padding:0 var(--s6)}}
:focus-visible{outline:3px solid currentColor;outline-offset:3px}
.skip{position:absolute;left:-9999px;top:var(--s2);background:var(--ink);color:var(--paper);padding:var(--s2) var(--s4);z-index:30}
.skip:focus{left:var(--s2)}
.ph{border-bottom:2px dotted currentColor}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wide{font-stretch:var(--wide-font)}
.tab{font-variant-numeric:tabular-nums}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 var(--s5);border-radius:var(--radius);font:inherit;font-weight:700;font-stretch:110%;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background-color var(--t),color var(--t),border-color var(--t)}
.btn-red{background:var(--red);color:var(--on-red)}
.btn-red:hover{background:var(--red-dark)}
.btn-ink{background:var(--ink);color:var(--paper)}
.btn-ink:hover{background:var(--red);color:#fff}
.btn-white{background:#fff;color:#15171C}
.btn-white:hover{background:#15171C;color:#fff}
.btn-outline-white{border-color:#fff;color:#fff}
.btn-outline-white:hover{background:#fff;color:#15171C}
.btn[disabled]{opacity:.6;cursor:progress}

/* header */
header.top{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:2px solid var(--ink)}
.top .wrap{display:flex;align-items:center;gap:var(--s5);height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;font-size:1.3rem;letter-spacing:-.02em;margin-right:auto;font-stretch:110%}
.brand b{color:var(--red);font-weight:800}
.nav-list{list-style:none;display:flex;gap:var(--s5)}
.nav-list a{text-decoration:none;font-weight:600}
.nav-list a:hover{color:var(--red-text)}
.top .btn{min-height:42px;padding:0 var(--s4);font-size:.95rem}
.menu-btn{display:none;min-height:42px;padding:0 var(--s3);border:2px solid var(--ink);border-radius:var(--radius);background:transparent;color:var(--ink);font:inherit;font-weight:700;cursor:pointer;align-items:center}
@media (max-width:959px){
  .js .menu-btn{display:inline-flex}
  .js #site-nav{display:none;position:absolute;left:0;right:0;top:64px;background:var(--paper);border-bottom:2px solid var(--ink)}
  .js #site-nav.open{display:block}
  .js .nav-list{flex-direction:column;gap:0;padding:var(--s2) var(--s4) var(--s4)}
  .js .nav-list a{display:block;padding:var(--s3) 0;border-bottom:1px solid var(--line);font-size:1.15rem}
  .js .top .btn{display:none}
  html:not(.js) .nav-list{display:none}
}

/* hero: red poster */
.hero{background:var(--red);color:#fff;overflow:hidden}
.hero .wrap{display:grid;gap:var(--s6);padding-top:var(--s7);padding-bottom:var(--s7)}
@media (min-width:960px){.hero .wrap{grid-template-columns:7fr 5fr;align-items:end;gap:var(--s7);padding-top:var(--s8);padding-bottom:var(--s8)}}
.hero h1{font-stretch:125%;font-weight:800;font-size:clamp(3.6rem,11vw,9.5rem);line-height:.86;letter-spacing:-.03em}
.hero h1 span{display:block}
.hero h1 .last{color:#15171C}
.hero .intro{font-size:clamp(1.15rem,1.6vw,1.35rem);line-height:1.45;max-width:34ch}
.hero .intro strong{font-weight:700}
.hero .actions{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s5)}
.hero :focus-visible{outline-color:#fff}
.strip{border-top:2px solid rgba(255,255,255,.9)}
.strip ul{list-style:none;display:grid;gap:0}
@media (min-width:720px){.strip ul{grid-template-columns:repeat(3,1fr)}}
.strip li{padding:var(--s4) 0;font-weight:700;font-stretch:110%;font-size:1.05rem}
@media (max-width:719px){.strip li+li{border-top:1px solid rgba(255,255,255,.5)}}
@media (min-width:720px){.strip li+li{border-left:1px solid rgba(255,255,255,.5);padding-left:var(--s5)}}

/* section basics */
.sec{padding:var(--s8) 0}
@media (min-width:960px){.sec{padding:var(--s9) 0}}
.sec-title{font-stretch:125%;font-weight:800;font-size:clamp(2.2rem,5.5vw,4.4rem);line-height:.95;letter-spacing:-.03em}
.sec-sub{color:var(--muted);font-size:1.15rem;max-width:46ch;margin-top:var(--s4)}
h3{font-size:1.2rem;font-weight:700;font-stretch:110%;line-height:1.3}

/* demo */
.demo{display:grid;gap:var(--s7);align-items:start}
@media (min-width:960px){.demo{grid-template-columns:auto 1fr;gap:var(--s8)}}
.phone{width:320px;max-width:100%;margin:0 auto;border:10px solid #15171C;border-radius:36px;background:#15171C;box-shadow:16px 16px 0 var(--red)}
.phone iframe{width:100%;height:620px;border:0;border-radius:26px;background:#fff}
.callouts{list-style:none;counter-reset:c;margin-top:var(--s6);border-top:2px solid var(--ink)}
.callouts li{display:grid;grid-template-columns:64px 1fr;gap:var(--s1) var(--s4);padding:var(--s5) 0;border-bottom:1px solid var(--line)}
.callouts li::before{counter-increment:c;content:counter(c,decimal-leading-zero);grid-row:span 2;font-stretch:125%;font-weight:800;font-size:2rem;line-height:1;color:var(--red)}
.callouts p{color:var(--muted)}
.demo-link{display:inline-block;margin-top:var(--s5);font-weight:700}

/* prices: black poster */
.prices{background:#15171C;color:#F1EFEA}
.price-grid{display:grid;gap:var(--s7);margin-top:var(--s7)}
@media (min-width:860px){.price-grid{grid-template-columns:1fr 1fr;gap:0}.price-grid > div+div{border-left:2px solid rgba(255,255,255,.25);padding-left:var(--s7)}}
.price-grid .big{margin-top:0;max-width:none;color:inherit;font-stretch:125%;font-weight:800;line-height:.85;letter-spacing:-.04em;font-size:clamp(6rem,17vw,13rem);font-variant-numeric:tabular-nums}
.big small{display:block;font-size:1.1rem;letter-spacing:.02em;font-stretch:110%;margin-bottom:var(--s3);color:#FF6A5E}
.price-grid p{max-width:34ch;margin-top:var(--s5);font-size:1.15rem;color:#D0D3DA}
.price-grid p strong{color:#fff}
.prices .sec-title{color:#fff}
.prices a{color:#fff}
.prices .fine{margin-top:var(--s7);color:#A8ADB8;font-size:.95rem;max-width:70ch}

/* steps */
.steps{list-style:none;counter-reset:s;display:grid;margin-top:var(--s7);border-top:2px solid var(--ink)}
@media (min-width:860px){.steps{grid-template-columns:repeat(4,1fr)}}
.steps li{padding:var(--s5) 0 var(--s6)}
@media (max-width:859px){.steps li{border-bottom:1px solid var(--line)}}
@media (min-width:860px){.steps li{padding-right:var(--s5)}.steps li+li{border-left:1px solid var(--line);padding-left:var(--s5)}}
.steps li::before{counter-increment:s;content:counter(s);display:block;font-stretch:125%;font-weight:800;font-size:4.5rem;line-height:1;color:var(--red);margin-bottom:var(--s3)}
.steps p{color:var(--muted);margin-top:var(--s2)}
.steps .pay{display:block;margin-top:var(--s4);font-weight:700;font-size:.95rem}
.steps .pay b{color:var(--red-text)}

/* about */
.about{background:var(--paper-2)}
.about-grid{display:grid;gap:var(--s7);align-items:start}
@media (min-width:860px){.about-grid{grid-template-columns:5fr 7fr}}
.portrait{aspect-ratio:4/5;max-width:340px;background:var(--red);color:#fff;display:grid;place-items:end start;padding:var(--s5);font-weight:700;font-stretch:110%}
.statement{font-stretch:112%;font-weight:700;font-size:clamp(1.5rem,2.6vw,2.15rem);line-height:1.2;letter-spacing:-.01em}
.about-grid p+p{margin-top:var(--s4)}
.about-grid .body{color:var(--muted);max-width:var(--text);font-size:1.1rem}

/* faq */
.faq-grid{display:grid;gap:var(--s6)}
@media (min-width:860px){.faq-grid{grid-template-columns:4fr 8fr;gap:var(--s7)}}
.faq{border-top:2px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:var(--s5) 0;font-weight:700;font-size:1.12rem;display:flex;justify-content:space-between;gap:var(--s4);align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.8rem;font-weight:500;color:var(--red);line-height:1;flex:none}
.faq details[open] summary::after{content:"\2212"}
.faq summary:hover{color:var(--red-text)}
.faq details p{padding:0 0 var(--s5);color:var(--muted);max-width:var(--text)}

/* contact */
.contact{border-top:2px solid var(--ink)}
.contact-grid{display:grid;gap:var(--s7)}
@media (min-width:960px){.contact-grid{grid-template-columns:6fr 6fr;gap:var(--s8)}}
.reach{list-style:none;margin-top:var(--s6);display:grid;gap:var(--s4)}
.reach span{display:block;font-size:.95rem;color:var(--muted)}
.reach a,.reach b{font-stretch:120%;font-weight:800;font-size:clamp(1.5rem,3vw,2.2rem);text-decoration:none;line-height:1.1}
.reach a:hover{color:var(--red-text)}
form{display:grid;gap:var(--s5)}
.two{display:grid;gap:var(--s5)}
@media (min-width:600px){.two{grid-template-columns:1fr 1fr}}
.field{display:grid;gap:6px}
.field label{font-weight:700;font-size:.95rem}
.field .opt{font-weight:400;color:var(--muted)}
input,textarea,select{font:inherit;color:var(--ink);background:var(--paper);border:2px solid var(--ink);border-radius:var(--radius);padding:11px 13px;width:100%}
input:focus,textarea:focus,select:focus{outline:3px solid var(--red);outline-offset:1px}
textarea{min-height:120px;resize:vertical}
.err{color:var(--red-text);font-size:.92rem;font-weight:700;display:none}
.field.invalid input,.field.invalid textarea{border-color:var(--red)}
.field.invalid .err{display:block}
.hp{position:absolute;left:-9999px}
.form-msg{padding:var(--s4) var(--s5);border:2px solid var(--red);display:none}
.form-msg.show{display:block}
.form-msg.ok{border-color:var(--ok)}
.form-msg h3{margin-bottom:var(--s1)}
.small{font-size:.92rem;color:var(--muted)}

/* legal pages */
.legal{padding:var(--s7) 0 var(--s9)}
.legal .wrap{max-width:780px}
.legal h1{font-stretch:125%;font-weight:800;font-size:clamp(2.2rem,6vw,3.4rem);line-height:1;letter-spacing:-.03em;margin-bottom:var(--s3)}
.legal h2{font-size:1.3rem;font-stretch:110%;margin:var(--s7) 0 var(--s2)}
.legal p,.legal li{color:var(--muted)}
.legal p+p{margin-top:var(--s3)}
.legal ul{padding-left:22px;display:grid;gap:6px;margin-top:var(--s3)}
.draft{border-left:6px solid var(--red);background:var(--paper-2);padding:var(--s4) var(--s5);margin:var(--s5) 0 var(--s2);font-size:.95rem}
.mt-4{margin-top:var(--s4)}.mt-6{margin-top:var(--s6)}

footer{background:#15171C;color:#C9CDD5;padding:var(--s6) 0;font-size:.95rem}
footer .wrap{display:flex;flex-wrap:wrap;gap:var(--s4) var(--s6);justify-content:space-between;align-items:center}
footer nav ul{list-style:none;display:flex;gap:var(--s5);flex-wrap:wrap}
footer a{color:#fff}
footer :focus-visible{outline-color:#fff}

@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.demo > *{min-width:0}
.demo{grid-template-columns:minmax(0,1fr)}@media (min-width:960px){.demo{grid-template-columns:auto 1fr}}
@media (max-width:859px){
  .portrait{max-width:200px}
  .steps li{display:grid;grid-template-columns:56px 1fr;column-gap:var(--s3)}
  .steps li::before{grid-row:span 3;font-size:3rem;margin:0}
}

/* v4.1 photos */
.hero-grid{display:grid;gap:var(--s6);padding-top:var(--s7);padding-bottom:var(--s7)}
.hero .wrap.hero-grid{display:grid}
@media (min-width:960px){.hero .wrap.hero-grid{grid-template-columns:7fr 5fr;align-items:stretch;gap:var(--s7);padding-top:var(--s8);padding-bottom:var(--s8)}}
.hero-text .intro{margin-top:var(--s6)}
.hero-photo{margin:0;background:#9E1F15;min-height:260px;position:relative;overflow:hidden}
.hero-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.15);mix-blend-mode:multiply}
@media (max-width:959px){.hero-photo{aspect-ratio:16/10;min-height:0}}
.hero-photo.noimg{background:#B3221A}
.places{padding:var(--s7) 0 0}
.place-grid{list-style:none;display:grid;gap:var(--s5)}
@media (min-width:720px){.place-grid{grid-template-columns:repeat(3,1fr)}}
.place-grid figure{margin:0}
.ph-img{aspect-ratio:4/5;background:var(--paper-2);overflow:hidden}
@media (max-width:719px){.ph-img{aspect-ratio:3/2}}
.ph-img img{width:100%;height:100%;object-fit:cover}
.place-grid figcaption{padding-top:var(--s3);border-top:2px solid var(--ink);margin-top:var(--s3);color:var(--muted)}
.place-grid figcaption b{display:block;color:var(--ink);font-stretch:115%;font-size:1.2rem}
.credits{margin-top:var(--s4);font-size:.85rem;color:var(--muted)}
.hero .wrap.strip{display:block;padding-top:0;padding-bottom:var(--s3)}
.hero-photo.noimg{display:none}
.ph-img:not(:has(img)){display:none}

.legal h1,.legal h2,.legal p,.legal li{overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}

/* page-to-page fade and smooth FAQ answers (ignored by browsers without support) */
@view-transition{navigation:auto}
::view-transition-old(root){animation:x-vt-out .2s cubic-bezier(.3,0,.8,.15) both}
::view-transition-new(root){animation:x-vt-in .45s cubic-bezier(.05,.7,.1,1) both}
@keyframes x-vt-out{to{opacity:0}}
@keyframes x-vt-in{from{opacity:0;transform:translateY(8px)}}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}
@supports selector(::details-content){@media (prefers-reduced-motion:no-preference){:root{interpolate-size:allow-keywords}details::details-content{block-size:0;overflow:hidden;transition:block-size .35s cubic-bezier(.2,0,0,1),content-visibility .35s allow-discrete}details[open]::details-content{block-size:auto}}}
