/* ═══════════════════════════════════════════════════════════════════════
   Thime Concierge Solutions — the pages rebuilt on the approved mockups
   of 19 September 2026: the home page, the About page, the Services page
   the four branch pages and Contact. Nothing fades
   in and nothing dissolves on scroll. Loaded by those pages only, after
   site.css; the header, the close and the footer rules are shared.
   ═══════════════════════════════════════════════════════════════════════ */

.hm{
  --night:#0b0a07;
  --gold-deep:#7d6529;
  --gold-night:#c6a55f;
  --ink:#1a1815;
  --ink-muted:#5f584d;
  --ink-faint:#948c7e;
  --line:#e0d8c7;
  --on-night:#f5f0e6;
  --on-night2:rgba(245,240,230,.66);
  --display:'the-seasons','The Seasons','Cormorant Garamond',Georgia,serif;
  background:var(--cream);
  color:var(--ink);
  font-size:18px;
  line-height:1.5;
}
.hm h1,.hm h2,.hm h3{ color:inherit; }
.hm picture{ display:contents; }
.hm-in{ max-width:1240px; margin:0 auto; padding:0 48px; }

/* ── Header ──────────────────────────────────────────────────────────── */
.hm-top{
  min-height:96px; display:flex; align-items:center; flex-wrap:wrap;
  padding:0 48px; color:var(--on-night); background:var(--night);
  border-bottom:1px solid rgba(245,240,230,.08);
}
.hm-top .hm-mark img{ height:74px; width:auto; display:block; }
.hm-top nav{ margin-left:56px; display:flex; gap:34px; font-size:13px; letter-spacing:.22em; text-transform:uppercase; }
.hm-top nav a{ opacity:.85; padding-bottom:4px; border-bottom:1px solid transparent; transition:opacity .25s var(--ease); }
.hm-top nav a:hover,.hm-top nav a:focus-visible{ opacity:1; }
.hm-top nav a[aria-current]{ border-bottom-color:var(--gold-night); opacity:1; }

/* The services dropdown. Opens on hover where there is a pointer, on the small
   chevron where there is a finger, and on the keyboard. */
.hm-drop{ position:relative; display:flex; align-items:center; gap:8px; }
.hm-drop::after{ content:''; position:absolute; left:-20px; right:-20px; top:100%; height:18px; }
.hm-drop-btn{ background:none; border:0; margin:0; padding:2px 2px 8px; color:inherit; cursor:pointer; opacity:.85; line-height:0; }
.hm-drop-btn::before{ content:''; display:block; width:6px; height:6px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg); transition:transform .25s var(--ease); }
.hm-drop-btn:hover{ opacity:1; }
.hm-drop-menu{
  position:absolute; top:calc(100% + 16px); left:-26px; z-index:30; min-width:264px; margin:0; padding:10px 0; list-style:none;
  background:var(--night); border:1px solid rgba(245,240,230,.12); border-top:1px solid var(--gold-night);
  box-shadow:0 18px 40px rgba(0,0,0,.35);
  opacity:0; visibility:hidden; transform:translateY(6px);
  transition:opacity .2s var(--ease), transform .2s var(--ease), visibility .2s;
}
.hm-top nav .hm-drop-menu a{ display:block; padding:12px 26px; border-bottom:0; white-space:nowrap; opacity:.85; }
.hm-top nav .hm-drop-menu a:hover,.hm-top nav .hm-drop-menu a:focus-visible{ opacity:1; color:var(--gold-night); }
.hm-top nav .hm-drop-menu a[aria-current]{ color:var(--gold-night); opacity:1; }
.hm-drop.open .hm-drop-menu,.hm-drop:has(:focus-visible) .hm-drop-menu{ opacity:1; visibility:visible; transform:none; }
.hm-drop.open .hm-drop-btn::before{ transform:translateY(3px) rotate(225deg); }
@media (hover:hover){ .hm-drop:hover .hm-drop-menu{ opacity:1; visibility:visible; transform:none; } }
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.hm-doors{ margin-left:auto; display:flex; align-items:center; gap:26px; font-size:13.5px; letter-spacing:.2em; text-transform:uppercase; }
.hm-pill{ border:1px solid var(--gold-night); color:var(--gold-night); border-radius:100px; padding:11px 22px; transition:background .25s var(--ease), color .25s var(--ease); }
.hm-pill:hover,.hm-pill:focus-visible{ background:var(--gold); border-color:var(--gold); color:var(--black); }

/* ── Hero ────────────────────────────────────────────────────────────── */
.hm-hero{ position:relative; background:var(--night); color:var(--on-night); display:grid; grid-template-columns:46% 54%; min-height:720px; }
.hm-hero .hm-ph{ grid-column:2; grid-row:1; min-height:720px; overflow:hidden; }
.hm-hero .hm-ph img{ width:100%; height:100%; object-fit:cover; object-position:62% center; }
.hm-hero .hm-copy{ grid-column:1; grid-row:1; align-self:center; padding:90px 56px 90px 48px; max-width:680px; }
.hm-eyebrow,.hm-hero .hm-eyebrow,.hm-close .hm-eyebrow{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:500; font-size:12.5px; letter-spacing:.3em; text-transform:uppercase; color:var(--gold-night); margin:0 0 22px; }
.hm-hero h1{ font-family:var(--display); font-weight:400; font-size:74px; line-height:1.02; margin:0 0 26px; letter-spacing:-.005em; text-wrap:balance; }
.hm-hero h1 em{ font-style:italic; color:var(--gold-night); }
.hm-hero p{ font-size:21px; line-height:1.5; color:var(--on-night2); max-width:520px; margin:0 0 34px; }
.hm-cta{ display:flex; gap:14px; flex-wrap:wrap; }
.hm-btn{
  display:inline-flex; align-items:center; font-size:13.5px; letter-spacing:.22em; text-transform:uppercase;
  padding:15px 30px; border-radius:100px; border:1px solid var(--gold); color:var(--black); background:var(--gold);
  white-space:nowrap; flex-shrink:0; justify-content:center;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.hm-btn:hover{ transform:translateY(-2px); box-shadow:0 10px 30px rgba(161,133,55,.3); }
.hm-btn.hm-line{ background:transparent; color:var(--on-night); border-color:rgba(245,240,230,.5); }
.hm-btn.hm-line:hover{ border-color:var(--gold-night); color:var(--gold-night); transform:none; box-shadow:none; }

/* The four doors, one per market, on the first scroll. */
.hm-doors4{ grid-column:1/-1; margin:0 48px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(245,240,230,.22); }
.hm-door{ padding:26px 26px 30px 0; border-right:1px solid rgba(245,240,230,.14); }
.hm-door:last-child{ border-right:0; }
.hm-door+.hm-door{ padding-left:26px; }
.hm-door small{ display:block; font-size:12.5px; letter-spacing:.26em; text-transform:uppercase; color:var(--gold-night); margin-bottom:8px; }
.hm-door b{ display:block; font-family:var(--display); font-weight:400; font-size:24px; line-height:1.15; margin-bottom:6px; }
.hm-door span{ display:block; font-size:16.5px; color:var(--on-night2); line-height:1.4; }
.hm-door i{ display:block; margin-top:12px; font-style:normal; font-size:12.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-night); }
.hm-door:hover b{ color:var(--gold-night); }

/* ── Statement ───────────────────────────────────────────────────────── */
.hm-state{ padding:120px 0 110px; text-align:center; }
.hm-state h2{ font-family:var(--display); font-weight:400; font-size:46px; line-height:1.2; margin:0 auto 22px; max-width:820px; text-wrap:balance; }
.hm-state p{ max-width:640px; margin:0 auto; font-size:19px; color:var(--ink-muted); }
.hm-rule{ width:44px; height:1px; background:var(--gold); margin:28px auto 0; }

/* ── The four branches, on the kitchen ───────────────────────────────
   The basket on the counter of the bright kitchen, the photograph at full
   strength on the right and washing to cream where the words sit. */
.hm-branches{ position:relative; background:var(--cream); overflow:hidden; }
.hm-branches::before{ content:''; position:absolute; inset:0; background:url(/assets/img/thime-kitchen-basket-1080.44e4e36c.jpg) 30% center/cover no-repeat; background-image:image-set(url(/assets/img/thime-kitchen-basket-1536.44e4e36c.webp) type("image/webp"), url(/assets/img/thime-kitchen-basket-1080.44e4e36c.jpg) type("image/jpeg")); }
.hm-branches::after{ content:''; position:absolute; inset:0; background:linear-gradient(90deg,var(--cream) 0,var(--cream) 24%,rgba(245,240,230,.92) 34%,rgba(245,240,230,.55) 44%,rgba(245,240,230,0) 58%); }
.hm-branches .hm-in{ position:relative; z-index:1; display:grid; grid-template-columns:520px 1fr; gap:64px; }
.hm-list{ padding:72px 0 76px; }
.hm-branches .hm-eyebrow{ color:var(--gold-deep); margin-bottom:14px; }
.hm-branches h2{ font-family:var(--display); font-weight:400; font-size:44px; line-height:1.1; margin:0 0 30px; }
.hm-br{ display:grid; grid-template-columns:56px 1fr; gap:0 18px; padding:20px 0; border-top:1px solid rgba(26,24,21,.16); }
.hm-br .hm-n{ font-family:var(--display); font-size:22px; color:var(--ink-faint); padding-top:4px; }
.hm-br h3{ font-family:var(--display); font-weight:400; font-size:26px; margin:0 0 6px; }
.hm-br p{ margin:0 0 10px; color:var(--ink-muted); font-size:17.5px; line-height:1.5; }
.hm-br a{ font-size:12.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold-deep); }
.hm-br a:hover{ color:var(--black); }

/* ── The close ───────────────────────────────────────────────────────── */
.hm-close{ background:var(--night); color:var(--on-night); padding:110px 0; text-align:center; }
.hm-close .hm-eyebrow{ margin-bottom:18px; }
.hm-close h2{ font-family:var(--display); font-weight:400; font-size:52px; margin:0 0 18px; }
.hm-close p{ color:var(--on-night2); font-size:20px; max-width:560px; margin:0 auto 34px; }
.hm-close .hm-cta{ justify-content:center; margin-bottom:30px; }
.hm-close .hm-mail{ margin:30px auto 0; font-size:14.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-night); }

/* ── Footer, shared markup, the lockup in place of the square mark ──── */
.hm footer{ background:var(--black); color:var(--cream-dim); border-top:1px solid rgba(245,240,230,.1); }
.hm .footer-brand img{ width:170px; margin:0 0 .8rem; }
.hm .footer-col a,.hm .footer-brand p{ font-size:1.02rem; }
.hm .footer-col h2{ font-size:0.74rem; }
.hm .footer-bottom{ font-size:0.9rem; }
.hm .footer-tagline{ font-style:italic; color:var(--gold-night); font-size:17px; margin-bottom:6px; }

/* ── Phone ───────────────────────────────────────────────────────────── */
@media (max-width:900px){
  .hm-top nav{ margin-left:0; order:3; width:100%; justify-content:center; gap:22px; padding:0 0 14px; font-size:12.5px; }
  .hm-drop{ gap:6px; }
  .hm-drop-menu{ left:50%; transform:translate(-50%,6px); min-width:248px; top:calc(100% + 12px); }
  .hm-drop.open .hm-drop-menu,.hm-drop:has(:focus-visible) .hm-drop-menu{ transform:translate(-50%,0); }
}
@media (max-width:900px) and (hover:hover){ .hm-drop:hover .hm-drop-menu{ transform:translate(-50%,0); } }
@media (max-width:700px){
  .hm-in{ padding:0 20px; }
  .hm-top{ min-height:0; padding:14px 20px 0; gap:12px; }
  .hm-top .hm-mark img{ height:58px; }
  .hm-doors{ gap:10px; font-size:12.5px; }
  .hm-pill{ padding:9px 14px; }
  .hm-hero{ display:block; min-height:0; }
  .hm-hero .hm-ph{ min-height:0; height:440px; }
  .hm-hero .hm-copy{ padding:40px 20px 34px; max-width:none; }
  .hm-hero h1{ font-size:46px; }
  .hm-hero p{ font-size:18px; }
  /* Side by side on one line, never stacked, and each label on one line (Dawn, 2026-09-30).
     The same size on every page, so the gold button reads the same wherever it sits. */
  .hm-cta{ flex-wrap:nowrap; gap:10px; }
  .hm-btn{ justify-content:center; padding:14px 16px; font-size:11.5px; letter-spacing:.14em; }
  .hm-cta .hm-btn{ flex:1 1 auto; }
  .hm-doors4{ margin:0; grid-template-columns:1fr; padding:0 20px; }
  .hm-door{ padding:18px 0 20px; border-right:0; border-bottom:1px solid rgba(245,240,230,.14); }
  .hm-door+.hm-door{ padding-left:0; }
  .hm-door:last-child{ border-bottom:0; }
  .hm-door b{ font-size:20px; }
  .hm-door span{ font-size:14px; }
  .hm-state{ padding:64px 0 56px; }
  .hm-state h2{ font-size:32px; }
  .hm-state p{ font-size:17px; }
  .hm-branches .hm-in{ grid-template-columns:1fr; gap:0; }
  .hm-list{ padding:48px 0 0; }
  .hm-branches h2{ font-size:34px; }
  .hm-br{ grid-template-columns:40px 1fr; }
  .hm-br h3{ font-size:22px; }
  .hm-branches::before{ display:none; }
  .hm-branches::after{ position:static; display:block; height:460px; background:url(/assets/img/thime-kitchen-basket-1080.44e4e36c.jpg) 62% center/cover no-repeat; background-image:image-set(url(/assets/img/thime-kitchen-basket-1536.44e4e36c.webp) type("image/webp"), url(/assets/img/thime-kitchen-basket-1080.44e4e36c.jpg) type("image/jpeg")); margin-top:28px; }
  .hm-close{ padding:64px 0; }
  .hm-close h2{ font-size:36px; }
  .hm-close .hm-cta{ padding:0 20px; }
}
/* Tablets: the home page's opening goes to one column, so its two buttons have the room to sit
   side by side. */
@media (min-width:701px) and (max-width:900px){
  .hm-hero{ grid-template-columns:1fr; }
  .hm-hero .hm-copy{ grid-column:1; grid-row:1; max-width:none; padding:56px 48px 44px; }
  .hm-hero .hm-ph{ grid-column:1; grid-row:2; min-height:0; height:460px; }
  .hm-cta{ flex-wrap:nowrap; }
}
/* Small laptops and tablets held sideways: a little more room for the words, and the compact
   button, so the pair stays on one line. From 1300px the full-size pair fits as designed. */
@media (min-width:901px) and (max-width:1299px){
  .hm-hero{ grid-template-columns:52% 48%; }
  .hm-cta{ flex-wrap:nowrap; }
  .hm-btn{ padding:14px 18px; font-size:12px; letter-spacing:.14em; }
}
@media (min-width:1300px){ .hm-cta{ flex-wrap:nowrap; } }
/* The narrowest common phones: smaller type and spacing keep the pair, and the menu, inside the
   screen. Below 340px the two buttons are allowed to stack rather than run off the edge. */
@media (max-width:380px){
  .hm-btn{ padding:13px 12px; font-size:11px; letter-spacing:.1em; }
  .hm-cta{ gap:8px; }
  .hm-top nav{ gap:14px; letter-spacing:.14em; font-size:12px; }
}
@media (max-width:340px){
  .hm-cta{ flex-wrap:wrap; }
  .hm-cta .hm-btn{ flex:1 1 100%; }
}
@media (prefers-reduced-motion:reduce){
  .hm-btn,.hm-pill,.hm-top nav a,.hm-drop-menu,.hm-drop-btn::before{ transition:none; }
}

/* ═══════════════════════════════════════════════════════════════════════
   About
   The portrait runs behind the hero and leaves the night where the words
   sit. The founder's story sits on the kitchen, the picture whole from the
   window to the stove, washing to cream under the words. The standards are
   on cream. Where the hours go is words on black beside the notebook. The
   two dark passages never touch.
   ═══════════════════════════════════════════════════════════════════════ */
.ab-hero{ position:relative; background:var(--night); color:var(--on-night); display:grid; grid-template-columns:50% 50%; min-height:720px; overflow:hidden; }
.ab-hero::before{ content:''; position:absolute; inset:0; background:url(/assets/img/dawn-mccall-1080.db2cc95d.jpg) 100% 14%/auto 134% no-repeat; background-image:image-set(url(/assets/img/dawn-mccall-1135.db2cc95d.webp) type("image/webp"), url(/assets/img/dawn-mccall-1080.db2cc95d.jpg) type("image/jpeg")); }
.ab-hero::after{ content:''; position:absolute; inset:0; background:linear-gradient(90deg,var(--night) 0,var(--night) 44%,rgba(11,10,7,.94) 50%,rgba(11,10,7,.6) 57%,rgba(11,10,7,.2) 64%,rgba(11,10,7,0) 71%); }
.ab-hero .hm-copy{ position:relative; z-index:1; grid-column:1; grid-row:1; align-self:center; padding:90px 56px 90px 48px; max-width:640px; }
.ab-hero h1{ font-family:var(--display); font-weight:400; font-size:60px; line-height:1.06; margin:0 0 26px; text-wrap:balance; }
.ab-hero p:not([class]){ font-size:20px; line-height:1.5; color:var(--on-night2); max-width:500px; margin:0; }

.ab-founder{ position:relative; background:var(--cream); overflow:hidden; }
.ab-founder::before{ content:''; position:absolute; inset:0; background:url(/assets/img/thime-kitchen-peas-1080.19154218.jpg) 100% 50%/auto 100% no-repeat; background-image:image-set(url(/assets/img/thime-kitchen-peas-1086.19154218.webp) type("image/webp"), url(/assets/img/thime-kitchen-peas-1080.19154218.jpg) type("image/jpeg")); }
.ab-founder::after{ content:''; position:absolute; inset:0; background:linear-gradient(90deg,var(--cream) 0,var(--cream) 40%,rgba(245,240,230,.96) 46%,rgba(245,240,230,.7) 52%,rgba(245,240,230,.3) 58%,rgba(245,240,230,0) 66%); }
.ab-founder .hm-in{ position:relative; z-index:1; padding-top:96px; padding-bottom:100px; }
.ab-fx{ max-width:560px; }
.ab-eyebrow{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:500; font-size:12.5px; letter-spacing:.3em; text-transform:uppercase; color:var(--gold-deep); margin:0 0 14px; }
.ab-h2{ font-family:var(--display); font-weight:400; font-size:44px; line-height:1.1; margin:0; }
.ab-fx .ab-h2{ margin-bottom:26px; }
.ab-lead{ font-family:var(--display); font-style:italic; font-size:26px; line-height:1.3; margin:0 0 28px; color:var(--ink); }
.ab-story p{ margin:0 0 18px; color:var(--ink-muted); font-size:17.5px; line-height:1.55; }
.ab-story em{ color:var(--ink); }
.ab-story strong{ font-weight:600; color:var(--ink); }

.ab-state{ padding:30px 0 100px; text-align:center; }
.ab-state img{ height:54px; width:auto; margin:0 auto 18px; }
.ab-state p{ font-family:var(--display); font-style:italic; font-size:30px; line-height:1.35; max-width:720px; margin:0 auto; color:var(--ink); text-wrap:balance; }

.ab-stand{ border-top:1px solid var(--line); padding:100px 0; }
.ab-stand .ab-head{ margin-bottom:44px; }
.ab-grid{ display:grid; grid-template-columns:1fr 1fr; gap:0 64px; }
.ab-st{ padding:26px 0 28px; border-top:1px solid rgba(26,24,21,.16); }
.ab-st h3{ font-family:var(--display); font-weight:400; font-size:26px; margin:0 0 8px; }
.ab-st p{ margin:0; color:var(--ink-muted); font-size:17.5px; line-height:1.5; }

.ab-hours{ position:relative; background:var(--night); color:var(--on-night); display:grid; grid-template-columns:50% 50%; min-height:560px; }
.ab-hours .hm-copy{ grid-column:1; grid-row:1; align-self:center; padding:80px 56px 80px 48px; max-width:680px; }
.ab-hours .ab-eyebrow{ color:var(--gold-night); }
.ab-hours .ab-h2{ margin-bottom:26px; }
.ab-hours p:not([class]){ margin:0 0 16px; color:var(--on-night2); font-size:17.5px; line-height:1.55; }
.ab-hours .ab-ph{ grid-column:2; grid-row:1; min-height:560px; overflow:hidden; }
.ab-hours .ab-ph img{ width:100%; height:100%; object-fit:cover; object-position:28% center; }

.ab-corr{ border-top:1px solid var(--line); padding:90px 0; }
.ab-corr .hm-in{ display:grid; grid-template-columns:340px 1fr; gap:64px; align-items:start; }
.ab-corr p:not([class]){ margin:0 0 16px; color:var(--ink-muted); font-size:17.5px; line-height:1.55; max-width:620px; }

@media (max-width:700px){
  .ab-hero{ display:block; min-height:0; }
  .ab-hero::before{ display:none; }
  .ab-hero::after{ position:static; display:block; height:440px; background:linear-gradient(180deg,var(--night) 0,rgba(11,10,7,0) 34%),url(/assets/img/dawn-mccall-1080.db2cc95d.jpg) 60% 18%/cover no-repeat; background-image:linear-gradient(180deg,var(--night) 0,rgba(11,10,7,0) 34%),image-set(url(/assets/img/dawn-mccall-1135.db2cc95d.webp) type("image/webp"), url(/assets/img/dawn-mccall-1080.db2cc95d.jpg) type("image/jpeg")); }
  .ab-hero .hm-copy{ padding:40px 20px 0; max-width:none; }
  .ab-hero h1{ font-size:40px; }
  .ab-hero p{ font-size:18px; }
  .ab-founder .hm-in{ padding:48px 0 0; }
  .ab-fx{ max-width:none; }
  .ab-founder::before{ display:none; }
  .ab-founder::after{ position:static; display:block; height:440px; background:url(/assets/img/thime-kitchen-peas-1080.19154218.jpg) 50% 45%/cover no-repeat; background-image:image-set(url(/assets/img/thime-kitchen-peas-1086.19154218.webp) type("image/webp"), url(/assets/img/thime-kitchen-peas-1080.19154218.jpg) type("image/jpeg")); margin-top:28px; }
  .ab-h2{ font-size:34px; }
  .ab-lead{ font-size:23px; }
  .ab-state{ padding:10px 0 56px; }
  .ab-state p{ font-size:24px; }
  .ab-stand{ padding:56px 0; }
  .ab-stand .ab-head{ margin-bottom:24px; }
  .ab-grid{ grid-template-columns:1fr; gap:0; }
  .ab-st h3{ font-size:22px; }
  .ab-hours{ display:block; min-height:0; }
  .ab-hours .hm-copy{ padding:48px 20px 40px; max-width:none; }
  .ab-hours .ab-ph{ min-height:0; height:360px; }
  .ab-hours .ab-ph img{ object-position:40% center; }
  .ab-corr{ padding:56px 0; }
  .ab-corr .hm-in{ grid-template-columns:1fr; gap:20px; }
}

/* ═══════════════════════════════════════════════════════════════════════
   Services
   Dawn's reference of 19 September: the question beside the bright
   kitchen; the concierge at the desk with the four branches on black;
   the relationship passage with the quotation; the close beside the books.
   Every photograph cut square, nothing fades.
   ═══════════════════════════════════════════════════════════════════════ */
.sv-hero{ display:grid; grid-template-columns:44% 56%; min-height:640px; background:var(--cream); }
.sv-hero .hm-copy{ align-self:center; padding:80px 56px 80px 48px; max-width:640px; }
.sv-hero h1{ font-family:var(--display); font-weight:400; font-size:66px; line-height:1.04; margin:0 0 22px; color:var(--ink); text-wrap:balance; }
.sv-hero p:not([class]){ font-size:19px; line-height:1.55; color:var(--ink-muted); max-width:480px; margin:0; }
.sv-tag{ display:flex; align-items:center; gap:18px; margin:34px 0 0; font-family:'Cormorant Garamond',Georgia,serif; font-weight:500; font-size:12.5px; letter-spacing:.3em; text-transform:uppercase; color:var(--gold-deep); }
.sv-tag::before{ content:''; width:56px; height:1px; background:var(--gold); }
.sv-hero .sv-ph{ min-height:640px; overflow:hidden; }
.sv-ph img{ width:100%; height:100%; object-fit:cover; display:block; }
.sv-hero .sv-ph img{ object-position:42% 55%; }

.sv-branches{ display:grid; grid-template-columns:50% 50%; background:var(--night); color:var(--on-night); }
.sv-branches .sv-ph{ overflow:hidden; }
.sv-branches .sv-ph img{ object-position:50% 28%; }
.sv-list{ padding:64px 64px 56px 56px; }
.sv-br{ display:grid; grid-template-columns:auto 1fr; gap:0 22px; padding:30px 0 34px; border-top:1px solid rgba(245,240,230,.16); align-items:start; }
.sv-br:first-child{ border-top:0; padding-top:12px; }
.sv-n{ font-family:var(--display); font-size:30px; color:var(--gold-night); display:flex; align-items:center; gap:16px; line-height:1.15; }
.sv-n::after{ content:''; width:22px; height:1px; background:var(--gold-night); }
.sv-br h2{ font-family:var(--display); font-weight:400; font-size:30px; line-height:1.15; margin:0 0 10px; color:var(--on-night); }
.sv-br p{ color:var(--on-night2); font-size:17.5px; line-height:1.5; margin:0 0 14px; max-width:470px; }
.sv-br a{ font-size:12.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold-night); }
.sv-br a:hover{ color:var(--on-night); }

.sv-shaped{ background:var(--night); color:var(--on-night); border-top:1px solid rgba(245,240,230,.12); padding:76px 0 72px; }
.sv-shaped .hm-in{ display:grid; grid-template-columns:1fr 1fr 300px; gap:24px 56px; }
.sv-shaped .hm-eyebrow{ grid-column:1/3; margin:0; }
.sv-shaped h2{ grid-column:1/3; font-family:var(--display); font-weight:400; font-size:44px; line-height:1.1; margin:0 0 6px; }
.sv-shaped p:not([class]){ margin:0 0 14px; color:var(--on-night2); font-size:17.5px; line-height:1.55; }
.sv-quote{ grid-column:3; grid-row:1/4; align-self:center; margin:0; border-left:1px solid var(--gold); padding-left:28px; font-family:var(--display); font-style:italic; font-size:32px; line-height:1.25; color:var(--gold-night); }

.sv-close{ display:grid; grid-template-columns:50% 50%; background:var(--night); color:var(--on-night); border-top:1px solid rgba(245,240,230,.12); min-height:420px; }
.sv-close .hm-copy{ align-self:center; padding:64px 48px; }
.sv-close .hm-eyebrow{ display:flex; align-items:center; gap:16px; margin-bottom:16px; }
.sv-close .hm-eyebrow::before{ content:''; width:34px; height:1px; background:var(--gold); }
.sv-close h2{ font-family:var(--display); font-weight:400; font-size:44px; margin:0 0 16px; }
.sv-close p:not([class]){ color:var(--on-night2); font-size:18px; line-height:1.5; max-width:460px; margin:0 0 28px; }
.sv-close .sv-ph{ position:relative; overflow:hidden; }
.sv-close .sv-ph img{ object-position:60% 50%; }
.sv-close .sv-ph::before{ content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,var(--night) 0,rgba(11,10,7,.6) 14%,rgba(11,10,7,0) 36%); }

@media (max-width:700px){
  .sv-hero{ display:block; min-height:0; }
  .sv-hero .sv-ph{ min-height:0; height:380px; }
  .sv-hero .hm-copy{ padding:40px 20px 36px; max-width:none; }
  .sv-hero h1{ font-size:44px; }
  .sv-hero p:not([class]){ font-size:17px; }
  .sv-branches{ display:block; }
  .sv-branches .sv-ph{ height:420px; }
  .sv-list{ padding:36px 20px 28px; }
  .sv-br{ gap:0 14px; padding:22px 0 24px; }
  .sv-n{ font-size:24px; }
  .sv-n::after{ width:14px; }
  .sv-br h2{ font-size:24px; }
  .sv-shaped{ padding:48px 0; }
  .sv-shaped .hm-in{ grid-template-columns:1fr; gap:12px; }
  .sv-shaped .hm-eyebrow,.sv-shaped h2{ grid-column:1; }
  .sv-shaped h2{ font-size:34px; }
  .sv-quote{ grid-column:1; grid-row:auto; margin-top:20px; font-size:26px; }
  .sv-close{ display:block; }
  .sv-close .hm-copy{ padding:48px 20px 40px; }
  .sv-close h2{ font-size:36px; }
  .sv-close .sv-ph{ height:340px; }
  .sv-close .sv-ph::before{ background:linear-gradient(180deg,var(--night) 0,rgba(11,10,7,0) 40%); }
}

/* ═══════════════════════════════════════════════════════════════════════
   The four branch pages
   One shape. The photograph holds the left and is part of the page: it
   dissolves into the night where the words begin and again at its foot,
   never a hard edge (Dawn, 2026-09-19). It stays put while the page passes
   on the right. No icons; the gold numeral carries each step.
   ═══════════════════════════════════════════════════════════════════════ */
.bp{ display:grid; grid-template-columns:48% 52%; background:var(--night); color:var(--on-night); }
.bp h1,.bp h2,.bp h3{ color:var(--on-night); }
.bp-ph{ position:sticky; top:0; height:100vh; min-height:720px; overflow:hidden; }
.bp-ph img{ width:100%; height:100%; object-fit:cover; display:block; }
.bp-ph::after{ content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(11,10,7,0) 0,rgba(11,10,7,0) 58%,rgba(11,10,7,.45) 76%,rgba(11,10,7,.9) 92%,var(--night) 100%),linear-gradient(180deg,rgba(11,10,7,0) 0,rgba(11,10,7,0) 72%,rgba(11,10,7,.7) 90%,var(--night) 100%); }
.bp-strip{ position:absolute; left:0; right:0; bottom:0; z-index:1; margin:0; padding:18px 28px; font-family:'Cormorant Garamond',Georgia,serif; font-weight:500; font-size:12.5px; letter-spacing:.28em; text-transform:uppercase; color:var(--gold-night); }
.bp-body{ padding:72px 64px 56px 24px; }
.bp-body .hm-eyebrow{ margin-bottom:16px; }
.bp-body h1{ font-family:var(--display); font-weight:400; font-size:58px; line-height:1.04; margin:0 0 18px; text-wrap:balance; }
.bp-promise{ font-family:var(--display); font-size:24px; line-height:1.3; margin:0 0 22px; color:var(--on-night); }
.bp-rule{ width:56px; height:1px; background:var(--gold); margin:0 0 26px; }
.bp-lede{ font-size:17.5px; line-height:1.55; color:var(--on-night2); margin:0 0 36px; max-width:560px; }
.bp-step{ display:grid; grid-template-columns:auto 1fr; gap:0 26px; align-items:start; padding:22px 0; border-top:1px solid rgba(245,240,230,.16); }
.bp-step:last-of-type{ border-bottom:1px solid rgba(245,240,230,.16); }
.bp-n{ font-family:var(--display); font-size:30px; line-height:1; color:var(--gold-night); display:flex; align-items:center; gap:14px; padding-top:4px; }
.bp-n::after{ content:''; width:22px; height:1px; background:var(--gold-night); }
.bp-step h2{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:600; font-size:14.5px; letter-spacing:.26em; text-transform:uppercase; color:var(--gold-night); margin:0 0 6px; }
.bp-step p{ margin:0; font-size:17.5px; line-height:1.5; color:var(--on-night2); max-width:520px; }
.bp-who{ display:grid; grid-template-columns:1fr 1fr; border:1px solid rgba(245,240,230,.2); margin-top:40px; }
.bp-who > div{ padding:26px 28px 28px; }
.bp-who > div + div{ border-left:1px solid rgba(245,240,230,.2); }
.bp-who h3{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:600; font-size:13px; letter-spacing:.26em; text-transform:uppercase; color:var(--gold-night); margin:0 0 16px; }
.bp-who ul{ margin:0; padding:0; list-style:none; }
.bp-who li{ font-size:17.5px; line-height:1.7; color:var(--on-night2); padding-left:16px; position:relative; }
.bp-who li::before{ content:''; position:absolute; left:0; top:.72em; width:5px; height:5px; border-radius:50%; background:var(--gold-night); }
.bp-note{ border:1px solid rgba(245,240,230,.2); border-top:0; padding:24px 28px 26px; }
.bp-note h3{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:600; font-size:13px; letter-spacing:.26em; text-transform:uppercase; color:var(--gold-night); margin:0 0 10px; }
.bp-note p{ margin:0; font-size:17.5px; line-height:1.55; color:var(--on-night2); }
.bp-close{ display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:44px; padding-top:36px; border-top:1px solid rgba(245,240,230,.16); }
.bp-close h2{ font-family:var(--display); font-weight:400; font-size:36px; margin:0; }
.bp-foot{ margin:40px 0 0; font-family:'Cormorant Garamond',Georgia,serif; font-weight:500; font-size:12.5px; letter-spacing:.28em; text-transform:uppercase; color:var(--gold-night); }
/* The luxury apartments page carries a story, two short sections and a
   signed close, on the same measure and colors as the rest of the body. */
.bp-story{ margin:0 0 8px; max-width:560px; }
.bp-story p{ font-size:17.5px; line-height:1.55; color:var(--on-night2); margin:0 0 16px; }
.bp-sec{ margin:36px 0 0; padding-top:32px; border-top:1px solid rgba(245,240,230,.16); max-width:560px; }
.bp-sec h2,.bp-h{ font-family:var(--display); font-weight:400; font-size:30px; line-height:1.15; margin:0 0 18px; color:var(--on-night); }
.bp-sec p{ font-size:17.5px; line-height:1.55; color:var(--on-night2); margin:0 0 16px; }
.bp-sec p b{ font-weight:600; color:var(--on-night); }
.bp-h{ margin:44px 0 18px; padding-top:32px; border-top:1px solid rgba(245,240,230,.16); }
.bp-talk{ flex-direction:column; align-items:flex-start; }
.bp-talk p{ margin:12px 0 0; font-size:17.5px; line-height:1.55; color:var(--on-night2); max-width:560px; }
.bp-talk .hm-btn{ flex-shrink:0; margin-top:6px; }
.bp-sign{ margin:20px 0 0; font-style:italic; font-size:17.5px; color:var(--on-night2); }
@media (max-width:700px){
  .bp{ display:block; }
  .bp-ph{ position:relative; height:520px; min-height:0; }
  .bp-ph::after{ background:linear-gradient(180deg,rgba(11,10,7,0) 0,rgba(11,10,7,0) 55%,rgba(11,10,7,.75) 82%,var(--night) 100%); }
  .bp-body{ padding:8px 20px 36px; }
  .bp-body h1{ font-size:40px; }
  .bp-promise{ font-size:20px; }
  .bp-step{ gap:0 16px; padding:18px 0; }
  .bp-n{ font-size:24px; }
  .bp-n::after{ width:14px; }
  .bp-who{ grid-template-columns:1fr; }
  .bp-who > div + div{ border-left:0; border-top:1px solid rgba(245,240,230,.2); }
  .bp-close{ flex-direction:column; align-items:flex-start; }
  .bp-close h2{ font-size:30px; }
  .bp-sec h2,.bp-h{ font-size:26px; }
}

/* ═══════════════════════════════════════════════════════════════════════
   The way back — a slim line under the bar on every page but home.
   A link to the page above, not a browser back, so it goes somewhere
   sensible however somebody arrived.
   ═══════════════════════════════════════════════════════════════════════ */
.hm-back{ background:var(--night); border-top:1px solid rgba(245,240,230,.08); }
.hm-back a{ display:inline-flex; align-items:center; gap:10px; padding:12px 48px; font-family:'Cormorant Garamond',Georgia,serif; font-weight:500; font-size:12.5px; letter-spacing:.26em; text-transform:uppercase; color:var(--gold-night); }
.hm-back a::before{ content:''; width:22px; height:1px; background:var(--gold-night); }
.hm-back a:hover{ color:var(--on-night); }

/* ═══════════════════════════════════════════════════════════════════════
   Contact — the form on the left; the welcome note is part of the page
   on the right, dissolving into the night where the form sits.
   ═══════════════════════════════════════════════════════════════════════ */
.ct{ display:grid; grid-template-columns:52% 48%; background:var(--night); color:var(--on-night); }
.ct h1,.ct h2{ color:var(--on-night); }
.ct-ph{ position:sticky; top:0; height:100vh; min-height:720px; overflow:hidden; order:2; }
.ct-ph img{ width:100%; height:100%; object-fit:cover; object-position:60% 45%; display:block; }
.ct-ph::after{ content:''; position:absolute; inset:0; background:linear-gradient(270deg,rgba(11,10,7,0) 0,rgba(11,10,7,0) 52%,rgba(11,10,7,.5) 74%,rgba(11,10,7,.92) 92%,var(--night) 100%),linear-gradient(180deg,rgba(11,10,7,0) 0,rgba(11,10,7,0) 72%,rgba(11,10,7,.7) 90%,var(--night) 100%); }
.ct-body{ padding:64px 24px 56px 48px; order:1; }
.ct-body .hm-eyebrow{ margin-bottom:16px; }
.ct-body h1{ font-family:var(--display); font-weight:400; font-size:58px; line-height:1.04; margin:0 0 18px; text-wrap:balance; }
.ct-promise{ font-size:19px; line-height:1.5; color:var(--on-night2); max-width:520px; margin:0 0 40px; }
.ct-form{ display:grid; grid-template-columns:1fr 1fr; gap:26px 28px; max-width:600px; }
.ct-hp{ position:absolute; left:-9999px; }
.ct-f{ display:flex; flex-direction:column; gap:8px; min-width:0; }
.ct-f.full{ grid-column:1/-1; }
.ct-f label{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:500; font-size:12.5px; letter-spacing:.26em; text-transform:uppercase; color:var(--gold-night); }
.ct-f input,.ct-f select,.ct-f textarea{ background:transparent; border:0; border-bottom:1px solid rgba(245,240,230,.28); color:var(--on-night); font:inherit; font-size:18px; padding:8px 0; outline:0; border-radius:0; }
.ct-f select option{ background:var(--night); color:var(--on-night); }
.ct-f textarea{ min-height:120px; resize:vertical; border:1px solid rgba(245,240,230,.2); padding:12px; }
.ct-f input:focus,.ct-f select:focus,.ct-f textarea:focus{ border-color:var(--gold); }
.ct-f input::placeholder,.ct-f textarea::placeholder{ color:var(--ink-faint); }
.ct-send{ grid-column:1/-1; display:flex; align-items:center; gap:22px; margin-top:6px; }
.ct-send .hm-btn{ padding:14px 34px; }
.ct-send span{ font-size:15px; color:var(--on-night2); }
.ct-direct{ margin-top:52px; max-width:600px; display:grid; grid-template-columns:1fr 1fr; gap:0 28px; border-top:1px solid rgba(245,240,230,.16); }
.ct-direct > div{ padding:22px 0 24px; }
.ct-direct > div + div{ border-left:1px solid rgba(245,240,230,.16); padding-left:28px; }
.ct-direct h2{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:600; font-size:12.5px; letter-spacing:.26em; text-transform:uppercase; color:var(--gold-night); margin:0 0 10px; }
.ct-direct p{ margin:0; font-size:17.5px; line-height:1.6; color:var(--on-night2); }
.ct-direct a{ color:var(--on-night); }
.ct-ground{ background:var(--night); color:var(--on-night); }
.ct-thanks{ padding:96px 48px 110px; max-width:680px; }
.ct-thanks h1{ font-family:var(--display); font-weight:400; font-size:52px; line-height:1.06; margin:0 0 18px; }
.ct-thanks p{ font-size:17.5px; line-height:1.55; color:var(--on-night2); margin:0 0 28px; }
.ct-thanks .hm-eyebrow{ margin-bottom:16px; }
@media (max-width:700px){
  .hm-back a{ padding:10px 20px; }
  .ct{ display:block; }
  .ct-ph{ position:relative; height:420px; min-height:0; }
  .ct-ph::after{ background:linear-gradient(180deg,rgba(11,10,7,0) 0,rgba(11,10,7,0) 50%,rgba(11,10,7,.75) 80%,var(--night) 100%); }
  .ct-body{ padding:8px 20px 40px; }
  .ct-body h1{ font-size:40px; }
  .ct-promise{ font-size:17.5px; }
  .ct-form{ grid-template-columns:1fr; gap:20px; }
  .ct-direct{ grid-template-columns:1fr; }
  .ct-direct > div + div{ border-left:0; padding-left:0; border-top:1px solid rgba(245,240,230,.16); }
  .ct-thanks{ padding:56px 20px 64px; }
  .ct-thanks h1{ font-size:36px; }
}
