:root{
 --bg:#080b12;--bg2:#0f1420;--fg:#eef2fa;--muted:#9aa6bd;--line:#1d2638;--line-strong:#2c3957;
 --accent:#2f6bff;--accent-hover:#5a8aff;--accent-ink:#fff;--accent2:#ff5a1f;--link:#7fa3ff;
 --header-bg:rgba(8,11,18,.92);--radius:6px;
 --font-head:"Barlow Condensed","Arial Narrow",Impact,sans-serif;--font-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--head-case:uppercase;--head-track:.02em}
body{background-image:radial-gradient(1000px 600px at 15% -10%,rgba(47,107,255,.16),transparent 60%)}
h1,h2,h3{font-weight:700}
h1{font-size:clamp(2.6rem,6.5vw,5rem)}
/* notice bar */
.notice-bar{position:fixed;top:0;left:0;right:0;z-index:60;background:var(--accent);color:#fff;font-size:.88rem;text-align:center;padding:.55rem 1rem;line-height:1.35}
.notice-bar a{color:#fff;text-decoration:underline;font-weight:600}
.site-header{top:36px}.site-header.solid{top:36px}
@media(max-width:560px){.notice-bar{font-size:.78rem;padding:.45rem .7rem}.site-header,.site-header.solid{top:48px}.nav{inset:122px 0 auto 0!important}}
.hero{padding:11rem 0 5rem;position:relative}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
.hero .logo{width:min(440px,90%);margin-bottom:1.5rem;filter:drop-shadow(0 12px 30px rgba(47,107,255,.35))}
.hero p.lead{font-size:1.15rem;opacity:.88;max-width:34rem}
.hero .cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.hero-card{position:relative;display:block;border-radius:10px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.6),0 0 0 1px var(--line-strong);text-decoration:none!important}
.hero-card img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .6s}
.hero-card:hover img{transform:scale(1.04)}
.hero-card .tag{position:absolute;left:1rem;top:1rem;background:var(--accent2);color:#fff;font:700 .8rem var(--font-body);letter-spacing:.14em;text-transform:uppercase;padding:.4rem .8rem;border-radius:3px}
.hero-card .cap{position:absolute;inset:auto 0 0 0;padding:2.5rem 1.2rem 1rem;background:linear-gradient(transparent,rgba(0,0,0,.85));color:#fff;font:600 1.3rem var(--font-head);text-transform:uppercase;letter-spacing:.03em}
.hero-card .cap small{display:block;font:500 .85rem var(--font-body);text-transform:none;opacity:.8;letter-spacing:0}
@media(max-width:900px){.hero .wrap{grid-template-columns:1fr}.hero{padding-top:10rem}}
.transition{background:var(--bg2);border-block:1px solid var(--line)}
.transition .box{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;border:1px solid var(--line-strong);border-left:4px solid var(--accent);border-radius:var(--radius);padding:2rem;background:var(--bg)}
.transition h2{margin-bottom:.4em}.transition p{margin:0;color:var(--muted)}
@media(max-width:760px){.transition .box{grid-template-columns:1fr}}
.about .two{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
@media(max-width:820px){.about .two{grid-template-columns:1fr}}
.past{background:var(--bg2);border-block:1px solid var(--line)}
.past .gal{margin-top:2.5rem}
.past .tile{aspect-ratio:4/3}
.fineprint{color:var(--muted);font-size:.88rem;margin-top:1.5rem}
.sale-teaser .box{display:grid;grid-template-columns:1.1fr 1fr;gap:2.5rem;align-items:center}
.sale-teaser img{border-radius:10px;box-shadow:0 20px 50px rgba(0,0,0,.5)}
.sale-teaser .price{font:700 2.2rem var(--font-head);margin:.3rem 0 1rem}
@media(max-width:820px){.sale-teaser .box{grid-template-columns:1fr}}
.contact .two{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem}
.contact dl{margin:1.5rem 0 0}.contact dt{color:var(--accent);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin-top:1rem}.contact dd{margin:.1rem 0 0}
.contact .inq{margin-top:0}
@media(max-width:820px){.contact .two{grid-template-columns:1fr}}

/* services + transition phase */
.services{padding:4rem 0}.services .two{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.svc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.svc li{border:1px solid var(--line);background:var(--bg2);border-radius:var(--radius);padding:.9rem 1rem;font-weight:600}
@media(max-width:820px){.services .two{grid-template-columns:1fr}}

/* header sits exactly under the notice bar (height measured by site.js) */
.site-header,.site-header.solid{top:var(--nb,36px)}
@media(max-width:820px){.nav{inset:calc(var(--nb,36px) + 74px) 0 auto 0!important}}
