/* ===========================================================
   SULIKA HUGHES DESIGN BUILD
   =========================================================== */

:root{
  --ink:#0B0B0C;
  --ink-2:#141416;
  --ink-3:#1C1C1F;
  --cream:#F6F2EB;
  --cream-2:#EFE9DF;
  --paper:#FFFFFF;
  --gold:#C9A15C;
  --gold-lt:#E3C68C;
  --gold-dk:#9C7736;
  --body:#3A3A3C;
  --body-lt:#6E6E72;
  --line:rgba(201,161,92,.35);
  --line-soft:rgba(0,0,0,.10);

  --serif:"Tenor Sans", "Optima", "Gill Sans", "Helvetica Neue", Arial, sans-serif;
  --sans:"Manrope", "Helvetica Neue", Arial, sans-serif;
  --accent:"Cormorant Garamond", Georgia, "Times New Roman", serif;

  --wrap:1240px;
  --gutter:clamp(20px, 5vw, 64px);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--cream);
  color:var(--body);
  font-family:var(--sans);
  font-size:15.5px;
  line-height:1.8;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}

.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gutter);}
.wrap-wide{max-width:1560px;margin:0 auto;padding-inline:var(--gutter);}

/* ---------- type ---------- */
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;margin:0;line-height:1.14;letter-spacing:.01em;color:var(--ink);}
h1{font-size:clamp(2.3rem,5.2vw,4rem);}
h2{font-size:clamp(1.7rem,3.4vw,2.7rem);}
h3{font-size:clamp(1.2rem,1.9vw,1.5rem);}
p{margin:0 0 1.1em;}
em{font-style:italic;}

.eyebrow{
  font-family:var(--sans);
  font-size:.7rem;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--gold-dk);
  font-weight:400;
  margin:0 0 1.4rem;
}
.eyebrow--light{color:var(--gold-lt);}
.lede{font-size:1.06rem;color:var(--body);max-width:62ch;}
.gold{color:var(--gold-dk);}
.italic-gold{font-family:var(--accent);font-style:italic;font-weight:300;font-size:1.12em;color:var(--gold-dk);}

.rule{width:64px;height:1px;background:var(--gold);border:0;margin:1.6rem 0;}
.rule--center{margin-inline:auto;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.9rem;
  font-family:var(--sans);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
  padding:1.05rem 2rem;
  border:1px solid var(--gold);
  color:var(--gold-dk);
  background:transparent;
  transition:background .35s ease,color .35s ease,border-color .35s ease;
  cursor:pointer;
}
.btn:hover{background:var(--gold);color:#fff;border-color:var(--gold);}
.btn--light{border-color:rgba(227,198,140,.7);color:var(--gold-lt);}
.btn--light:hover{background:var(--gold);color:var(--ink);border-color:var(--gold);}
.btn--solid{background:var(--gold);color:#fff;border-color:var(--gold);}
.btn--solid:hover{background:var(--gold-dk);border-color:var(--gold-dk);}
.btn .arw{transition:transform .35s ease;}
.btn:hover .arw{transform:translateX(5px);}

.txtlink{
  display:inline-flex;align-items:center;gap:.7rem;
  font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-dk);
  padding-bottom:.3rem;border-bottom:1px solid var(--line);
  transition:border-color .3s ease,gap .3s ease;
}
.txtlink:hover{border-color:var(--gold);gap:1.1rem;}
.txtlink--light{color:var(--gold-lt);border-color:rgba(227,198,140,.4);}

/* ---------- header ---------- */
.site-head{
  position:sticky;top:0;z-index:60;
  background:var(--ink);
  border-bottom:1px solid rgba(201,161,92,.22);
}
.head-inner{
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
  padding:.9rem var(--gutter);
  max-width:1560px;margin:0 auto;
}
.brand{display:flex;align-items:center;gap:1.1rem;}
.brand__mark{width:58px;height:58px;flex:0 0 auto;filter:drop-shadow(0 0 6px rgba(201,161,92,.18));}
.brand__txt{display:flex;flex-direction:column;line-height:1;}
.brand__name{
  font-family:var(--accent);font-size:clamp(1.5rem,2.3vw,2.15rem);letter-spacing:.14em;
  color:var(--gold);text-transform:uppercase;font-weight:400;line-height:1;
}
.brand__sub{
  display:flex;align-items:center;gap:.9rem;
  font-family:var(--sans);font-size:.78rem;letter-spacing:.42em;font-weight:500;
  color:var(--gold-lt);text-transform:uppercase;margin-top:.45rem;padding-left:.1em;
}
.brand__sub i{display:block;width:34px;height:1px;background:var(--gold);opacity:.8;}

.nav{display:flex;align-items:center;gap:2.1rem;}
.nav a{
  font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(255,255,255,.82);padding:.4rem 0;position:relative;
  transition:color .3s ease;
}
.nav a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;
  background:var(--gold);transition:right .35s ease;
}
.nav a:hover{color:#fff;}
.nav a:hover::after,.nav a.is-active::after{right:0;}
.nav a.is-active{color:var(--gold-lt);}
.nav .btn{padding:.85rem 1.5rem;}
.nav .btn::after{display:none;}

.navtoggle{
  display:none;background:none;border:0;padding:.4rem;cursor:pointer;
}
.navtoggle span{display:block;width:26px;height:1px;background:var(--gold-lt);margin:6px 0;transition:transform .3s ease,opacity .3s ease;}
.navtoggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.navtoggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.navtoggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ---------- hero ---------- */
.hero{position:relative;min-height:min(78vh,720px);aspect-ratio:1.72/1;max-height:none;display:flex;align-items:flex-end;background:var(--ink);overflow:hidden;}
.hero__img{position:absolute;inset:0;}
.hero__img img{width:100%;height:100%;object-fit:cover;object-position:center center;}
.hero__img::after{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(ellipse 44% 58% at 15% 94%,rgba(0,0,0,.6) 0%,rgba(0,0,0,.32) 45%,rgba(0,0,0,0) 100%),
    linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 62%,rgba(0,0,0,.28) 100%);
}
.hero .wrap-wide{width:100%;}
.hero__body{position:relative;z-index:2;padding-top:clamp(3rem,6vw,5rem);padding-bottom:clamp(2.6rem,5vw,4.2rem);max-width:620px;}
.hero h1{color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.55),0 1px 3px rgba(0,0,0,.5);}
.hero__sub{
  font-size:clamp(.98rem,1.25vw,1.15rem);letter-spacing:.2em;text-transform:uppercase;font-weight:500;
  color:#fff;line-height:1.9;margin:0 0 1.7rem;
  text-shadow:0 1px 10px rgba(0,0,0,.7);
}
.hero .rule{background:var(--gold);width:78px;margin:1.4rem 0 1.2rem;}

.hero--page{min-height:min(46vh,400px);aspect-ratio:auto;align-items:center;}
.hero--page h1{font-size:clamp(2rem,4.4vw,3.2rem);}
.hero--page{aspect-ratio:auto;}
.hero--page .hero__img::after{
  background:linear-gradient(100deg,rgba(6,6,7,.9) 0%,rgba(6,6,7,.7) 40%,rgba(6,6,7,.3) 75%,rgba(6,6,7,.45) 100%);
}
.hero--page .hero__body{padding-block:clamp(3rem,6vw,4.5rem);}

/* ---------- statement band ---------- */
.statement{background:var(--cream-2);}
.statement__grid{
  display:grid;grid-template-columns:1.15fr 1fr auto;gap:clamp(2rem,5vw,4.5rem);align-items:center;
  padding-block:clamp(3rem,6vw,5rem);
}
.statement h2{line-height:1.25;font-size:clamp(1.6rem,2.9vw,2.3rem);}
.statement__copy{border-left:1px solid var(--line);padding-left:clamp(1.5rem,3vw,2.75rem);font-size:.96rem;}
.statement__mark{text-align:center;}
.statement__mark svg{width:96px;height:96px;margin-inline:auto;}
.statement__mark .nm{font-family:var(--serif);font-size:.85rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink);margin-top:.7rem;}
.statement__mark .sb{font-size:.53rem;letter-spacing:.34em;text-transform:uppercase;color:var(--body-lt);margin-top:.3rem;}

/* ---------- section frame ---------- */
.section{padding-block:clamp(3.5rem,7vw,6rem);}
.section--dark{background:var(--ink);color:rgba(255,255,255,.75);}
.section--dark h2,.section--dark h3{color:#fff;}
.section--paper{background:var(--paper);}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap;margin-bottom:2.2rem;}
.sec-head .eyebrow{margin-bottom:0;}
.center{text-align:center;}
.center .lede{margin-inline:auto;}

/* ---------- portfolio tiles ---------- */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;}
.tiles--3{grid-template-columns:repeat(3,1fr);gap:18px;}
.tile{position:relative;display:block;overflow:hidden;background:var(--ink-2);aspect-ratio:4/5;}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.3,1);}
.tile:hover img{transform:scale(1.06);}
.tile::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(6,6,7,.86) 0%,rgba(6,6,7,.18) 45%,rgba(6,6,7,0) 70%);
}
.tile__label{
  position:absolute;left:0;right:0;bottom:1.5rem;z-index:2;text-align:center;
  font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:#fff;
}
.tile--ph{display:grid;place-items:center;aspect-ratio:4/5;border:1px solid var(--line);background:var(--cream-2);}
.tile--ph::after{display:none;}
.tile--ph span{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--body-lt);text-align:center;padding:1rem;}

/* ---------- process ---------- */
.process{display:grid;grid-template-columns:repeat(6,1fr);gap:0;}
.process__item{padding:0 clamp(.8rem,1.6vw,1.6rem);text-align:center;border-right:1px solid var(--line-soft);}
.process__item:last-child{border-right:0;}
.process__ico{width:38px;height:38px;margin:0 auto 1.1rem;color:var(--gold-dk);}
.process__ico svg{width:100%;height:100%;}
.process__t{font-family:var(--serif);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin:0 0 .7rem;line-height:1.6;font-weight:400;}
.process__d{font-size:.82rem;line-height:1.75;color:var(--body-lt);margin:0;}

/* ---------- buildings ---------- */
.buildings{background:var(--ink);color:rgba(255,255,255,.8);position:relative;overflow:hidden;}
.buildings__grid{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(2rem,5vw,4rem);align-items:center;padding-block:clamp(3rem,6vw,4.5rem);}
.buildings h2{color:#fff;font-size:clamp(1.6rem,3vw,2.3rem);}
.buildings__list{border-left:1px solid rgba(201,161,92,.3);padding-left:clamp(1.5rem,3vw,3rem);}
.buildings__list ul{list-style:none;margin:0 0 1.8rem;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 0;}
.buildings__list li{
  font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.86);
  padding:.35rem 1.1rem;position:relative;
}
.buildings__list li::after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:3px;height:3px;border-radius:50%;background:var(--gold);}
.buildings__list li:last-child::after{display:none;}

/* ---------- quote ---------- */
.quoteband{background:var(--ink-2);padding-block:clamp(2.5rem,5vw,3.5rem);}
.quoteband__inner{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(1.5rem,4vw,3rem);align-items:center;}
.qmark{font-family:var(--accent);font-size:5.5rem;line-height:.8;color:var(--gold);opacity:.65;}
.quoteband p{font-family:var(--accent);font-weight:300;font-size:clamp(1.3rem,2.2vw,1.65rem);font-style:italic;color:rgba(255,255,255,.94);margin:0;line-height:1.6;}
.quoteband__who{border-left:1px solid var(--line);padding-left:clamp(1.2rem,2.5vw,2rem);white-space:nowrap;}
.quoteband__who b{display:block;font-family:var(--sans);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:#fff;font-weight:400;}
.quoteband__who span{display:block;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-lt);margin-top:.35rem;}

/* ---------- testimonial cards ---------- */
.tcols{columns:2;column-gap:2rem;}
.tcard{
  break-inside:avoid;background:var(--paper);border:1px solid var(--line-soft);
  border-top:2px solid var(--gold);padding:2rem clamp(1.4rem,2.4vw,2.2rem);margin-bottom:2rem;
}
.tcard p{font-size:.93rem;line-height:1.85;}
.tcard p:last-of-type{margin-bottom:1.2rem;}
.tcard__who{border-top:1px solid var(--line-soft);padding-top:1rem;}
.tcard__who b{display:block;font-family:var(--serif);font-size:1rem;letter-spacing:.04em;color:var(--ink);font-weight:400;}
.tcard__who span{display:block;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-dk);margin-top:.3rem;}

.tnote{
  max-width:64ch;margin:clamp(1.5rem,3vw,2.5rem) auto 0;padding-top:1.6rem;
  border-top:1px solid var(--line);
  text-align:center;font-family:var(--accent);font-size:1.02rem;line-height:1.7;color:var(--body-lt);font-style:italic;
}

/* ---------- services ---------- */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);}
.svc__item{background:var(--paper);padding:clamp(1.8rem,3vw,2.6rem);}
.svc__n{font-family:var(--accent);font-style:italic;font-size:1.9rem;color:var(--gold);line-height:1;margin-bottom:1.1rem;}
.svc__item h3{margin-bottom:.8rem;}
.svc__item p{font-size:.9rem;margin:0;color:var(--body-lt);}

.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:stretch;}
.split > *{align-self:center;}
.split--rev .split__media{order:2;}
.split__media{align-self:stretch;}
.split__media img{width:100%;height:100%;min-height:clamp(320px,42vw,520px);object-fit:cover;}

/* ---------- contact ---------- */
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);}
.cblock{margin-bottom:2.2rem;}
.cblock .lbl{font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-dk);margin-bottom:.55rem;}
.cblock .val{font-family:var(--serif);font-size:1.12rem;letter-spacing:.02em;color:var(--ink);line-height:1.6;}
.cblock .val a:hover{color:var(--gold-dk);}

.form label{display:block;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--body-lt);margin-bottom:.5rem;}
.form .field{margin-bottom:1.3rem;}
.form input,.form select,.form textarea{
  width:100%;padding:.95rem 1rem;border:1px solid var(--line-soft);background:var(--paper);
  font-family:var(--sans);font-size:.95rem;color:var(--ink);border-radius:0;
}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--gold);}
.form textarea{min-height:130px;resize:vertical;}
.form .note{font-size:.76rem;color:var(--body-lt);margin-top:1rem;}

/* ---------- CTA ---------- */
.cta{background:var(--ink);position:relative;}
.cta__inner{display:grid;grid-template-columns:1fr auto;gap:clamp(2rem,5vw,4rem);align-items:center;padding-block:clamp(3rem,6vw,4.5rem);}
.cta h2{color:var(--gold-lt);font-family:var(--accent);font-style:italic;font-weight:300;font-size:clamp(2rem,4vw,3.2rem);}
.cta__right{text-align:right;}
.cta__right .kicker{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.8);line-height:2;margin-bottom:1.4rem;}

/* ---------- footer ---------- */
.site-foot{background:#08080A;color:rgba(255,255,255,.55);padding-block:clamp(2.5rem,5vw,3.5rem);border-top:1px solid rgba(201,161,92,.18);}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:clamp(2rem,4vw,3.5rem);}
.foot-grid h4{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-lt);font-family:var(--sans);margin-bottom:1.1rem;font-weight:400;}
.foot-grid ul{list-style:none;margin:0;padding:0;}
.foot-grid li{margin-bottom:.55rem;font-size:.85rem;}
.foot-grid a:hover{color:var(--gold-lt);}
.foot-bot{
  border-top:1px solid rgba(255,255,255,.08);margin-top:2.5rem;padding-top:1.5rem;
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  font-size:.72rem;letter-spacing:.1em;color:rgba(255,255,255,.4);
}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.3,1);}
.rv.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .process{grid-template-columns:repeat(3,1fr);gap:2.2rem 0;}
  .process__item:nth-child(3n){border-right:0;}
  .tiles{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:900px){
  .navtoggle{display:block;}
  .nav{
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--ink);border-bottom:1px solid rgba(201,161,92,.25);
    padding:1rem var(--gutter) 1.75rem;
    display:none;
  }
  .nav.is-open{display:flex;}
  .nav a{padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.07);}
  .nav a::after{display:none;}
  .nav .btn{margin-top:1.2rem;justify-content:center;border-bottom:1px solid var(--gold);}
  .statement__grid,.buildings__grid,.split,.cgrid,.cta__inner{grid-template-columns:1fr;}
  .split--rev .split__media{order:0;}
  .statement__copy,.buildings__list{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:1.6rem;}
  .svc{grid-template-columns:1fr;}
  .tcols{columns:1;}
  .cta__right{text-align:left;}
  .quoteband__inner{grid-template-columns:1fr;}
  .quoteband__who{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:1rem;white-space:normal;}
  .foot-grid{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .process{grid-template-columns:repeat(2,1fr);}
  .process__item{border-right:0;}
  .tiles{grid-template-columns:1fr;}
  .tiles--3{grid-template-columns:1fr;}
  .brand__mark{width:44px;height:44px;}
  .brand__name{font-size:1.25rem;}
  .brand__sub i{width:18px;}
  .brand{gap:.7rem;}
}

/* ---------- justified portfolio gallery (no cropping) ---------- */
.gallery{display:flex;flex-wrap:wrap;gap:14px;--base:540px;}
.gallery::after{content:"";flex-grow:999999;}
.gallery__item{
  flex-grow:calc(var(--r) * 100);
  width:calc(var(--r) * var(--base));
  aspect-ratio:var(--r);
  overflow:hidden;background:var(--ink-2);
}
.gallery__item img{width:100%;height:100%;display:block;transition:transform 1s cubic-bezier(.2,.7,.3,1);}
.gallery__item:hover img{transform:scale(1.04);}
@media (max-width:1100px){.gallery{--base:400px;}}
@media (max-width:760px){.gallery{--base:300px;gap:10px;}}
@media (max-width:480px){.gallery{--base:320px;}}

/* ---------- slim title band + lightbox ---------- */
.titleband{background:var(--ink);padding-block:clamp(1.6rem,3vw,2.4rem);border-bottom:1px solid rgba(201,161,92,.22);}
.titleband h1{color:#fff;font-size:clamp(1.7rem,3.2vw,2.3rem);}
.gallery__item{cursor:zoom-in;}
.lb[hidden]{display:none;}
.lb{position:fixed;inset:0;z-index:100;background:rgba(6,6,7,.96);display:flex;align-items:center;justify-content:center;}
.lb__img{max-width:min(94vw,1500px);max-height:88vh;object-fit:contain;box-shadow:0 30px 80px rgba(0,0,0,.6);}
.lb__close,.lb__nav{position:absolute;background:none;border:0;color:rgba(255,255,255,.75);cursor:pointer;font-family:var(--accent);line-height:1;transition:color .2s ease;}
.lb__close:hover,.lb__nav:hover{color:var(--gold-lt);}
.lb__close{top:14px;right:22px;font-size:2.6rem;}
.lb__nav{top:50%;transform:translateY(-50%);font-size:4.5rem;padding:1rem 1.2rem;}
.lb__prev{left:6px;}.lb__next{right:6px;}
.lb__count{position:absolute;bottom:18px;left:0;right:0;text-align:center;font-size:.68rem;letter-spacing:.24em;color:rgba(255,255,255,.5);}
@media (max-width:560px){.lb__nav{font-size:3rem;padding:.6rem;}}

/* ---------- dark gallery ground ---------- */
.section--gallery{background:var(--ink);padding-top:clamp(1.5rem,3vw,2.5rem);}
.titleband{border-bottom:1px solid rgba(201,161,92,.18);}
.section--gallery .gallery__item{background:#000;}

/* ---------- about page additions ---------- */
.hoods{background:var(--ink);padding-block:1.4rem;border-top:1px solid rgba(201,161,92,.18);border-bottom:1px solid rgba(201,161,92,.18);}
.hoods ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 0;}
.hoods li{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-lt);padding:.3rem 1.3rem;position:relative;}
.hoods li::after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:3px;height:3px;border-radius:50%;background:var(--gold);}
.hoods li:last-child::after{display:none;}
.twocol{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,5vw,5rem);}
.section--dark p{color:rgba(255,255,255,.78);}
.section--dark .rule{background:var(--gold);}
.italic-gold-lt{font-family:var(--accent);font-style:italic;font-weight:300;font-size:1.12em;color:var(--gold-lt);}
.promise{
  margin:clamp(2.5rem,5vw,4rem) auto 0;padding-top:2rem;border-top:1px solid rgba(201,161,92,.3);
  text-align:center;font-family:var(--serif);font-size:clamp(1.15rem,2vw,1.5rem);color:#fff !important;line-height:1.5;max-width:36ch;
}
@media (max-width:900px){.twocol{grid-template-columns:1fr;}}

/* ---------- contact form extras ---------- */
.hp{position:absolute;left:-9999px;opacity:0;}
.thanks{border:1px solid var(--line);padding:clamp(1.8rem,3vw,2.6rem);background:var(--cream-2);}
.thanks h3{margin-bottom:.8rem;}
.thanks p:last-child{margin:0;}
.btn[disabled]{opacity:.6;cursor:default;}

/* ---------- phone / tablet: home hero shows the ENTIRE photo, headline beneath ---------- */
@media (max-width:900px){
  .hero:not(.hero--page){display:block;aspect-ratio:auto;min-height:0;max-height:none;}
  .hero:not(.hero--page) .hero__img{position:relative;inset:auto;width:100%;aspect-ratio:4/3;}
  .hero:not(.hero--page) .hero__img img{object-fit:cover;object-position:center;}
  .hero:not(.hero--page) .hero__img::after{background:none;}
  .hero:not(.hero--page) .hero__body{padding-top:1.8rem;padding-bottom:2.4rem;max-width:none;}
  .hero:not(.hero--page) .hero__body h1{text-shadow:none;font-size:clamp(1.9rem,8vw,2.6rem);}
  .hero:not(.hero--page) .hero__sub{text-shadow:none;font-size:1.02rem;}
  .hero--page .hero__img::after{background:linear-gradient(to right,rgba(6,6,7,.86),rgba(6,6,7,.5));}
}

/* ---------- standard band ---------- */
.band365{background:var(--ink);color:rgba(255,255,255,.8);border-top:1px solid rgba(201,161,92,.18);border-bottom:1px solid rgba(201,161,92,.18);}
.band365__inner{padding-block:clamp(3rem,6vw,4.5rem);max-width:60rem;}
.band365 h2{color:#fff;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.25;margin-bottom:1.1rem;}
.band365 p{margin:0;font-size:1.02rem;max-width:66ch;}
