/* shared by all three drafts */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:Archivo,Arial,Helvetica,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}
h1,h2,h3,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:root{--red:#FF0033;--red-d:#C80028;--ink:#262F33;--black:#0E1113;--paper:#F5F4F2;--sand:#EBE6DD;--mono:"Cutive Mono",ui-monospace,Menlo,monospace}
.wrap{width:min(1240px,100% - 32px);margin-inline:auto}
@media(min-width:800px){.wrap{width:min(1240px,100% - 80px)}}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
section[id],article[id]{scroll-margin-top:84px}
.eyebrow{font-family:var(--mono);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:52px;padding:0 28px;background:var(--red);color:#fff;font-weight:800;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border:0;border-radius:0;cursor:pointer;transition:background .2s,transform .2s}
.btn:hover{background:var(--red-d);transform:translateY(-2px)}
.btn.sm{min-height:44px;padding:0 18px;font-size:.8rem}
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}.btn:hover{transform:none}}

/* film player: poster, tap to play */
.film-box{position:relative;aspect-ratio:9/16;background:#000;overflow:hidden}
.film-box video{width:100%;height:100%;object-fit:cover}
.film-box button{position:absolute;inset:0;margin:auto;width:84px;height:84px;border-radius:50%;border:0;background:var(--red);cursor:pointer;display:grid;place-items:center;transition:transform .2s,background .2s;box-shadow:0 10px 40px rgba(0,0,0,.45)}
.film-box button::after{content:"";position:absolute;inset:-2000px}
.film-box button:hover{transform:scale(1.08);background:var(--red-d)}
.film-box svg{width:34px;height:34px;fill:#fff;margin-left:4px}
.film.is-playing button{display:none}
.film figcaption{font-family:var(--mono);font-size:.85rem;padding-top:10px;display:flex;justify-content:space-between;gap:12px}
.film figcaption b{font-weight:400;letter-spacing:.06em;text-transform:uppercase}
.film .credit{font-size:.7rem;opacity:.6;line-height:1.4;padding-top:4px}

/* inquiry form */
.lead{display:grid;gap:18px}
.lead .row{display:grid;gap:18px}
@media(min-width:700px){.lead .two{grid-template-columns:1fr 1fr}.lead .three{grid-template-columns:1fr 1fr 1fr}}
.lead label{display:grid;gap:6px;font-family:var(--mono);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.lead label i{font-style:normal;opacity:.6;text-transform:none;letter-spacing:0}
.lead input,.lead select,.lead textarea{width:100%;min-height:52px;padding:12px 14px;font-family:Archivo,Arial,sans-serif;font-size:1rem;letter-spacing:0;text-transform:none;border:1.5px solid currentColor;border-radius:0;background:transparent}
.lead select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 22px) 23px,calc(100% - 16px) 23px;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px;cursor:pointer}
.lead select option{color:#111;background:#fff}
.lead textarea{resize:vertical}
.lead .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.lead .send{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
.lead .alt{font-size:.9rem}
.lead .note{min-height:1.5em;font-weight:600}
.lead .note.bad{text-decoration:underline}
.lead.is-sent .row,.lead.is-sent>label,.lead.is-sent .send{display:none}
.lead.is-sent .note{font-size:1.3rem;line-height:1.4}

.facts li{position:relative;padding:10px 0 10px 26px;border-top:1px solid color-mix(in srgb,currentColor 22%,transparent)}
.facts li::before{content:"";position:absolute;left:0;top:19px;width:12px;height:2px;background:var(--red)}
.addr{font-family:var(--mono);font-size:.9rem;letter-spacing:.04em}
.best{display:flex;flex-wrap:wrap;gap:8px}
.best span{font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border:1px solid currentColor}

.places li{display:grid;grid-template-columns:1fr;gap:2px 20px;padding:18px 0;border-top:1px solid color-mix(in srgb,currentColor 22%,transparent);align-items:baseline}
.places b{font-size:1.25rem;font-weight:800}
.places span{font-family:var(--mono);font-size:.88rem}
.places a{font-family:var(--mono);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;text-underline-offset:4px;justify-self:start;padding:8px 0}
.places a:hover{color:var(--red)}
@media(min-width:800px){.places li{grid-template-columns:1fr 1.2fr auto}.places a{justify-self:end}}

.foot{background:var(--black);color:#fff;padding:56px 0 28px;font-size:.92rem}
.foot-in{display:grid;gap:28px}
@media(min-width:800px){.foot-in{grid-template-columns:auto 1fr 1fr 1fr;gap:48px}}
.foot a{text-decoration:none}.foot a:hover{color:var(--red)}
.foot .fine{margin-top:36px;padding-top:18px;border-top:1px solid rgba(255,255,255,.15);font-family:var(--mono);font-size:.75rem;opacity:.6}

/* ===== DRAFT 2: light, editorial gallery ===== */
body{background:var(--paper);color:var(--ink);font-family:var(--mono);font-size:1rem}
h1,h2{font-family:Archivo,Arial,sans-serif;font-stretch:68%;font-weight:900;line-height:.86;letter-spacing:-.01em;text-transform:uppercase}

.bar{position:sticky;top:0;z-index:20;background:var(--red);color:#fff;display:flex;justify-content:space-between;align-items:center;height:76px;padding-right:16px}
.bar .logo img{width:76px;height:76px}
.bar nav{display:flex;align-items:center;gap:28px}
.bar nav a{display:none;font-family:Archivo,Arial,sans-serif;font-weight:700;font-size:.95rem;text-decoration:none;padding:12px 0}
.bar nav a:hover{text-decoration:underline;text-underline-offset:6px}
.bar nav .pill{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;background:#fff;color:var(--red);font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:.82rem}
.bar nav .pill:hover{background:var(--ink);color:#fff;text-decoration:none}
@media(min-width:960px){.bar{padding-right:40px}.bar nav a{display:block}}

.hero{padding:clamp(36px,6vw,80px) 0 clamp(56px,8vw,110px)}
.hero h1{font-size:clamp(3.6rem,15.5vw,15rem);margin:14px 0 0 -.04em}
.hero-row{display:grid;gap:22px;margin:28px 0 44px;justify-items:start}
.hero-row p{max-width:44ch;font-size:1.05rem}
@media(min-width:900px){.hero-row{grid-template-columns:1fr auto;align-items:end;gap:60px}}
.mosaic{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tile{position:relative;display:block;text-decoration:none;color:#fff;overflow:hidden;background:#111}
.tile video{width:100%;aspect-ratio:9/14;object-fit:cover;transition:transform 1s ease}
.tile:hover video{transform:scale(1.05)}
.tile span{position:absolute;left:0;right:0;bottom:0;padding:44px 14px 12px;background:linear-gradient(transparent,rgba(0,0,0,.8));font-family:Archivo,Arial,sans-serif;font-weight:800;font-size:1.05rem;text-transform:uppercase;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.tile span i{font-family:var(--mono);font-style:normal;font-weight:400;font-size:.78rem;color:var(--red)}
.tile span em{font-family:var(--mono);font-style:normal;font-weight:400;font-size:.72rem;text-transform:none;margin-left:auto;opacity:.85}
@media(min-width:900px){
  .mosaic{grid-template-columns:repeat(4,1fr);gap:18px;align-items:start}
  .tile.t2{margin-top:70px}.tile.t3{margin-top:24px}.tile.t4{margin-top:110px}
}

.index{background:var(--ink);color:#fff;padding:clamp(56px,8vw,110px) 0}
.index .eyebrow{color:var(--red);margin-bottom:22px}
.index a{display:grid;grid-template-columns:auto 1fr auto;gap:6px 18px;align-items:baseline;padding:22px 0;border-top:1px solid rgba(255,255,255,.2);text-decoration:none;transition:padding .3s,color .3s}
.index li:last-child a{border-bottom:1px solid rgba(255,255,255,.2)}
.index i{font-style:normal;font-size:.8rem;color:var(--red)}
.index b{font-family:Archivo,Arial,sans-serif;font-stretch:68%;font-weight:900;font-size:clamp(2.4rem,8vw,6.4rem);line-height:.9;text-transform:uppercase}
.index span,.index em{grid-column:2;font-style:normal;font-size:.82rem;opacity:.75}
.index svg{grid-row:1;grid-column:3;width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2;align-self:center;transition:transform .3s}
.index a:hover{color:var(--red);padding-left:14px}.index a:hover svg{transform:translateX(8px)}
@media(min-width:900px){
  .index a{grid-template-columns:60px 1.4fr 1fr 140px 40px}
  .index i{grid-column:1}.index b{grid-column:2}
  .index span{grid-column:3;font-size:.88rem}.index em{grid-column:4;font-size:.88rem}
  .index svg{grid-column:5}
}

.chapter{padding:clamp(64px,9vw,130px) 0}
.ch-head{display:flex;align-items:flex-start;gap:16px;border-top:6px solid currentColor;padding-top:18px;margin-bottom:clamp(28px,4vw,56px)}
.ch-head .num{font-size:.9rem;color:var(--red);padding-top:6px}
.ch-head h2{font-size:clamp(3.6rem,15vw,13rem)}
.ch-body{display:grid;gap:36px}
.ch-text{display:grid;gap:18px;align-content:start;justify-items:start}
.ch-text .eyebrow{color:var(--red)}
.ch-text .lede{font-family:Archivo,Arial,sans-serif;font-weight:700;font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.25;max-width:26ch}
.ch-text .facts{width:100%;font-size:.95rem}
.ch-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ch-gallery img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/4}
.g-b{grid-row:span 2}
@media(min-width:960px){
  .ch-body{grid-template-columns:minmax(300px,.8fr) 1.6fr;gap:72px}
  .ch-text{position:sticky;top:110px}
  .ch-gallery{grid-template-columns:1fr 1.1fr 1fr;gap:16px;align-items:start}
  .g-a{margin-top:60px}.g-b{grid-row:span 2}.g-c{margin-top:0}.g-d{margin-top:-40px}.g-e{margin-top:16px}
}
.c-avalon{background:#fff}
.c-ls{background:var(--sand)}
.c-pw{background:var(--ink);color:#fff}
.c-wc{background:#fff}

.more{padding:clamp(64px,9vw,120px) 0;background:var(--sand)}
.more h2{font-size:clamp(2.6rem,7vw,6rem);margin:12px 0 36px}
.more .eyebrow{color:var(--red)}
.places b{font-family:Archivo,Arial,sans-serif}
.about{padding:clamp(64px,9vw,120px) 0;background:var(--paper)}
.about-in{display:grid;gap:28px}
.about h2{font-size:clamp(2.6rem,7vw,6rem)}
.about p{max-width:56ch;font-size:1.05rem}.about p+p{margin-top:1em}
@media(min-width:900px){.about-in{grid-template-columns:1fr 1.2fr;gap:72px}}

.inquire{padding:clamp(64px,9vw,130px) 0;background:var(--red);color:#fff}
.inquire-in{display:grid;gap:40px}
.inquire h2{font-size:clamp(3rem,8vw,7rem);margin:12px 0 18px}
.inquire p{max-width:34ch}
.inquire .lead input,.inquire .lead select,.inquire .lead textarea{border-width:0 0 2px 0;padding-left:0}
.inquire .btn{background:#fff;color:var(--red)}.inquire .btn:hover{background:var(--ink);color:#fff}
.inquire ::placeholder{color:rgba(255,255,255,.6)}
@media(min-width:960px){.inquire-in{grid-template-columns:1fr 1.25fr;gap:72px}}
.foot{font-family:Archivo,Arial,sans-serif}
