/* Desert at dusk: burnt night, canyon orange, sandstone, sky */
:root{
  --night:#140d0a; --dusk:#1f1511; --rock:#2c1e18; --line:#3d2a21;
  --flame:#ff6a2b; --sand:#f3e6d3; --muted:#bfa995; --sky:#7cc4e0;
  --display:"Big Shoulders Display",Impact,"Arial Narrow",sans-serif;
  --body:"DM Sans",system-ui,-apple-system,sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
body{margin:0;background:var(--night);color:var(--sand);font:17px/1.6 var(--body)}
a{color:var(--flame)}
img{max-width:100%}
.wrap{max-width:1140px;margin:0 auto;padding-inline:20px}
.wrap.narrow{max-width:760px}
:focus-visible{outline:3px solid var(--sky);outline-offset:2px}

.top{position:sticky;top:0;z-index:20;background:rgba(20,13,10,.94);border-bottom:1px solid var(--line);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px}
.brand{font:900 24px/1 var(--display);letter-spacing:.04em;color:var(--sand);text-decoration:none}
.brand b{color:var(--flame)}
.top nav{display:flex;align-items:center;gap:18px}
.top nav a.nl{color:var(--sand);text-decoration:none;font-weight:500;font-size:15px}
.top nav a.nl:hover{color:var(--flame)}
@media (max-width:820px){.top nav a.nl{display:none}}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:999px;
  background:var(--flame);color:#1a0b04;font-weight:700;text-decoration:none;border:2px solid var(--flame);cursor:pointer;font-size:16px}
.btn:hover{background:#ff8a55;border-color:#ff8a55}
.btn.ghost{background:transparent;color:var(--sand);border-color:rgba(243,230,211,.5)}
.btn.ghost:hover{border-color:var(--flame);color:var(--flame)}
.btn.sm{min-height:36px;padding:0 14px;font-size:14px}
.btn.big{min-height:52px;padding:0 26px;font-size:17px}

.hero{background-size:cover;background-position:center;min-height:min(84vh,680px);display:flex;align-items:flex-end;
  padding-block:90px 56px;border-bottom:1px solid var(--line)}
.hero.short{min-height:min(62vh,520px)}
.eyebrow{font:700 14px var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--sky);margin:0 0 10px}
h1{font:900 clamp(44px,8vw,92px)/.92 var(--display);text-transform:uppercase;letter-spacing:.005em;margin:0 0 16px;
  max-width:16ch;text-wrap:balance;text-shadow:0 2px 24px rgba(0,0,0,.45)}
h1 em{font-style:normal;color:var(--flame)}
.lede{font-size:19px;max-width:44em;margin:0 0 24px;text-shadow:0 1px 10px rgba(0,0,0,.6)}
.ctas{display:flex;flex-wrap:wrap;gap:12px}
.facts{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px}
.facts span{background:rgba(20,13,10,.7);border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:15px}
.facts b{color:var(--flame);font-size:18px;margin-right:4px}
.crumbs{font-size:14px;margin:0 0 12px;color:var(--muted)}
.crumbs a{color:var(--sand)}

.band{padding-block:60px}
.band.alt{background:var(--dusk);border-block:1px solid var(--line)}
h2{font:900 clamp(32px,5vw,52px)/1 var(--display);text-transform:uppercase;margin:0 0 22px;text-wrap:balance}
h3{font:700 20px/1.2 var(--body);margin:0 0 10px}
.sub{color:var(--muted);margin:-10px 0 24px}

.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:230px;padding:20px;
  border-radius:18px;overflow:hidden;text-decoration:none;color:var(--sand);border:1px solid var(--line)}
.tile .ph{position:absolute;inset:0;background-size:cover;background-position:center;z-index:-1;transition:transform .4s}
.tile::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(20,13,10,.05),rgba(20,13,10,.9))}
.tile{isolation:isolate}
.tile:hover .ph{transform:scale(1.05)}
.tile .t{font:900 34px/1 var(--display);text-transform:uppercase}
.tile .s{font-size:15px;color:#e9dccb;margin-top:6px}
.tile .n{font-size:13px;font-weight:700;color:var(--flame);margin-top:8px;letter-spacing:.06em;text-transform:uppercase}

.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.card{display:flex;flex-direction:column;background:var(--rock);border:1px solid var(--line);border-radius:16px;overflow:hidden;
  text-decoration:none;color:var(--sand);min-width:0}
.card:hover{border-color:var(--flame)}
.card .ph{aspect-ratio:16/9;background-size:cover;background-position:center}
.card .body{display:flex;flex-direction:column;gap:6px;padding:16px;flex:1}
.card .kicker{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sky)}
.card .name{font:700 19px/1.25 var(--body)}
.card .sum{font-size:15px;color:var(--muted)}
.card .meta{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-top:auto;padding-top:8px;
  border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.card .price{color:var(--flame);font-weight:700;font-size:16px}
.card .price small{color:var(--muted);font-weight:500;font-size:13px}

.two{display:grid;grid-template-columns:1.3fr 1fr;gap:34px}
@media (max-width:820px){.two{grid-template-columns:1fr}}
.ticks{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:10px}
.ticks li{padding-left:28px;position:relative}
.ticks li::before{content:"";position:absolute;left:4px;top:.55em;width:12px;height:12px;border-radius:3px;background:var(--flame);transform:rotate(45deg)}
.box{background:var(--rock);border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:16px}
.box ul{margin:0;padding-left:18px;display:grid;gap:8px}
.box p{margin:0;color:var(--muted)}
.steps{padding-left:22px;display:grid;gap:10px;margin:0}

.faq{display:grid;gap:10px}
.faq details{background:var(--rock);border:1px solid var(--line);border-radius:14px;padding:4px 18px}
.faq summary{cursor:pointer;font-weight:700;padding:12px 0}
.faq p{margin:0 0 14px;color:var(--muted)}

.request{padding-block:60px;background:linear-gradient(180deg,var(--night),#2a140b);border-top:1px solid var(--line)}
.request form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.request label{display:grid;gap:6px;font-weight:700;font-size:14px;min-width:0}
.request .full{grid-column:1/-1}
.request input,.request select,.request textarea{font:16px var(--body);color:var(--sand);background:var(--rock);
  border:1px solid var(--line);border-radius:12px;padding:12px;width:100%}
.request input:focus,.request select:focus,.request textarea:focus{border-color:var(--flame);outline:none}
.request .btn.big{width:100%}
@media (max-width:560px){.request form{grid-template-columns:1fr}}
.fine{font-size:13px;color:var(--muted)}
.prose{padding-top:20px}
.prose h1{font-size:clamp(40px,7vw,64px)}

footer{padding-block:34px 100px;border-top:1px solid var(--line);font-size:14px}
footer .cols{display:flex;flex-wrap:wrap;gap:10px 22px;margin-bottom:14px}
footer a{color:var(--sand);text-decoration:none}
footer a:hover{color:var(--flame)}
footer .fine a{text-decoration:underline}

.mbar{display:none}
@media (max-width:720px){
  .mbar{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));
    background:rgba(20,13,10,.96);border-top:1px solid var(--line)}
  .mbar .btn{flex:1}
}
@media (prefers-reduced-motion:reduce){.tile .ph{transition:none}}
