
:root{
  --paper:#faf6ef; --surface:#ffffff; --sand:#f1e9db;
  --ink:#1b1512; --ink-soft:#6b5f55; --line:rgba(27,21,18,.14);
  --accent:#c21c2e; --accent-ink:#ffffff; --maroon:#5c0f1a; --maroon-ink:#f5e7e1;
  color-scheme: light;
  --font-display:'Fraunces', Georgia, 'Times New Roman', serif;
  --font-body:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#15110f; --surface:#1d1714; --sand:#241c18;
    --ink:#f3ece4; --ink-soft:#b9ab9f; --line:rgba(243,236,228,.14);
    --accent:#e2495a; --accent-ink:#1b0a0d; --maroon:#3a0c13; --maroon-ink:#f3ece4;
    color-scheme: dark;
  }
}
:root[data-theme="dark"]{
  --paper:#15110f; --surface:#1d1714; --sand:#241c18;
  --ink:#f3ece4; --ink-soft:#b9ab9f; --line:rgba(243,236,228,.14);
  --accent:#e2495a; --accent-ink:#1b0a0d; --maroon:#3a0c13; --maroon-ink:#f3ece4;
  color-scheme: dark;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{background:var(--paper);color:var(--ink);font-family:var(--font-body);line-height:1.55;-webkit-font-smoothing:antialiased;margin:0;}
img{display:block;max-width:100%;height:auto;}
a{color:inherit;}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.08;margin:0;text-wrap:balance;}
p{margin:0;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:inherit;}

.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));}
.section{padding-block:clamp(52px,9vw,104px);}
.section--alt{background:var(--sand);}
.section--maroon{background:var(--maroon);color:var(--maroon-ink);}
.section--maroon .eyebrow{color:#f0b9c0;}
.section--maroon .ink-soft{color:#d8c5bf;}

.eyebrow{display:inline-flex;align-items:center;gap:.55em;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--accent);margin-bottom:14px;}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--accent);display:inline-block;}
.section-head{max-width:720px;margin-bottom:44px;}
.section-title{font-size:clamp(1.7rem,3.4vw,2.6rem);}
.lead{margin-top:16px;max-width:64ch;font-size:1.05rem;color:var(--ink-soft);}
.ink-soft{color:var(--ink-soft);}

.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:3px;font-weight:600;font-size:.94rem;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform .15s ease, background .15s ease, border-color .15s ease, color .15s ease;white-space:nowrap;}
.btn:active{transform:translateY(1px);}
.btn--primary{background:var(--accent);color:var(--accent-ink);}
.btn--primary:hover{background:#a9182a;}
.btn--ghost{border-color:currentColor;color:inherit;background:transparent;}
.btn--ghost:hover{background:rgba(127,127,127,.12);}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;}

header{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--paper);border-bottom:1px solid var(--line);}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:41;background:var(--paper);}
.nav-row{display:flex;align-items:center;justify-content:space-between;padding-block:12px;gap:14px;}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0;}
.brand-chip{display:inline-flex;}
.brand img{height:38px;width:auto;display:block;}
.brand img.logo-dark{display:none;}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .brand img.logo-light{display:none;}
  :root:not([data-theme="light"]) .brand img.logo-dark{display:block;}
}
:root[data-theme="dark"] .brand img.logo-light{display:none;}
:root[data-theme="dark"] .brand img.logo-dark{display:block;}
nav.primary-nav{display:flex;gap:16px;align-items:center;}
nav.primary-nav a{font-size:.82rem;font-weight:600;text-decoration:none;color:var(--ink-soft);padding-block:4px;border-bottom:2px solid transparent;white-space:nowrap;}
nav.primary-nav a:hover{color:var(--ink);border-color:var(--accent);}
nav.primary-nav a.active{color:var(--ink);border-color:var(--accent);}
nav.primary-nav a.btn{display:none;}
.nav-cta{display:flex;align-items:center;gap:12px;}
.nav-toggle{display:none;background:none;border:1.5px solid var(--line);border-radius:3px;padding:8px 10px;}
.nav-toggle svg{display:block;width:18px;height:18px;}

@media (max-width: 1180px){ nav.primary-nav{gap:10px;} nav.primary-nav a{font-size:.76rem;} }
@media (max-width: 980px){
  nav.primary-nav{
    position:fixed;inset:0;top:calc(63px + env(safe-area-inset-top,0px));
    background:var(--paper);flex-direction:column;align-items:flex-start;
    padding:28px max(16px, env(safe-area-inset-right,0px)) 28px max(16px, env(safe-area-inset-left,0px));
    gap:4px;transform:translateX(100%);transition:transform .25s ease;overflow-y:auto;
  }
  nav.primary-nav[data-open="true"]{transform:translateX(0);}
  nav.primary-nav a{font-size:1.05rem;padding:12px 4px;width:100%;border-bottom:1px solid var(--line);}
  nav.primary-nav a.btn{display:inline-flex;border-bottom:none;justify-content:center;color:var(--accent-ink);}
  .nav-cta > a.btn{display:none;}
  .nav-toggle{display:inline-flex;}
}

.hero{position:relative;overflow:hidden;color:#fff;}
.hero-bg{position:absolute;inset:0;}
.hero-bg img{width:100%;height:100%;object-fit:cover;}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg, rgba(10,6,5,.92) 0%, rgba(20,10,9,.82) 38%, rgba(20,10,9,.55) 68%, rgba(20,10,9,.3) 100%);}
.hero-inner{position:relative;padding-block:clamp(62px,12vw,120px);max-width:720px;}
.hero .eyebrow{color:#f3b3bb;}
.hero .eyebrow::before{background:#f3b3bb;}
.hero h1{font-size:clamp(2.1rem,4.8vw,3.4rem);color:#fff;}
.hero .lead{color:#ece2dd;}
.hero .lead + .lead{margin-top:10px;}

.page-header{background:var(--sand);border-bottom:1px solid var(--line);padding-block:clamp(40px,7vw,68px);}
.page-header .eyebrow{color:var(--accent);}
.page-header h1{font-size:clamp(1.8rem,3.8vw,2.7rem);margin-bottom:14px;}
.page-header .lead{max-width:70ch;}
.crumb{font-size:.78rem;color:var(--ink-soft);margin-bottom:16px;}
.crumb a{color:var(--ink-soft);text-decoration:none;}
.crumb a:hover{color:var(--accent);}
.crumb span[aria-hidden]{margin:0 6px;}
.page-photo{border-bottom:1px solid var(--line);}
.page-photo img{width:100%;max-height:360px;object-fit:cover;}

/* three-up cards (model / reach engines) */
.trio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media (max-width:860px){.trio-grid{grid-template-columns:1fr;}}
.trio-card{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:26px 24px;}
.trio-card h3{font-size:1.02rem;margin-bottom:10px;}
.trio-card p{font-size:.9rem;color:var(--ink-soft);}

/* checklist grid (What We Do / inclusions) */
.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 28px;margin-top:8px;}
@media (max-width:860px){.check-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.check-grid{grid-template-columns:1fr;}}
.check-item{display:flex;align-items:flex-start;gap:10px;font-size:.92rem;color:var(--ink-soft);padding-block:7px;}
.check-item svg{width:15px;height:15px;color:var(--accent);flex-shrink:0;margin-top:4px;}

/* tag pills (sections / suitable-for / content modules) */
.tag-list{display:flex;flex-wrap:wrap;gap:7px;}
.tag{font-size:.74rem;font-weight:600;padding:5px 11px;border-radius:20px;border:1px solid var(--line);color:var(--ink-soft);}
.tag-label{font-size:.68rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);margin-top:14px;margin-bottom:6px;display:block;}

/* editions */
.edition-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media (max-width:900px){.edition-grid{grid-template-columns:1fr;}}
.edition-card{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:30px 26px;display:flex;flex-direction:column;gap:6px;}
.edition-card h3{font-size:1.3rem;}
.edition-card .promise{font-size:.92rem;color:var(--ink-soft);margin-top:6px;}
.edition-card p.body-copy{font-size:.88rem;color:var(--ink-soft);margin-top:4px;}

.option-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media (max-width:900px){.option-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.option-grid{grid-template-columns:1fr;}}
.option-card{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:20px 20px;text-align:center;}
.option-card h4{font-size:.98rem;}

/* city clusters / proposed expansion */
.cluster-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px;}
@media (max-width:860px){.cluster-grid{grid-template-columns:1fr;}}
.cluster-card{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:3px;padding:20px 22px;}
.cluster-card h4{font-size:.95rem;margin-bottom:8px;}
.cluster-card p{font-size:.88rem;color:var(--ink-soft);}
.expansion-note{margin-top:18px;font-size:.84rem;color:var(--ink-soft);font-style:italic;max-width:70ch;}

/* annual partnership box */
.annual-box{background:var(--sand);border:1px solid var(--line);border-radius:6px;padding:34px 32px;margin-top:48px;}
.annual-box h3{font-size:1.3rem;margin-bottom:6px;}
.annual-box .lead{margin-top:8px;}

/* service list (digital marketing) */
.service-list{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:8px;}
.service-item{background:var(--surface);padding:28px 28px;}
.service-item h3{font-size:1.08rem;margin-bottom:6px;}
.service-item p{font-size:.92rem;color:var(--ink-soft);}
.service-item .tag-list{margin-top:14px;}

/* service-list / contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:48px;align-items:start;}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;}}
.contact-info h3{font-size:1.05rem;margin-bottom:16px;}
.contact-line{display:flex;gap:12px;align-items:flex-start;padding-block:12px;border-bottom:1px solid var(--line);}
.contact-line svg{width:18px;height:18px;color:var(--accent);flex-shrink:0;margin-top:2px;}
.contact-line div b{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:3px;}
.copy-btn{margin-left:auto;background:none;border:1px solid var(--line);border-radius:3px;padding:5px 9px;font-size:.72rem;color:var(--ink-soft);cursor:pointer;flex-shrink:0;}
.copy-btn:hover{border-color:var(--accent);color:var(--accent);}
.wa-btn{margin-top:20px;}

form.enquiry{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:30px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:560px){.form-grid{grid-template-columns:1fr;}}
.field{display:flex;flex-direction:column;gap:6px;}
.field.full{grid-column:1 / -1;}
.field label{font-size:.78rem;font-weight:600;color:var(--ink-soft);}
.field input,.field select,.field textarea{font-family:inherit;font-size:.92rem;padding:11px 12px;border:1px solid var(--line);border-radius:3px;background:var(--paper);color:var(--ink);}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:1px;}
.field textarea{resize:vertical;min-height:84px;}
form.enquiry .btn{margin-top:6px;width:100%;justify-content:center;}
.form-note{font-size:.76rem;color:var(--ink-soft);margin-top:14px;}
.confirm-panel{display:none;text-align:center;padding:28px 10px;}
.confirm-panel[data-show="true"]{display:block;}
form.enquiry[data-sent="true"] .fields-area{display:none;}
.confirm-panel svg{width:40px;height:40px;color:var(--accent);margin:0 auto 14px;}
.confirm-panel h3{font-size:1.2rem;margin-bottom:8px;}
.confirm-panel p{color:var(--ink-soft);font-size:.9rem;}

/* about */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start;}
@media (max-width:900px){.about-grid{grid-template-columns:1fr;}}
.about-copy p{color:var(--ink-soft);font-size:.98rem;}
.about-copy p + p{margin-top:16px;}
.about-copy .pillar{margin-top:26px;}
.about-copy .pillar h4{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;}
.about-copy .pillar p{font-size:.95rem;color:var(--ink-soft);margin-top:0;}
.about-photo{border-radius:4px;overflow:hidden;border:1px solid var(--line);}
.about-photo img{width:100%;object-fit:cover;}
.scans{display:flex;gap:26px;margin-top:40px;flex-wrap:wrap;}
.scan-card{width:150px;background:#fff;padding:8px 8px 14px;box-shadow:0 10px 24px rgba(0,0,0,.18);border-radius:2px;}
.scan-card img{border-radius:1px;}
.scan-card:nth-child(1){transform:rotate(-4deg);}
.scan-card:nth-child(2){transform:rotate(3deg);margin-top:18px;}
.scan-card p{font-size:.68rem;text-align:center;color:#6b5f55;margin-top:8px;font-family:var(--font-body);}

/* partners */
.partner-card{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:30px 28px;margin-bottom:22px;}
.partner-card .ptype{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:10px;}
.partner-card h3{font-size:1.25rem;margin-bottom:10px;}
.partner-card p{font-size:.94rem;color:var(--ink-soft);}

/* legal pages */
.legal{max-width:760px;}
.legal .updated{font-size:.84rem;color:var(--ink-soft);margin-bottom:8px;}
.legal h2{font-size:1.2rem;margin-top:38px;margin-bottom:10px;}
.legal h2:first-of-type{margin-top:0;}
.legal p{color:var(--ink-soft);font-size:.95rem;margin-top:10px;}
.legal ul,.legal ol{margin-top:10px;padding-left:22px;color:var(--ink-soft);font-size:.95rem;}
.legal ul{list-style:disc;}
.legal li{margin-bottom:7px;}

/* area served strip */
.area-strip{background:var(--maroon);color:var(--maroon-ink);padding-block:28px;}
.area-strip .wrap{display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
.area-strip .area-label{font-family:var(--font-display);font-size:1rem;margin-right:6px;}
.city-tag{font-size:.78rem;padding:5px 13px;border-radius:20px;border:1px solid rgba(255,255,255,.3);color:#f5e7e1;}

/* footer */
footer{background:var(--maroon);color:var(--maroon-ink);}
.footer-top{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;padding-block:56px 38px;border-bottom:1px solid rgba(255,255,255,.14);}
@media (max-width:760px){.footer-top{grid-template-columns:1fr;gap:30px;}}
.footer-brand{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.footer-brand img{height:20px;}
.footer-col h4{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:#f0b9c0;margin-bottom:14px;}
.footer-col a,.footer-col p{display:block;font-size:.88rem;color:#e7d6d1;text-decoration:none;margin-bottom:9px;}
.footer-col a:hover{color:#fff;}
.footer-line{font-family:var(--font-display);font-size:1.02rem;max-width:34ch;color:#fff;}
.footer-services{font-size:.82rem;color:#e0c7c1;margin-top:8px;max-width:34ch;}
.footer-bottom{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;padding-block:22px;font-size:.78rem;color:#cdb3ad;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));}
.footer-legal{display:flex;gap:16px;flex-wrap:wrap;}
.footer-legal a{color:#cdb3ad;text-decoration:none;font-size:.78rem;}
.footer-legal a:hover{color:#fff;}

/* WordPress admin-bar offsets (only affect logged-in editors) */
body.admin-bar header{top:32px;}
@media (max-width:782px){ body.admin-bar header{top:46px;} }
@media (max-width:980px){
  body.admin-bar nav.primary-nav{top:calc(95px + env(safe-area-inset-top,0px));}
}
@media (max-width:782px) and (max-width:980px){
  body.admin-bar nav.primary-nav{top:calc(109px + env(safe-area-inset-top,0px));}
}
/* generic WP content (fallback page.php / posts) */
.entry-content > * + *{margin-top:1em;}
.entry-content a{color:var(--accent);}
.screen-reader-text{position:absolute;left:-9999px;}
