/* Crown & Cross — styles. Colors live in :root below. */
:root{
  --bg:#0c0c0d; --bg-2:#141416; --bg-3:#1c1c1f; --line:#2a2a2e;
  --text:#ece8e1; --muted:#9d988f; --gold:#c9a96e; --gold-2:#e2c893; --gold-d:#8f7644;
  --ok:#7fb48a; --sold:#b36b6b; --soon:#c9a96e;
  --serif:"Cormorant Garamond","Cormorant",Georgia,"Times New Roman",serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --r:4px; --max:1180px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
img{max-width:100%;display:block}
a{color:var(--gold-2);text-decoration:none}
a:hover{color:#fff}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.15;margin:0 0 .5em;letter-spacing:.01em}
h1{font-size:clamp(2.3rem,6vw,3.8rem)}
h2{font-size:clamp(1.7rem,4vw,2.4rem)}
p{margin:0 0 1em}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 20px}
.eyebrow{font:600 .72rem/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:var(--gold);color:#000;padding:8px 12px;z-index:99}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(12,12,13,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{display:flex;align-items:center;gap:10px;color:var(--text)}
.logo svg{width:34px;height:34px;flex:none}
.logo__text{font:500 1.35rem/1 var(--serif);letter-spacing:.06em;white-space:nowrap}
.logo__text em{font-style:italic;color:var(--gold)}
.nav{display:flex;gap:30px}
.nav a{color:var(--muted);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;padding:6px 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{color:var(--text);border-color:var(--gold)}
.nav-toggle{display:none;background:none;border:0;color:var(--text);padding:8px;cursor:pointer}
.nav-toggle span{display:block;width:22px;height:1.5px;background:currentColor;margin:5px 0;transition:.25s}
@media (max-width:720px){
  .nav-toggle{display:block}
  .nav{position:absolute;top:68px;left:0;right:0;flex-direction:column;gap:0;background:var(--bg);border-bottom:1px solid var(--line);max-height:0;overflow:hidden;transition:max-height .3s}
  .nav a{padding:16px 20px;border:0;border-top:1px solid var(--line)}
  .nav-open .nav{max-height:300px}
  .nav-open .nav-toggle span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .nav-open .nav-toggle span:nth-child(2){opacity:0}
  .nav-open .nav-toggle span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
}

/* Buttons */
.btn{display:inline-block;background:var(--gold);color:#111;border:1px solid var(--gold);padding:14px 30px;font:600 .78rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;border-radius:var(--r);cursor:pointer;transition:background .2s,color .2s,border-color .2s;text-align:center}
.btn:hover{background:var(--gold-2);border-color:var(--gold-2);color:#000}
.btn--ghost{background:transparent;color:var(--gold-2)}
.btn--ghost:hover{background:var(--gold);color:#111}
.btn--block{display:block;width:100%}
.btn-row{display:flex;gap:14px;flex-wrap:wrap}

/* Hero */
.hero{position:relative;overflow:hidden;padding:90px 0 100px;border-bottom:1px solid var(--line);
  background:radial-gradient(ellipse 70% 60% at 75% 40%,rgba(201,169,110,.13),transparent 70%),linear-gradient(180deg,#0e0e10,#0a0a0b)}
.hero .wrap{display:grid;gap:40px;align-items:center}
.hero h1{max-width:15ch}
.hero h1 em{color:var(--gold);font-style:italic}
.hero__lede{color:var(--muted);font-size:1.08rem;max-width:40ch;margin-bottom:30px}
.hero__art{display:flex;justify-content:center}
.hero__art svg{width:min(62vw,380px);height:auto;opacity:.95}
@media (min-width:900px){.hero{padding:120px 0 130px}.hero .wrap{grid-template-columns:1.15fr .85fr}}

/* Sections */
.section{padding:80px 0}
.section--alt{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section__head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:36px}
.section__head h2{margin:0}
.pillars{display:grid;gap:28px;margin-top:40px}
@media (min-width:760px){.pillars{grid-template-columns:repeat(3,1fr)}}
.pillar{border-top:1px solid var(--gold-d);padding-top:22px}
.pillar h3{font-size:1.45rem;color:var(--gold-2)}
.pillar p{color:var(--muted);margin:0}
.about{display:grid;gap:30px}
.about p{color:var(--muted);font-size:1.05rem;max-width:62ch}
@media (min-width:900px){.about{grid-template-columns:.9fr 1.1fr;gap:70px}}

/* Page header */
.page-head{padding:70px 0 40px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#111113,var(--bg))}
.page-head p{color:var(--muted);max-width:60ch;margin:0}

/* Filters */
.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.filters button{background:transparent;border:1px solid var(--line);color:var(--muted);padding:9px 16px;border-radius:40px;font:500 .74rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.filters button[aria-pressed="true"],.filters button:hover{border-color:var(--gold);color:var(--gold-2)}
.count{color:var(--muted);font-size:.85rem}

/* Cards */
.grid{display:grid;gap:22px;grid-template-columns:1fr}
@media (min-width:600px){.grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:980px){.grid{grid-template-columns:repeat(3,1fr);gap:28px}}
.card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:border-color .25s,transform .25s}
.card:hover{border-color:var(--gold-d);transform:translateY(-3px)}
.card__link{display:flex;flex-direction:column;height:100%;color:inherit}
.card__media{position:relative;aspect-ratio:4/3;background:var(--bg-3);overflow:hidden}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .card__media img{transform:scale(1.03)}
.card__media .badge{position:absolute;top:12px;left:12px}
.card__body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.card__brand{font:600 .7rem/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.card__title{font-size:1.6rem;margin-bottom:4px}
.card__ref{color:var(--muted);font-size:.85rem;letter-spacing:.04em;margin-bottom:10px}
.card__details{font-size:.9rem;margin-bottom:6px}
.card__incl{font-size:.85rem;color:var(--muted);margin-bottom:18px}
.card__incl span{color:var(--text)}
.card__foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:14px}
.card__price{font:500 1.25rem/1 var(--serif);color:var(--gold-2)}
.card__more{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.card:hover .card__more{color:var(--gold-2)}
.badge{display:inline-block;padding:6px 11px;border-radius:40px;font:600 .66rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;background:rgba(12,12,13,.85);border:1px solid}
.badge--available{color:var(--ok);border-color:rgba(127,180,138,.5)}
.badge--sold{color:var(--sold);border-color:rgba(179,107,107,.5)}
.badge--coming-soon{color:var(--soon);border-color:rgba(201,169,110,.5)}
.empty{grid-column:1/-1;color:var(--muted)}

/* Detail */
.crumbs{font-size:.8rem;color:var(--muted);padding:28px 0;letter-spacing:.04em}
.crumbs span{margin:0 6px;color:var(--line)}
.detail{display:grid;gap:36px;padding-bottom:80px}
@media (min-width:900px){.detail{grid-template-columns:1.1fr .9fr;gap:60px}.gallery{position:sticky;top:90px;align-self:start}}
.gallery__main{aspect-ratio:1/1;background:var(--bg-3);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.gallery__main img{width:100%;height:100%;object-fit:cover}
.gallery__thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:10px;margin-top:10px}
.thumb{padding:0;border:1px solid var(--line);background:var(--bg-3);border-radius:var(--r);overflow:hidden;cursor:pointer;aspect-ratio:1/1;opacity:.6;transition:.2s}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb.is-active,.thumb:hover{opacity:1;border-color:var(--gold)}
.detail__info h1{font-size:clamp(2.2rem,5vw,3.2rem);margin:0 0 6px}
.detail__info .badge{margin-bottom:18px}
.detail__info .eyebrow{margin-bottom:10px}
.detail__ref{color:var(--muted);letter-spacing:.04em;margin-bottom:14px}
.detail__price{font:500 1.9rem/1 var(--serif);color:var(--gold-2);margin-bottom:18px}
.detail__summary{color:var(--muted);margin-bottom:26px}
.detail__info h2{font-size:1.5rem;margin:40px 0 14px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.specs{width:100%;border-collapse:collapse;font-size:.94rem}
.specs th,.specs td{text-align:left;padding:11px 0;border-bottom:1px solid var(--line);vertical-align:top}
.specs th{color:var(--muted);font-weight:400;width:42%}
.tbc{color:var(--muted);font-style:italic}
.included{list-style:none;padding:0;margin:0}
.included li{padding:8px 0 8px 22px;position:relative}
.included li::before{content:"";position:absolute;left:2px;top:17px;width:8px;height:8px;border:1px solid var(--gold);transform:rotate(45deg)}
.note{margin-top:30px;font-size:.88rem;color:var(--muted);border-left:2px solid var(--gold-d);padding-left:14px}
.notfound{padding:100px 0;text-align:center}

/* Contact */
.contact{display:grid;gap:44px;padding:60px 0 90px}
@media (min-width:900px){.contact{grid-template-columns:1.3fr .7fr;gap:70px}}
.form{display:grid;gap:18px}
.form .row{display:grid;gap:18px}
@media (min-width:600px){.form .row{grid-template-columns:1fr 1fr}}
label{display:block;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
input,select,textarea{width:100%;background:var(--bg-2);border:1px solid var(--line);color:var(--text);padding:13px 14px;border-radius:var(--r);font:400 1rem/1.4 var(--sans)}
select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 15px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:40px}
textarea{min-height:150px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold)}
.hp{position:absolute;left:-9999px}
.form-status{color:var(--gold-2);min-height:1.5em;margin:0}
.aside{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);padding:28px;align-self:start}
.aside h2{font-size:1.6rem}
.aside ul{list-style:none;padding:0;margin:0 0 20px}
.aside li{padding:12px 0;border-bottom:1px solid var(--line)}
.aside li small{display:block;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.aside p{color:var(--muted);font-size:.92rem;margin:0}

/* CTA + footer */
.cta{text-align:center;padding:80px 0}
.cta p{color:var(--muted);max-width:50ch;margin:0 auto 28px}
.site-footer{border-top:1px solid var(--line);background:#09090a;padding:50px 0 30px;font-size:.88rem;color:var(--muted)}
.footer-grid{display:grid;gap:30px;margin-bottom:30px}
@media (min-width:760px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr}}
.site-footer h4{font:600 .7rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--text);margin:0 0 14px}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{padding:4px 0}
.site-footer a{color:var(--muted)}.site-footer a:hover{color:var(--gold-2)}
.disclaimer{border-top:1px solid var(--line);padding-top:22px;font-size:.76rem;line-height:1.6;color:#77736c}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Representative-image captions (shown when stockPhotos: true) */
.stock-cap{position:absolute;left:0;right:0;bottom:0;margin:0;padding:7px 12px;font-size:.66rem;line-height:1.35;letter-spacing:.02em;color:rgba(236,232,225,.9);background:rgba(10,10,11,.8);backdrop-filter:blur(2px);text-align:center;pointer-events:none}
.gallery__cap{margin:12px 0 0;font-size:.8rem;color:var(--muted);font-style:italic;text-align:center}
.gallery__credit{margin:4px 0 0;font-size:.7rem;color:#6d6963;text-align:center}
