*,*::before,*::after{box-sizing:border-box}
:root {
--gnt-ink:#151411;
--gnt-cream:#f7f3eb;
--gnt-paper:#fffdfa;
--gnt-gold:#b8892e;
--gnt-gold2:#d4aa55;
--gnt-muted:#625f58;
--gnt-line:#ddd5c8;
--gnt-deep:#20170f;
--gnt-serif:Georgia,"Times New Roman",serif;
--gnt-sans:Inter,system-ui,-apple-system,"Segoe UI",sans-serif
}
body.gnt-site {
margin:0;
width:100%;
overflow-x:hidden;
background:var(--gnt-paper);
color:var(--gnt-ink);
font-family:var(--gnt-sans)
}
.gnt-site #masthead,.gnt-site .site-footer,.gnt-site .entry-header {
display:none
}
.gnt-site .site-content,
.gnt-site .site-content > .ast-container {
width:100%;
max-width:none;
margin:0;
padding:0;
display:block
}
.gnt-site #primary,
.gnt-site .content-area {
width:100%;
max-width:none;
margin:0;
padding:0;
float:none
}
.gnt-site #secondary,
.gnt-site .widget-area {
display:none
}
.gnt-home {
width:100vw;
max-width:100vw;
max-width:none;
margin:0;
overflow-x:hidden
}
.gnt-wrap {
width:min(100% - 48px,1440px);
max-width:1440px;
margin:0 auto;
padding:0
}
.gnt-top {
background:linear-gradient(90deg,#131313 0%,#171717 34%,#111 67%,#161616 100%);
color:#fff;
font-size:13px
}
.gnt-top .gnt-wrap {
min-height:40px;
display:flex;
align-items:center;
justify-content:space-between;
gap:20px
}
.gnt-contact {
display:flex;
gap:26px;
flex-wrap:wrap
}
.gnt-nav {
background:#fff;
border-bottom:1px solid #eee;
position:sticky;
top:0;
z-index:20
}
.gnt-nav .gnt-wrap {
min-height:106px;
display:flex;
align-items:center;
gap:34px
}
.gnt-brand {
font-family:var(--gnt-serif);
font-size:38px;
line-height:.9;
margin-right:auto;
white-space:nowrap
}
.gnt-brand small {
display:block;
font:10px var(--gnt-sans);
letter-spacing:5px;
text-align:center;
margin-top:8px
}
.gnt-brand-tagline {
display:block;
font:11px var(--gnt-sans);
letter-spacing:2.6px;
text-transform:uppercase;
text-align:center;
margin-top:12px;
color:#39352f
}
.gnt-links {
display:flex;
gap:24px;
align-items:center;
font-size:14px;
flex-wrap:wrap
}
.gnt-links a,.gnt-top a,.gnt-footer a {
text-decoration:none;
color:inherit
}
.gnt-btn {
display:inline-flex;
align-items:center;
justify-content:center;
padding:14px 25px;
border-radius:4px;
background:linear-gradient(135deg,var(--gnt-gold),var(--gnt-gold2));
color:#fff!important;
text-decoration:none;
font-weight:700;
border:0;
box-shadow:0 8px 22px rgba(76,49,5,.12)
}
.gnt-btn.alt {
background:transparent;
border:1px solid rgba(255,255,255,.7)
}
.gnt-hero {
min-height:540px;
color:#fff;
display:flex;
align-items:center;
position:relative;
overflow:hidden;
background:#17100b url('../images/hero-wide.jpg') center center/cover no-repeat
}
.gnt-hero::after {
content:"";
position:absolute;
inset:0;
background:linear-gradient(90deg,rgba(14,9,6,.95) 0%,rgba(14,9,6,.91) 22%,rgba(14,9,6,.72) 37%,rgba(14,9,6,.38) 51%,rgba(14,9,6,.12) 66%,rgba(14,9,6,0) 80%);
pointer-events:none;
z-index:0
}
.gnt-hero .copy {
position:relative;
z-index:2;
max-width:600px;
padding:76px 0 72px
}
.gnt-hero .gnt-kicker {
font-family:var(--gnt-serif);
font-size:15px;
line-height:1.35;
letter-spacing:.12em;
font-weight:600;
color:#e4b95e!important;
-webkit-text-fill-color:#e4b95e
}
.gnt-hero .gnt-btn.alt {
color:#fff!important
}

.gnt-kicker {
letter-spacing:4px;
text-transform:uppercase;
font-size:12px;
color:#e4b95e;
font-weight:800
}
.gnt-kicker--centered {
text-align:center
}
.gnt-site a:focus-visible {
outline:3px solid var(--gnt-gold2);
outline-offset:3px
}
.gnt-hero h1,.gnt-story h2,.gnt-section h2 {
font-family:var(--gnt-serif);
font-weight:400
}
.gnt-hero h1 {
font-size:clamp(42px,3.4vw,64px);
line-height:.98;
margin:18px 0;
max-width:590px;
color:#fff!important;
-webkit-text-fill-color:#fff;
text-shadow:0 3px 12px rgba(0,0,0,.58)
}
.gnt-hero p {
font-size:clamp(16px,1.15vw,19px);
line-height:1.52;
max-width:575px;
color:#fff!important;
-webkit-text-fill-color:#fff;
text-shadow:0 2px 7px rgba(0,0,0,.62)
}
.gnt-actions {
display:flex;
gap:14px;
margin-top:28px;
flex-wrap:wrap
}
.gnt-services {
display:grid;
grid-template-columns:repeat(6,1fr);
border-bottom:1px solid var(--gnt-line);
background:#fbfaf7
}
.gnt-service {
text-align:center;
padding:30px 16px;
border-right:1px solid var(--gnt-line)
}
.gnt-service:last-child {
border:0
}
.gnt-service strong {
display:block;
margin-bottom:8px
}
.gnt-service span {
font-size:12px;
color:var(--gnt-muted)
}
.gnt-story {
padding:70px 0
}
.gnt-story-grid {
display:grid;
grid-template-columns:1.15fr .8fr 1.15fr;
gap:48px;
align-items:center
}
.gnt-story h2 {
font-size:48px;
line-height:1.05;
margin:8px 0 20px
}
.gnt-story p {
color:#4d4a44;
line-height:1.65
}
.gnt-proof {
display:grid;
gap:24px
}
.gnt-proof div {
padding-left:18px;
border-left:3px solid var(--gnt-gold)
}
.gnt-proof strong {
display:block;
margin-bottom:4px
}
.gnt-proof span {
color:#4d4a44
}
.gnt-photo {
min-height:360px;
border-radius:12px;
background:#d9d0c2 url('../images/storefront.jpg') center/cover no-repeat;
box-shadow:0 10px 35px rgba(0,0,0,.12)
}
.gnt-section {
padding:80px 0;
background:var(--gnt-cream)
}
.gnt-section h2 {
text-align:center;
font-size:46px;
margin-top:0
}
.gnt-cards {
display:grid;
grid-template-columns:repeat(3,1fr);
gap:22px
}
.gnt-card {
background:#fff;
padding:30px;
border:1px solid var(--gnt-line);
border-radius:8px
}
.gnt-card h3 {
font-family:var(--gnt-serif);
font-size:27px;
margin-top:0
}
.gnt-footer {
background:#171717;
color:#eee;
padding:50px 0
}
.gnt-footer-grid {
display:grid;
grid-template-columns:2fr 1fr 1fr 1fr;
gap:30px
}
.gnt-note {
font-size:12px;
color:#aaa;
margin-top:30px
}
@media(max-width:1280px) {
.gnt-links {
display:none
}
.gnt-story-grid {
grid-template-columns:1fr 1fr
}
.gnt-photo {
grid-column:1/-1
}
}
@media(max-width:1050px) {
.gnt-services {
grid-template-columns:repeat(3,1fr)
}
.gnt-cards {
grid-template-columns:1fr 1fr
}
}
@media(max-width:760px) {
.gnt-wrap {
width:min(100% - 28px,1440px)
}
.gnt-top .gnt-wrap,.gnt-nav .gnt-wrap,.gnt-actions,.gnt-footer-grid {
flex-direction:column;
align-items:flex-start
}
.gnt-nav .gnt-wrap {
padding-top:18px;
padding-bottom:18px
}
.gnt-services,.gnt-story-grid,.gnt-cards,.gnt-footer-grid {
grid-template-columns:1fr
}
.gnt-hero {
background:linear-gradient(180deg,rgba(15,10,7,.86) 0%,rgba(15,10,7,.45) 45%,rgba(15,10,7,.18) 100%),url('../images/hero.jpg') center/cover no-repeat
}
.gnt-hero h1 {
font-size:clamp(42px,3.4vw,64px);
line-height:.98;
margin:18px 0;
max-width:590px;
color:#fff!important;
-webkit-text-fill-color:#fff;
text-shadow:0 3px 12px rgba(0,0,0,.58)
}
.gnt-story h2,.gnt-section h2 {
font-size:38px
}
}

/* Keep hero typography readable even when Astra global colors are changed. */
.gnt-hero .gnt-kicker {color:#e4b95e!important}
.gnt-hero h1,.gnt-hero h2,.gnt-hero h3,.gnt-hero p,.gnt-hero span {color:#fff}
.gnt-hero .gnt-kicker {color:#e4b95e!important}

@media (min-width:1700px) {
  .gnt-wrap {max-width:1500px}
  .gnt-hero .copy {max-width:610px}
  .gnt-hero h1 {font-size:60px}
}

@media (max-width:1050px) {
  .gnt-hero::after {background:linear-gradient(90deg,rgba(14,9,6,.93),rgba(14,9,6,.42))}
  .gnt-hero .copy {max-width:630px}
}

@media (max-width:760px) {
  .gnt-hero {min-height:500px;background:#21150c url('../images/hero-wide.jpg') 62% center/cover no-repeat}
  .gnt-hero::after {background:linear-gradient(180deg,rgba(14,9,6,.86),rgba(14,9,6,.56))}
  .gnt-hero h1 {font-size:clamp(38px,11vw,48px);max-width:100%}
  .gnt-hero p {font-size:16px}
}


/* v0.2.4: owner-approved existing Gold'N Time branding */
.gnt-logo-link {
  display:flex;
  align-items:center;
  flex:0 0 auto;
  margin-right:auto;
  text-decoration:none;
}
.gnt-logo {
  display:block;
  width:auto;
  height:74px;
  max-width:320px;
  object-fit:contain;
}
.gnt-footer-brand p {
  margin:12px 0 0;
  color:#cfc7bb;
  letter-spacing:.08em;
  font-size:12px;
  text-transform:uppercase;
}
.gnt-footer-logo-wrap {
  display:inline-flex;
  align-items:center;
  background:#fff;
  border-radius:6px;
  padding:9px 12px;
}
.gnt-footer-logo {
  display:block;
  width:auto;
  height:58px;
  max-width:260px;
  object-fit:contain;
}
.gnt-footer-bottom {
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  border-top:1px solid rgba(255,255,255,.14);
  margin-top:34px;
  padding-top:22px;
  color:#aaa;
  font-size:12px;
}
.gnt-footer-bottom p { margin:0; }
.gnt-footer-bottom a {
  color:#e4b95e;
  font-weight:700;
}
@media(max-width:1200px) {
  .gnt-logo { height:66px; max-width:285px; }
}
@media(max-width:760px) {
  .gnt-logo { height:58px; max-width:min(270px,78vw); }
  .gnt-footer-logo { height:52px; max-width:min(250px,74vw); }
  .gnt-footer-bottom { flex-direction:column; align-items:flex-start; }
}


/* v0.3.0 multi-page site */
.gnt-service { color:var(--gnt-ink)!important; text-decoration:none; transition:background .2s ease, transform .2s ease; }
.gnt-service:hover { background:#fff; transform:translateY(-2px); }
.gnt-card a,.gnt-text-link { color:#8c651d; font-weight:700; text-decoration:none; }
.gnt-card a:hover,.gnt-text-link:hover { text-decoration:underline; }
.gnt-page-hero { background:linear-gradient(115deg,#17100b,#49321b); color:#fff; padding:74px 0 70px; }
.gnt-page-hero .gnt-kicker { color:#e4b95e; font-family:var(--gnt-serif); font-size:15px; letter-spacing:.08em; font-weight:600; text-transform:none; }
.gnt-page-hero h1 { color:#fff!important; font-family:var(--gnt-serif); font-size:clamp(44px,5vw,72px); font-weight:400; line-height:1.02; margin:12px 0 18px; }
.gnt-page-hero p:last-child { color:#f2ede5; font-size:19px; line-height:1.6; max-width:780px; margin:0; }
.gnt-content-section { padding:78px 0; }
.gnt-content-section.gnt-cream { background:var(--gnt-cream); }
.gnt-content-section h2,.gnt-cta h2,.gnt-detail-card h2 { font-family:var(--gnt-serif); font-weight:400; font-size:clamp(36px,4vw,52px); line-height:1.08; margin:8px 0 22px; }
.gnt-content-section p { color:#4d4a44; line-height:1.7; font-size:17px; }
.gnt-lead { max-width:900px; font-size:20px!important; }
.gnt-two-col { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr); gap:64px; align-items:start; }
.gnt-detail-card { padding:34px; background:#fff; border:1px solid var(--gnt-line); border-radius:10px; box-shadow:0 14px 34px rgba(0,0,0,.06); }
.gnt-detail-card h3 { margin-top:0; font-family:var(--gnt-serif); font-size:30px; }
.gnt-detail-card ul { margin:0; padding-left:20px; color:#4d4a44; line-height:1.8; }
.gnt-service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:34px; }
.gnt-service-grid article { padding:30px; border:1px solid var(--gnt-line); border-radius:8px; background:#fff; }
.gnt-service-grid h3 { font-family:var(--gnt-serif); font-size:28px; margin-top:0; }
.gnt-cta { padding:58px 0; background:#1a1713; color:#fff; }
.gnt-cta .gnt-wrap { display:flex; align-items:center; justify-content:space-between; gap:32px; }
.gnt-cta h2 { color:#fff!important; margin-bottom:0; max-width:800px; }
.gnt-photo--about { min-height:440px; }
.gnt-team-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:34px; }
.gnt-team-grid article { background:#fff; border:1px solid var(--gnt-line); border-radius:10px; overflow:hidden; }
.gnt-team-grid img { width:100%; aspect-ratio:4/3; object-fit:cover; object-position:center top; display:block; }
.gnt-team-grid h3,.gnt-team-grid p { margin-left:20px; margin-right:20px; }
.gnt-team-grid h3 { font-family:var(--gnt-serif); font-size:27px; margin-bottom:4px; }
.gnt-team-grid .gnt-role { color:#9a7127; font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; margin-top:0; }
.gnt-gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.gnt-gallery-grid figure { margin:0; background:#fff; border:1px solid var(--gnt-line); border-radius:10px; overflow:hidden; }
.gnt-gallery-grid figure img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.gnt-gallery-grid figcaption { padding:14px 16px; color:#5b554c; font-size:13px; }
.gnt-gallery-cta { padding:32px; border-radius:10px; background:#20170f; color:#fff; display:flex; flex-direction:column; justify-content:center; }
.gnt-gallery-cta h2 { color:#fff!important; font-family:var(--gnt-serif); font-size:36px; font-weight:400; }
.gnt-gallery-cta p { color:#eee; }
.gnt-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
.gnt-small { font-size:13px!important; color:#716b62!important; }
@media(max-width:1050px){.gnt-two-col,.gnt-contact-grid{grid-template-columns:1fr}.gnt-service-grid,.gnt-gallery-grid{grid-template-columns:repeat(2,1fr)}.gnt-team-grid{grid-template-columns:repeat(2,1fr)}.gnt-cta .gnt-wrap{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.gnt-content-section{padding:56px 0}.gnt-page-hero{padding:58px 0}.gnt-service-grid,.gnt-gallery-grid,.gnt-team-grid{grid-template-columns:1fr}.gnt-detail-card{padding:26px}.gnt-page-hero p:last-child{font-size:17px}}


/* v0.3.2: mobile header, accessibility, and maintainability pass */
.gnt-skip-link {
    position:fixed;
    left:16px;
    top:16px;
    z-index:1000;
    transform:translateY(-160%);
    padding:10px 14px;
    border-radius:4px;
    background:#fff;
    color:#111!important;
    font-weight:700;
    box-shadow:0 6px 24px rgba(0,0,0,.24);
}
.gnt-skip-link:focus { transform:translateY(0); }

.gnt-visually-hidden {
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}

.gnt-top-layout {
    display:grid!important;
    grid-template-columns:minmax(0,1.4fr) auto minmax(180px,.7fr);
    align-items:center;
    gap:24px;
}
.gnt-address,
.gnt-footer address {
    margin:0;
    font-style:normal;
}
.gnt-contact-links {
    display:flex;
    align-items:center;
    gap:24px;
}
.gnt-family-note { text-align:right; white-space:nowrap; }
.gnt-top a { text-decoration-thickness:1px; text-underline-offset:3px; }
.gnt-top a:hover { text-decoration:underline; }

.gnt-nav-layout { position:relative; }
.gnt-menu-toggle {
    display:none;
    align-items:center;
    gap:9px;
    border:1px solid var(--gnt-line);
    border-radius:4px;
    padding:10px 12px;
    background:#fff;
    color:var(--gnt-ink);
    font:600 14px var(--gnt-sans);
    cursor:pointer;
}
.gnt-menu-icon { display:grid; gap:3px; }
.gnt-menu-icon span { display:block; width:18px; height:2px; background:currentColor; }
.gnt-links a[aria-current="page"] {
    color:#8c651d;
    text-decoration:underline;
    text-decoration-thickness:2px;
    text-underline-offset:7px;
}

.gnt-storefront-figure {
    margin:0;
    border-radius:12px;
    overflow:hidden;
    background:#d9d0c2;
    box-shadow:0 10px 35px rgba(0,0,0,.12);
}
.gnt-storefront-figure img {
    width:100%;
    min-height:360px;
    aspect-ratio:550/360;
    object-fit:cover;
    display:block;
}
.gnt-storefront-figure figcaption {
    padding:10px 14px;
    background:#fff;
    color:#625f58;
    font-size:12px;
    line-height:1.45;
}
.gnt-storefront-figure--about img { min-height:440px; }

.gnt-gallery-grid figcaption { line-height:1.5; }
.gnt-gallery-grid img { background:#eee8de; }

.gnt-site :where(a,button):focus-visible {
    outline:3px solid #d4aa55!important;
    outline-offset:3px;
}

@media (max-width:1280px) {
    .gnt-menu-toggle { display:inline-flex; }
    .gnt-links {
        display:none;
        position:absolute;
        top:calc(100% - 8px);
        right:24px;
        z-index:40;
        width:min(360px,calc(100vw - 48px));
        padding:14px;
        border:1px solid var(--gnt-line);
        border-radius:8px;
        background:#fff;
        box-shadow:0 18px 45px rgba(0,0,0,.16);
    }
    .gnt-links.is-open { display:grid; }
    .gnt-links a { padding:10px 12px; border-radius:4px; }
    .gnt-links a:hover { background:var(--gnt-cream); }
}

@media (max-width:760px) {
    .gnt-top { font-size:14px; }
    .gnt-top-layout {
        grid-template-columns:1fr 1fr;
        gap:0 18px;
        padding:10px 0 11px;
    }
    .gnt-address {
        grid-column:1/-1;
        padding-bottom:9px;
        border-bottom:1px solid rgba(255,255,255,.13);
        line-height:1.35;
    }
    .gnt-contact-links {
        grid-column:1/-1;
        display:grid;
        grid-template-columns:auto 1fr;
        gap:8px 24px;
        padding-top:9px;
    }
    .gnt-family-note {
        grid-column:1/-1;
        padding-top:9px;
        color:#d9d3ca;
        font-size:12px;
        text-align:left;
    }

    .gnt-nav .gnt-wrap {
        min-height:auto;
        display:grid!important;
        grid-template-columns:1fr auto;
        gap:14px 12px;
        align-items:center!important;
        padding-top:15px;
        padding-bottom:15px;
    }
    .gnt-logo-link { min-width:0; margin:0; }
    .gnt-logo { height:auto; width:min(310px,72vw); max-width:100%; }
    .gnt-menu-toggle { grid-column:2; grid-row:1; }
    .gnt-header-cta {
        grid-column:1/-1;
        grid-row:2;
        width:100%;
        min-height:48px;
        padding:13px 18px;
    }
    .gnt-links {
        top:calc(100% - 6px);
        left:14px;
        right:14px;
        width:auto;
    }

    .gnt-hero .copy { padding:58px 0 54px; }
    .gnt-hero .gnt-kicker {
        font-size:13px;
        line-height:1.5;
        letter-spacing:.09em;
    }
    .gnt-hero h1 {
        font-size:clamp(38px,10.6vw,48px)!important;
        line-height:1.02;
    }
    .gnt-storefront-figure img,
    .gnt-storefront-figure--about img { min-height:280px; }
    .gnt-footer-grid { gap:30px; }
}


/* Brand-color overrides for Astra/browser controls. Keep all interactive accents within the Gold'N Time palette. */
.gnt-site .gnt-menu-toggle {
    background:#fff!important;
    color:var(--gnt-ink)!important;
    border-color:var(--gnt-line)!important;
    box-shadow:none!important;
}
.gnt-site .gnt-menu-toggle:hover,
.gnt-site .gnt-menu-toggle:focus-visible,
.gnt-site .gnt-menu-toggle[aria-expanded="true"] {
    background:var(--gnt-cream)!important;
    color:var(--gnt-ink)!important;
    border-color:var(--gnt-gold)!important;
}
.gnt-site #ast-scroll-top,
.gnt-site .ast-scroll-to-top-right,
.gnt-site .ast-scroll-to-top-left,
.gnt-site .ast-scroll-top-icon {
    background:linear-gradient(135deg,var(--gnt-gold),var(--gnt-gold2))!important;
    color:#fff!important;
    border-color:transparent!important;
}
.gnt-site #ast-scroll-top:hover,
.gnt-site #ast-scroll-top:focus-visible,
.gnt-site .ast-scroll-to-top-right:hover,
.gnt-site .ast-scroll-to-top-left:hover {
    background:#8c651d!important;
    color:#fff!important;
}
.gnt-site button,
.gnt-site input[type="button"],
.gnt-site input[type="submit"] {
    accent-color:var(--gnt-gold);
}

@media (prefers-reduced-motion: reduce) {
    html:focus-within { scroll-behavior:auto; }
    *,*::before,*::after {
        scroll-behavior:auto!important;
        transition-duration:.01ms!important;
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
    }
}


/* v0.3.4: maps and verified social profiles */
.gnt-address a {
    color:inherit;
    text-decoration:none;
}
.gnt-address a:hover { text-decoration:underline; }
.gnt-social-links {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:12px;
}
.gnt-social-links a {
    display:inline-flex;
    align-items:center;
    min-height:40px;
    padding:9px 13px;
    border:1px solid var(--gnt-line);
    border-radius:999px;
    background:#fff;
    color:var(--gnt-ink)!important;
    font-weight:700;
    font-size:13px;
    text-decoration:none!important;
}
.gnt-social-links a:hover,
.gnt-social-links a:focus-visible {
    border-color:var(--gnt-gold);
    background:var(--gnt-cream);
}
.gnt-social-links--footer {
    display:grid;
    gap:7px;
}
.gnt-social-links--footer a {
    min-height:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:#e4b95e!important;
    justify-content:flex-start;
}
.gnt-social-links--footer a:hover { background:transparent; text-decoration:underline!important; }
.gnt-follow-block {
    margin-top:34px;
    padding-top:26px;
    border-top:1px solid var(--gnt-line);
}
.gnt-follow-block h3 {
    margin:0;
    font-family:var(--gnt-serif);
    font-size:26px;
    font-weight:400;
}
.gnt-map-section { margin-top:64px; }
.gnt-map-heading {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:20px;
}
.gnt-map-heading h2 { margin-bottom:0; }
.gnt-map-frame {
    overflow:hidden;
    border:1px solid var(--gnt-line);
    border-radius:12px;
    background:#eee8de;
    box-shadow:0 12px 32px rgba(0,0,0,.07);
}
.gnt-map-frame iframe {
    display:block;
    width:100%;
    height:440px;
    border:0;
}
@media(max-width:760px) {
    .gnt-map-section { margin-top:48px; }
    .gnt-map-heading { align-items:flex-start; flex-direction:column; }
    .gnt-map-frame iframe { height:360px; }
}


/* v0.3.5: native review section. Avoid third-party widgets and unverified rating totals. */
.gnt-reviews {
    padding:76px 0;
    background:#fffdfa;
    border-top:1px solid var(--gnt-line);
    border-bottom:1px solid var(--gnt-line);
}
.gnt-reviews-heading {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:32px;
    margin-bottom:30px;
}
.gnt-reviews-heading h2 {
    margin:6px 0 10px;
    font-family:var(--gnt-serif);
    font-size:clamp(36px,4vw,52px);
    line-height:1.05;
    font-weight:400;
    color:#12233b;
}
.gnt-reviews-intro {
    margin:0;
    color:var(--gnt-muted);
    max-width:680px;
}
.gnt-review-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
}
.gnt-review-card {
    margin:0;
    padding:28px;
    border:1px solid var(--gnt-line);
    border-radius:10px;
    background:var(--gnt-cream);
    box-shadow:0 8px 24px rgba(0,0,0,.045);
}
.gnt-review-card::before {
    content:"“";
    display:block;
    height:34px;
    font-family:var(--gnt-serif);
    font-size:52px;
    line-height:.9;
    color:var(--gnt-gold);
}
.gnt-review-card p {
    margin:8px 0 18px;
    font-family:var(--gnt-serif);
    font-size:23px;
    line-height:1.35;
    color:var(--gnt-ink);
}
.gnt-review-card footer {
    font-size:13px;
    font-weight:700;
    color:var(--gnt-muted);
}
.gnt-btn--light {
    flex:0 0 auto;
}
@media(max-width:900px) {
    .gnt-review-grid { grid-template-columns:1fr; }
}
@media(max-width:760px) {
    .gnt-reviews { padding:54px 0; }
    .gnt-reviews-heading { align-items:flex-start; flex-direction:column; }
    .gnt-reviews-heading .gnt-btn { width:100%; }
    .gnt-review-card { padding:24px; }
    .gnt-review-card p { font-size:21px; }
}
