@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@300;400;500;600&display=swap');
:root{
  --bg:#0E0D0B;--bg2:#141210;--rule:#2A2622;--rule2:#1E1B18;
  --fg:#FFFFFF;--body:#C8C8C8;--muted:#9A9A9A;--dim:#6A6A6A;
  --sand:#D5CEB3;--sand-ink:#0A0A0A;--sand-body:#3A3732;--sand-rule:#A6A294;--sand-muted:#6F6B5F;
  --font:"Barlow",system-ui,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);font-size:17px;line-height:1.5;color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-weight:300;line-height:1;letter-spacing:-.01em;margin:0 0 18px;text-wrap:balance}
h1{font-size:clamp(44px,7vw,84px)}
h2{font-size:clamp(34px,4.6vw,64px)}
h3{font-size:clamp(22px,2.4vw,32px)}
p{margin:0 0 16px;text-wrap:pretty}
a{color:var(--fg);text-decoration:none;transition:color .2s var(--ease),border-color .2s var(--ease),background .2s var(--ease)}
a:hover{color:var(--sand)}
img{max-width:100%;display:block}
.wrap{padding-left:24px;padding-right:24px}
@media(min-width:800px){.wrap{padding-left:48px;padding-right:48px}}
.eyebrow{font-size:12px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--sand);margin:0 0 18px;display:block}
.label{font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--sand)}
.body{font-size:17px;line-height:1.6;color:var(--body)}
.muted{color:var(--muted)}
.max{max-width:52ch}

/* buttons */
.btn{display:inline-block;min-width:200px;text-align:center;font-family:var(--font);font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;padding:16px 28px;border:1px solid transparent;border-radius:0;cursor:pointer;line-height:1}
@media(min-width:800px){.btn{min-width:240px}}
.btn-sand{background:var(--sand);color:var(--sand-ink);border-color:var(--sand)}
.btn-sand:hover{background:#fff;border-color:#fff;color:var(--sand-ink)}
.btn-ghost{border-color:rgba(255,255,255,.6);color:#fff;background:rgba(0,0,0,.35)}
.btn-ghost:hover{border-color:#fff;background:rgba(0,0,0,.6);color:#fff}
.btn-ink{background:var(--sand-ink);color:var(--sand);border-color:var(--sand-ink)}
.btn-ink:hover{background:#2a2622;color:#fff;border-color:#2a2622}
.btn-ink-ghost{border-color:var(--sand-ink);color:var(--sand-ink);background:transparent}
.btn-ink-ghost:hover{background:var(--sand-ink);color:var(--sand)}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}

/* header */
.site-header{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:20px 24px}
@media(min-width:800px){.site-header{padding:28px 48px}}
.site-header.solid{position:sticky;background:var(--bg);border-bottom:1px solid var(--rule)}
.site-header .logo img{height:34px;width:auto}
@media(min-width:800px){.site-header .logo img{height:44px}}
.nav{display:flex;align-items:center;gap:40px;font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}
.nav a.on{border-bottom:1px solid var(--sand);padding-bottom:3px}
.nav-toggle{display:none;background:none;border:0;color:#fff;font-family:var(--font);font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;padding:8px 0}
@media(max-width:900px){
  .nav{display:none;position:absolute;left:0;right:0;top:74px;background:var(--bg);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);flex-direction:column;align-items:flex-start;gap:0;padding:8px 24px 16px}
  .nav.open{display:flex}
  .nav a{padding:14px 0;width:100%;border-bottom:1px solid var(--rule2)}
  .nav a.on{border-bottom:1px solid var(--sand)}
  .nav-toggle{display:block}
}

/* screens */
.screen{position:relative;min-height:88vh;overflow:hidden;background:var(--bg);display:flex;align-items:flex-end}
.screen.hero{min-height:100vh;align-items:flex-end;justify-content:center}
.screen .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.screen .float{position:absolute;left:50%;top:50%;width:min(1240px,120vw);max-width:none;height:auto;transform:translate(-50%,-52%)}
@media(max-width:600px){.screen .float{width:100vw!important}}
.screen .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,13,11,.15) 0%,rgba(14,13,11,0) 35%,rgba(14,13,11,.88) 100%)}
.screen .scrim-hero{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,13,11,.35) 0%,rgba(14,13,11,0) 22%,rgba(14,13,11,.25) 48%,rgba(14,13,11,.92) 100%)}
.screen .content{position:relative;z-index:2;width:100%;padding:0 24px 56px}
@media(min-width:800px){.screen .content{padding:0 48px 72px}}
.screen .content.center{text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px;padding-bottom:88px}
.screen .content.center p{max-width:52ch;margin:0}
.screen .row{display:grid;gap:24px;align-items:end}
@media(min-width:900px){.screen .row{grid-template-columns:7fr 2fr 3fr}.screen .row .cta{grid-column:3;display:flex;justify-content:flex-end}}
.screen .row p{margin:0}
.img-dim{filter:saturate(.55) contrast(1.1) brightness(.9)}
.img-photo{filter:grayscale(.3) contrast(1.1) brightness(.75)}
.img-rig{filter:grayscale(.45) contrast(1.2) brightness(.5);object-position:center 60%}

/* strips */
.strip{display:grid;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.strip-3{grid-template-columns:1fr}
.strip-4{grid-template-columns:1fr 1fr}
@media(min-width:800px){.strip-3{grid-template-columns:repeat(3,1fr)}.strip-4{grid-template-columns:repeat(4,1fr)}}
.strip>*{padding:36px 24px;border-bottom:1px solid var(--rule)}
@media(min-width:800px){.strip>*{padding:44px 40px;border-bottom:0;border-left:1px solid var(--rule)}.strip>*:first-child{border-left:0;padding-left:48px}.strip>*:last-child{padding-right:48px}}
.strip a{color:#fff;display:block}
.strip .big{font-weight:300;font-size:clamp(32px,3vw,40px);line-height:1;letter-spacing:-.01em;margin:0 0 12px}
.strip .num{font-weight:300;font-size:clamp(48px,5vw,64px);line-height:1;letter-spacing:-.02em}
.strip .num span{font-size:.45em;color:var(--sand);margin-left:6px}
.strip p{margin:0;font-size:15px;line-height:1.55;color:var(--muted)}
.strip .label{display:block;margin-top:14px}

/* sections */
.section{padding:96px 0}
@media(min-width:800px){.section{padding:120px 0}}
.section.rule{border-top:1px solid var(--rule)}
.grid12{display:grid;gap:24px}
@media(min-width:900px){.grid12{grid-template-columns:repeat(12,minmax(0,1fr))}}
.c6{grid-column:span 6}.c5{grid-column:span 5}.c7{grid-column:span 7}.c4{grid-column:span 4}.c8{grid-column:span 8}
@media(min-width:900px){.off1{grid-column:8 / span 5}.off2{grid-column:6 / span 7}.off7{grid-column:7 / span 6}}
.sand{background:var(--sand);color:var(--sand-ink)}
.sand .eyebrow{color:var(--sand-muted)}
.sand .body{color:var(--sand-body)}
.sand .muted{color:var(--sand-muted)}
.sand a{color:var(--sand-ink)}
.sand a:hover{color:var(--sand-body)}
.sand a.btn-ink{color:var(--sand)}.sand a.btn-ink:hover{color:#fff}
.sand a.btn-ink-ghost:hover{color:var(--sand)}

/* spec grids */
.cells{display:grid;border-top:1px solid var(--rule)}
.cells-2{grid-template-columns:1fr 1fr}
.cells-3{grid-template-columns:1fr}
@media(min-width:800px){.cells-3{grid-template-columns:repeat(3,1fr)}}
.cells>*{padding:28px 24px 32px 0;border-bottom:1px solid var(--rule)}
.cells-2>*:nth-child(2n){padding-left:24px;border-left:1px solid var(--rule)}
@media(min-width:800px){.cells-3>*{padding:36px 32px 40px}.cells-3>*:nth-child(3n+1){padding-left:0}.cells-3>*:nth-child(3n){padding-right:0}.cells-3>*:not(:nth-child(3n+1)){border-left:1px solid var(--rule)}}
.cells .big{font-weight:300;font-size:clamp(30px,3vw,44px);line-height:1.05;margin:0 0 10px}
.cells .label{display:block;margin-bottom:14px}
.cells .sub{font-size:16px;color:var(--muted)}
.sand .cells,.sand .cells>*{border-color:var(--sand-rule)}
.sand .cells .sub{color:var(--sand-muted)}
.sand .label{color:var(--sand-muted)}

/* spec list */
.spec{display:grid;grid-template-columns:1fr;gap:0 48px}
@media(min-width:800px){.spec{grid-template-columns:1fr 1fr}}
.spec>div{padding:18px 0;border-top:1px solid var(--rule)}
.spec .label{display:block;margin-bottom:6px;color:var(--muted)}
.spec .val{font-size:18px;font-weight:300}

/* legacy rows */
.rows{border-top:1px solid var(--rule)}
.rows>div{display:grid;grid-template-columns:1fr;gap:12px;padding:28px 0;border-bottom:1px solid var(--rule)}
@media(min-width:700px){.rows>div{grid-template-columns:1fr 2fr;gap:24px}}
.rows .k{font-weight:300;font-size:32px;line-height:1}
.rows .v{font-size:16px;line-height:1.55;color:var(--body)}
.rows .v span{color:var(--muted)}

/* tiles */
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(min-width:900px){.tiles{grid-template-columns:repeat(4,1fr)}.tiles.three{grid-template-columns:repeat(3,1fr)}}
.tile{display:block;position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--bg2);color:#fff}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.tile img.contain{object-fit:contain;padding:10%;transform:scale(1.35)}
.tile:hover img{transform:scale(1.04)}
.tile:hover img.contain{transform:scale(1.4)}
.tile .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.9) 100%)}
.tile .k{position:absolute;left:20px;right:20px;bottom:20px}
@media(min-width:800px){.tile .k{left:24px;right:24px;bottom:24px}}
.tile .k .label{display:block;margin-bottom:10px}
.tile .k .t{font-size:clamp(17px,1.6vw,22px);font-weight:400;line-height:1.15;color:#fff}
.tile .word{position:absolute;left:0;right:0;top:0;bottom:42%;display:flex;align-items:center;justify-content:center;font-weight:300;font-size:clamp(26px,4vw,56px);color:var(--sand);letter-spacing:-.01em;padding:0 12px;text-align:center}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:40px;flex-wrap:wrap}
.section-head h2{margin:0}
.link{font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid var(--sand);padding-bottom:4px}

/* page head (inner pages) */
.page-head{padding:160px 0 72px}
@media(min-width:800px){.page-head{padding:200px 0 96px}}
.page-head p{font-size:19px;line-height:1.5;color:var(--body);max-width:56ch;margin:0}
.page-head.sand p{color:var(--sand-body)}
.breadcrumb{font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:24px}
.breadcrumb a{color:var(--muted)}
.prose p{max-width:62ch;font-size:17px;line-height:1.65;color:var(--body)}
.prose h2{font-size:clamp(28px,3vw,40px);margin:48px 0 18px}
.list{list-style:none;padding:0;margin:0;border-top:1px solid var(--rule)}
.list li{padding:14px 0;border-bottom:1px solid var(--rule);font-size:16px;color:var(--body)}
.note{border-left:1px solid var(--sand);padding:4px 0 4px 20px;color:var(--body);font-size:16px;margin-top:32px}
figure{margin:0}
figcaption{font-size:13px;color:var(--muted);margin-top:12px}
.frame{background:var(--bg2);border:1px solid var(--rule);display:flex;align-items:center;justify-content:center;overflow:hidden}
.frame img{width:100%;height:auto}

/* contact + footer */
.contact{border-top:1px solid var(--rule);padding:120px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px}
@media(min-width:800px){.contact{padding:140px 48px}}
.contact h2{margin:0;max-width:18ch}
.contact p{margin:0;color:var(--muted);max-width:46ch}
.site-footer{border-top:1px solid var(--rule);padding:32px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
@media(min-width:800px){.site-footer{padding:32px 48px}}
.site-footer a{color:var(--dim)}
.site-footer .links{display:flex;gap:24px;flex-wrap:wrap}

/* form */
.form{display:grid;gap:20px}
@media(min-width:700px){.form{grid-template-columns:1fr 1fr}.form .full{grid-column:1/-1}}
.field label{display:block;font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.field input,.field textarea,.field select{width:100%;font-family:var(--font);font-size:16px;font-weight:300;padding:14px 0;border:0;border-bottom:1px solid var(--rule);border-radius:0;background:transparent;color:#fff;transition:border-color .2s var(--ease)}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-bottom-color:var(--sand)}
.field select option{background:#141210}
.field textarea{resize:vertical;min-height:140px}
.field input[type=file]{border:0;padding:8px 0;color:var(--muted)}

/* motion */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.tile img{transition:none}}
