/* =========================================================================
   Schreinerei Beckers — warm-handwerkliches Redesign
   Palette: Off-White #faf7f1 · Espresso #211b14 · Gold-Akzent #b07d2b
   Type: Spectral (Headlines) · Instrument Sans (Text) · Spline Sans Mono (Labels)
   ========================================================================= */

:root{
  --accent:#b07d2b;        /* gold accent (hardcoded default) */
  --ink:#211b14;           /* espresso text */
  --bg:#faf7f1;            /* warm off-white */
  --bg-alt:#f3ece0;        /* slightly deeper off-white */
  --line:#e7dfd2;          /* hairline border */
  --muted:#5c5142;         /* muted body text */
  --muted-2:#6b5f4f;
  --label:#8a7c66;         /* mono label color */
  --dark:#211b14;          /* dark band bg */
  --secpad:118px;          /* section padding (normal spacing) */
  --serif:'Spectral',Georgia,serif;
  --sans:'Instrument Sans',system-ui,-apple-system,sans-serif;
  --mono:'Spline Sans Mono',ui-monospace,monospace;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block;}
::selection{background:var(--accent);color:#fff;}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}

/* ---------- layout helpers ---------- */
.container{max-width:1200px;margin:0 auto;padding:0 28px;width:100%;}
.container--narrow{max-width:1000px;}
.section{padding:var(--secpad) 0;}
.section--alt{background:var(--bg-alt);}
.section--bordered{border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.section--bordered-top{border-top:1px solid var(--line);}
.section--dark{background:var(--dark);color:#f3ece0;}
.center{text-align:center;}
.nowrap{white-space:nowrap;}
.mt-32{margin-top:32px;}
.mt-36{margin-top:36px;}
.mt-28{margin-top:28px;}
.break{word-break:break-all;}
[hidden]{display:none !important;}

/* ---------- shared type ---------- */
.eyebrow{
  font-family:var(--mono);font-size:12px;letter-spacing:.22em;
  text-transform:uppercase;display:block;
}
.eyebrow--accent{color:var(--accent);}
.eyebrow--gold{color:#e0b766;}
.h2{
  font-family:var(--serif);font-weight:600;
  font-size:clamp(28px,4vw,44px);line-height:1.08;letter-spacing:-.01em;margin:14px 0 0;
}
.h2--light{color:#fff;}
.h2--tight{font-size:clamp(26px,3.4vw,40px);line-height:1.1;margin:0;}
.accent-italic{font-style:italic;color:var(--accent);}
.lead-muted{font-size:18px;line-height:1.7;color:var(--muted);margin:0;}
.center-lead{margin:14px auto 0;max-width:560px;}

.link-accent{display:inline-block;color:var(--accent);font-weight:600;text-decoration:none;font-size:15.5px;cursor:pointer;transition:color .15s;}
.link-accent:hover{color:var(--ink);}
.link-gold{color:#e0b766;font-weight:600;text-decoration:none;font-size:15.5px;cursor:pointer;transition:color .15s;}
.link-gold:hover{color:#fff;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:inherit;font-weight:600;font-size:14.5px;
  border-radius:2px;cursor:pointer;text-decoration:none;border:1px solid transparent;
  padding:11px 20px;transition:background .15s,color .15s,border-color .15s;
}
.btn--lg{font-size:15.5px;padding:15px 30px;}
.btn--accent{background:var(--accent);color:#fff;border-color:var(--accent);}
.btn--accent:hover{background:var(--ink);border-color:var(--ink);}
/* accent button that sits on a dark background → inverts to light on hover */
.btn--accent-onDark:hover{background:#f3ece0;border-color:#f3ece0;color:var(--ink);}
.btn--outline{background:transparent;color:var(--ink);border:1px solid #cdbfa8;padding:14px 28px;}
.btn--outline.btn--lg{padding:14px 28px;}
.btn--outline:hover{border-color:var(--accent);color:var(--accent);}
.btn--ghost-light{background:transparent;color:#f3ece0;border:1px solid rgba(243,236,224,.45);padding:14px 28px;}
.btn--ghost-light:hover{background:rgba(255,255,255,.08);}

/* =========================================================================
   TOP BAR
   ========================================================================= */
.topbar{background:#26201a;color:#cdbfa8;font-family:var(--mono);font-size:12.5px;letter-spacing:.02em;}
.topbar__inner{max-width:1200px;margin:0 auto;padding:9px 28px;display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:space-between;align-items:center;}
.topbar__group{display:flex;gap:26px;flex-wrap:wrap;}
.topbar__muted{color:#9c8e74;}
.topbar a{color:#e8dcc6;text-decoration:none;}

/* =========================================================================
   HEADER
   ========================================================================= */
.header{position:sticky;top:0;z-index:50;background:rgba(250,247,241,.93);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
.header__inner{max-width:1200px;margin:0 auto;padding:15px 28px;display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:inherit;cursor:pointer;}
.brand__mark{width:42px;height:42px;border:1.5px solid var(--accent);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:600;color:var(--accent);font-size:22px;border-radius:2px;flex:none;}
.brand__text{line-height:1.05;}
.brand__name{display:block;font-family:var(--serif);font-weight:600;font-size:19px;letter-spacing:.005em;}
.brand__sub{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--label);margin-top:1px;}
.nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap;}
.nav__link{padding:8px 12px;cursor:pointer;text-decoration:none;font-size:15px;font-weight:500;white-space:nowrap;color:var(--muted);border-bottom:2px solid transparent;transition:color .15s;}
.nav__link:hover{color:var(--accent);}
.nav__link.is-active{color:var(--ink);border-bottom-color:var(--accent);}
.nav__cta{margin-left:10px;}
.nav__cta.is-active{border-bottom-color:transparent;}   /* CTA never shows the underline */

/* =========================================================================
   HOME · variant switcher
   ========================================================================= */
.variant-bar{background:#fff;border-bottom:1px solid var(--line);}
.variant-bar__inner{max-width:1200px;margin:0 auto;padding:11px 28px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.variant-bar__label{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--label);}
.seg{display:flex;gap:5px;border:1px solid #e0d5c2;border-radius:999px;padding:4px;background:var(--bg);}
.seg__btn{padding:8px 16px;border-radius:999px;border:none;cursor:pointer;font-family:var(--mono);font-size:12px;letter-spacing:.04em;font-weight:500;background:transparent;color:var(--muted-2);}
.seg__btn.is-active{background:var(--ink);color:#f3ece0;}

/* ---------- HERO A · Vollbild ---------- */
.heroA{position:relative;min-height:80vh;display:flex;align-items:center;overflow:hidden;}
.heroA__bg{position:absolute;inset:0;background:repeating-linear-gradient(135deg,#2c2319 0 22px,#352a1f 22px 44px);background-size:cover;background-position:center;}
.heroA__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,13,8,.9) 0%,rgba(18,13,8,.62) 52%,rgba(18,13,8,.28) 100%);}
.heroA__note{position:absolute;right:18px;bottom:14px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:rgba(243,236,224,.5);}
.heroA__inner{position:relative;max-width:1200px;margin:0 auto;padding:60px 28px;width:100%;}
.heroA__content{max-width:700px;color:#f6efe2;animation:fadeUp .7s ease both;}
.heroA__title{font-family:var(--serif);font-weight:600;font-size:clamp(38px,6vw,68px);line-height:1.04;margin:20px 0 0;letter-spacing:-.015em;}
.heroA__lead{font-size:clamp(17px,1.6vw,20px);line-height:1.62;color:#d8cdb9;max-width:580px;margin:24px 0 0;}
.heroA__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px;}

/* ---------- HERO B · Geteilt ---------- */
.heroB{border-bottom:1px solid var(--line);background:var(--bg);}
.heroB__grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1.02fr 0.98fr;gap:0;align-items:stretch;}
.heroB__copy{padding:clamp(48px,7vw,104px) clamp(32px,4vw,72px) clamp(48px,7vw,104px) 28px;display:flex;flex-direction:column;justify-content:center;animation:fadeUp .7s ease both;}
.heroB__title{font-family:var(--serif);font-weight:600;font-size:clamp(36px,5vw,62px);line-height:1.05;margin:20px 0 0;letter-spacing:-.015em;}
.heroB__lead{font-size:clamp(16.5px,1.5vw,19px);line-height:1.62;color:var(--muted);max-width:520px;margin:24px 0 0;}
.heroB__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px;}
.heroB__meta{margin-top:40px;display:flex;gap:26px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--label);}
.heroB__meta .dot{color:#d8ccb8;}
.heroB__media{position:relative;min-height:540px;background:repeating-linear-gradient(135deg,#ece3d4 0 18px,#e3d8c6 18px 36px);background-size:cover;background-position:center;border-left:1px solid #e0d5c2;}
.heroB__frame{position:absolute;left:22px;right:22px;top:22px;bottom:22px;border:1px solid rgba(124,107,82,.25);display:flex;align-items:flex-end;padding:18px;}
.heroB__note{font-family:var(--mono);font-size:12px;letter-spacing:.05em;color:#9c8e78;}
.heroB__media.has-image{background-image:var(--img),repeating-linear-gradient(135deg,#ece3d4 0 18px,#e3d8c6 18px 36px);background-size:cover;background-position:center;background-repeat:no-repeat;}
.heroB__media.has-image .heroB__frame{border-color:rgba(255,255,255,.35);}
.heroB__media.has-image .heroB__note{display:none;}

/* Hero A full-bleed photo: --img inline on the section; scrim element keeps text legible */
.heroA.has-image .heroA__bg{background-image:var(--img),repeating-linear-gradient(135deg,#2c2319 0 22px,#352a1f 22px 44px);background-size:cover;background-position:center;background-repeat:no-repeat;}
.heroA.has-image .heroA__note{display:none;}

/* ---------- STATS BAND ---------- */
.stats{background:var(--ink);color:#e9dfcd;}
.stats__inner{max-width:1200px;margin:0 auto;padding:46px 28px;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.stat{text-align:left;border-left:2px solid var(--accent);padding-left:18px;}
.stat__big{font-family:var(--serif);font-weight:600;font-size:clamp(30px,3.4vw,42px);line-height:1;color:#fff;}
.stat__label{font-size:13.5px;color:#b9ab92;margin-top:8px;line-height:1.4;}

/* ---------- INTRO STATEMENT ---------- */
.intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,80px);align-items:start;}
.intro__title{margin-top:16px;font-size:clamp(28px,4vw,46px);line-height:1.08;}
.intro__body{padding-top:8px;}
.intro__body .link-accent{margin-top:20px;}

/* ---------- section heads ---------- */
.section__head--narrow{max-width:640px;}
.section__head--row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;}
.section__head-text{max-width:560px;}
.section__head--center{max-width:640px;margin:0 auto;text-align:center;}

/* ---------- AUDIENCE CARDS ---------- */
.audience{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:48px;}
.card-audience{background:#fff;border:1px solid var(--line);padding:clamp(28px,3.4vw,46px);border-radius:3px;display:flex;flex-direction:column;}
.card-audience__tag{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--label);}
.card-audience__title{font-family:var(--serif);font-weight:600;font-size:clamp(22px,2.4vw,30px);line-height:1.12;margin:12px 0 0;}
.card-audience__text{font-size:16px;line-height:1.6;color:var(--muted-2);margin:14px 0 0;}
.card-audience__more{margin-top:auto;padding-top:24px;font-size:15px;}
.ticklist{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-direction:column;gap:11px;}
.ticklist li{display:flex;gap:12px;align-items:baseline;font-size:15.5px;color:#3a322a;line-height:1.45;}
.tick{width:6px;height:6px;background:var(--accent);flex:none;transform:rotate(45deg);position:relative;top:1px;}

/* ---------- LEISTUNGEN TILES ---------- */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:46px;border-radius:3px;overflow:hidden;}
.tile{background:var(--bg);padding:clamp(26px,2.6vw,38px);min-height:200px;display:flex;flex-direction:column;transition:background .15s;}
.tile:hover{background:#fff;}
.tile__num{font-family:var(--mono);font-size:13px;color:var(--accent);letter-spacing:.06em;}
.tile__title{font-family:var(--serif);font-weight:600;font-size:22px;line-height:1.15;margin:18px 0 0;}
.tile__text{font-size:15px;line-height:1.55;color:var(--muted-2);margin:12px 0 0;}

/* ---------- GALLERY TEASER ---------- */
.teaser-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:46px;}
.teaser-tile{aspect-ratio:3/4;background:repeating-linear-gradient(135deg,#3a2f23 0 16px,#43372a 16px 32px);background-size:cover;background-position:center;border:1px solid rgba(224,183,102,.18);display:flex;align-items:flex-end;padding:14px;}
.teaser-tile__label{font-family:var(--mono);font-size:11.5px;color:rgba(243,236,224,.6);letter-spacing:.04em;}
/* real photo: --img inline; falls back to the wood gradient if the file is missing */
.teaser-tile.has-image{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0) 60%),var(--img),repeating-linear-gradient(135deg,#3a2f23 0 16px,#43372a 16px 32px);background-size:cover;background-position:center;background-repeat:no-repeat;}
.teaser-tile.has-image .teaser-tile__label{color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.6);}

/* ---------- REVIEWS ---------- */
.reviews{display:grid;gap:24px;margin-top:48px;}
.reviews--two{grid-template-columns:1fr 1fr;}
.quote{background:#fff;border:1px solid var(--line);padding:clamp(28px,3vw,40px);border-radius:3px;margin:0;}
.stars{color:var(--accent);font-size:16px;letter-spacing:3px;}
.quote__text{font-family:var(--serif);font-size:clamp(18px,1.8vw,22px);line-height:1.5;color:#2e261d;margin:18px 0 0;font-style:italic;}
.quote__by{margin-top:20px;font-size:14px;color:var(--label);font-family:var(--mono);letter-spacing:.03em;}

/* ---------- CTA BAND ---------- */
.cta-band{background:var(--bg-alt);border-top:1px solid var(--line);padding:clamp(56px,7vw,96px) 0;}
.cta-band__title{font-family:var(--serif);font-weight:600;font-size:clamp(28px,4.2vw,48px);line-height:1.08;letter-spacing:-.012em;margin:0;}
.cta-band__text{font-size:18px;line-height:1.6;color:var(--muted);max-width:600px;margin:18px auto 0;}
.cta-band__actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:32px;}

/* =========================================================================
   PAGE HEADS (sub pages)
   ========================================================================= */
.pagehead{background:var(--bg-alt);border-bottom:1px solid var(--line);padding:clamp(64px,9vw,120px) 0 clamp(48px,6vw,76px);}
.pagehead__inner{max-width:820px;}
.pagehead__title{font-family:var(--serif);font-weight:600;font-size:clamp(34px,5.4vw,60px);line-height:1.06;letter-spacing:-.015em;margin:16px 0 0;}
.pagehead__title--legal{font-size:clamp(32px,4.6vw,52px);line-height:1.07;}
.pagehead__lead{font-size:19px;line-height:1.65;color:var(--muted);max-width:640px;margin:22px 0 0;}
.container--legal{max-width:900px;}

/* ---------- ÜBER UNS · timeline ---------- */
.container--timeline{max-width:900px;}
.milestone{display:grid;grid-template-columns:130px 1fr;gap:clamp(20px,3vw,40px);padding:26px 0;border-bottom:1px solid #ece3d4;}
.milestone__year{font-family:var(--serif);font-weight:600;font-size:clamp(24px,2.4vw,30px);color:var(--accent);line-height:1;}
.milestone__title{font-family:var(--serif);font-weight:600;font-size:21px;margin:0;line-height:1.2;}
.milestone__text{font-size:16px;line-height:1.6;color:var(--muted-2);margin:8px 0 0;max-width:560px;}
.center-band{padding:clamp(56px,7vw,90px) 0;}
.center-band__quote{font-family:var(--serif);font-size:clamp(22px,2.6vw,32px);line-height:1.4;margin:18px auto 0;max-width:760px;color:#fff;}

/* ---------- LEISTUNGEN page ---------- */
.service-list{display:flex;flex-direction:column;gap:clamp(40px,5vw,72px);}
.section--services{padding:clamp(48px,6vw,90px) 0;}
.service{display:grid;grid-template-columns:300px 1fr;gap:clamp(24px,4vw,56px);align-items:start;}
.service__num{font-family:var(--mono);font-size:13px;color:var(--accent);letter-spacing:.06em;}
.service__title{font-family:var(--serif);font-weight:600;font-size:clamp(24px,2.6vw,32px);line-height:1.1;margin:10px 0 0;}
.service__desc{font-size:15.5px;line-height:1.6;color:var(--muted-2);margin:12px 0 0;}
.service__items{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.chip{background:#fff;border:1px solid var(--line);border-radius:3px;padding:18px 20px;display:flex;gap:13px;align-items:baseline;font-size:15.5px;color:#3a322a;line-height:1.4;transition:border-color .15s;}
.chip:hover{border-color:var(--accent);}

/* ---------- GALERIE ---------- */
.placeholder-note{font-family:var(--mono);font-size:12px;letter-spacing:.05em;color:var(--label);margin:0 0 26px;}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;grid-auto-rows:240px;}
.gallery__item{background:repeating-linear-gradient(135deg,#ece3d4 0 16px,#e3d8c6 16px 32px);background-size:cover;background-position:center;border:1px solid #e0d5c2;border-radius:3px;display:flex;align-items:flex-end;padding:16px;overflow:hidden;transition:border-color .15s;}
.gallery__item:hover{border-color:var(--accent);}
.gallery__label{font-family:var(--mono);font-size:12px;color:#9c8e78;letter-spacing:.04em;}
/* real photo: --img inline; falls back to the beige gradient if the file is missing */
.gallery__item.has-image{background-image:linear-gradient(to top,rgba(0,0,0,.55),rgba(0,0,0,0) 55%),var(--img),repeating-linear-gradient(135deg,#ece3d4 0 16px,#e3d8c6 16px 32px);background-size:cover;background-position:center;background-repeat:no-repeat;}
.gallery__item.has-image .gallery__label{color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.6);}

/* ---------- REZENSIONEN ---------- */
.container--reviews{max-width:1100px;}
.container--reviews .reviews--two{margin-top:0;gap:20px;}
.container--reviews .quote{padding:clamp(26px,3vw,38px);}
.container--reviews .quote__text{font-size:clamp(17px,1.7vw,21px);margin:16px 0 0;}
.container--reviews .quote__by{margin-top:18px;}
.review-cta{text-align:center;margin-top:44px;background:var(--bg-alt);border:1px solid var(--line);border-radius:3px;padding:clamp(32px,4vw,52px);}
.review-cta__title{font-family:var(--serif);font-weight:600;font-size:clamp(22px,2.6vw,30px);margin:0;}
.review-cta__text{font-size:16.5px;color:var(--muted);margin:12px 0 0;}
.review-cta__link{display:inline-block;margin:22px 16px 0;}

/* ---------- KONTAKT ---------- */
.contact{display:grid;grid-template-columns:1.1fr 0.9fr;gap:clamp(36px,5vw,72px);align-items:start;}
.contact__success{background:#fff;border:1px solid var(--line);border-radius:3px;padding:clamp(32px,4vw,52px);}
.contact__check{width:48px;height:48px;border:1.5px solid var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:24px;font-family:var(--serif);}
.contact__success-title{font-family:var(--serif);font-weight:600;font-size:28px;margin:20px 0 0;}
.contact__success-text{font-size:16.5px;color:var(--muted);line-height:1.6;margin:12px 0 0;}
.form{display:flex;flex-direction:column;gap:18px;}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.field{display:flex;flex-direction:column;gap:7px;font-size:13.5px;font-weight:600;color:#3a322a;}
.field input,.field select,.field textarea{
  width:100%;padding:13px 15px;border:1px solid #d8ccb8;background:#fff;
  font-family:inherit;font-size:15px;color:var(--ink);border-radius:2px;
}
.field textarea{resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);}
.form__submit{align-self:flex-start;padding:15px 32px;font-size:15.5px;}
.infocard{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:3px;overflow:hidden;}
.infocard__row{background:var(--bg);padding:24px 26px;}
.infocard__label{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--label);}
.infocard__value{font-size:16px;color:#2e261d;margin-top:8px;line-height:1.5;}
.infocard__strong{color:var(--accent);text-decoration:none;font-weight:600;}
.infocard__muted{color:var(--muted-2);}
.infocard__muted.small{font-size:14.5px;}

/* ---------- IMPRESSUM / prose ---------- */
.container--prose{max-width:760px;color:#3a322a;}
.prose__h2{font-family:var(--serif);font-weight:600;font-size:24px;margin:0 0 14px;}
.prose__p{font-size:16.5px;line-height:1.7;color:var(--muted);margin:0;}
.prose__note{font-family:var(--mono);font-size:12.5px;line-height:1.6;color:var(--label);margin:24px 0 0;background:var(--bg-alt);border:1px solid var(--line);border-radius:3px;padding:18px 20px;}
.rule{height:1px;background:var(--line);margin:36px 0;}

/* =========================================================================
   FOOTER
   ========================================================================= */
.footer{background:var(--ink);color:#cdbfa8;}
.footer__inner{max-width:1200px;margin:0 auto;padding:clamp(48px,6vw,80px) 28px clamp(36px,4vw,56px);display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;}
.footer__logo{display:flex;align-items:center;gap:12px;}
.footer__mark{width:40px;height:40px;border:1.5px solid var(--accent);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:600;color:#e0b766;font-size:20px;border-radius:2px;flex:none;}
.footer__name{font-family:var(--serif);font-weight:600;font-size:18px;color:#fff;}
.footer__blurb{font-size:15px;line-height:1.6;color:#9c8e74;margin:18px 0 0;max-width:280px;}
.footer__social{display:inline-block;margin-top:20px;font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;color:#e0b766;text-decoration:none;transition:color .15s;}
.footer__social:hover{color:#fff;}
.footer__head{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#7a6e58;}
.footer__links{display:flex;flex-direction:column;gap:11px;margin-top:16px;}
.footer__links a{cursor:pointer;color:#cdbfa8;text-decoration:none;font-size:15px;transition:color .15s;}
.footer__links a:hover{color:#fff;}
.footer__contact{font-size:15px;line-height:1.7;color:#cdbfa8;margin-top:16px;}
.footer__gold{color:#e0b766;text-decoration:none;}
.footer__bottom{border-top:1px solid #38301f;}
.footer__bottom-inner{max-width:1200px;margin:0 auto;padding:20px 28px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:13px;color:#7a6e58;font-family:var(--mono);letter-spacing:.03em;}
.footer__bottom-inner a{cursor:pointer;color:#7a6e58;text-decoration:none;transition:color .15s;}
.footer__bottom-inner a:hover{color:#cdbfa8;}

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width:980px){
  .heroB__grid{grid-template-columns:1fr;}
  .heroB__copy{padding:clamp(40px,8vw,64px) 28px;}
  .heroB__media{min-height:340px;border-left:none;border-top:1px solid #e0d5c2;}
  .stats__inner{grid-template-columns:repeat(2,1fr);gap:24px 28px;}
  .intro{grid-template-columns:1fr;gap:24px;}
  .audience{grid-template-columns:1fr;}
  .tiles{grid-template-columns:repeat(2,1fr);}
  .teaser-grid{grid-template-columns:repeat(2,1fr);}
  .reviews--two{grid-template-columns:1fr;}
  .service{grid-template-columns:1fr;gap:18px;}
  .gallery{grid-template-columns:repeat(2,1fr);}
  .contact{grid-template-columns:1fr;}
  .footer__inner{grid-template-columns:1fr 1fr;gap:32px;}
}
@media (max-width:620px){
  :root{--secpad:72px;}
  .header__inner{padding:12px 20px;}
  .nav{gap:0 2px;}
  .nav__link{padding:7px 8px;font-size:14px;}
  .nav__cta{margin-left:6px;padding:9px 14px;}
  .container,.topbar__inner,.header__inner,.variant-bar__inner,.heroA__inner,.stats__inner,.footer__inner,.footer__bottom-inner{padding-left:20px;padding-right:20px;}
  .tiles{grid-template-columns:1fr;}
  .teaser-grid{grid-template-columns:1fr 1fr;}
  .gallery{grid-template-columns:1fr;grid-auto-rows:220px;}
  .gallery__item{grid-row:auto !important;}
  .service__items{grid-template-columns:1fr;}
  .form__row{grid-template-columns:1fr;}
  .stats__inner{grid-template-columns:1fr 1fr;}
  .milestone{grid-template-columns:74px 1fr;gap:16px;}
  .footer__inner{grid-template-columns:1fr 1fr;}
  .topbar{display:none;}
}
