*{box-sizing:border-box}
:root{
  --ink:#1c1c1b;
  --charcoal:#232322;
  --cream:#f4efe7;
  --paper:#f7f3ec;
  --gold:#9a7444;
  --line:#c9b08a;
  --muted:#6e685f;
}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Cormorant Garamond", Georgia, serif;
}
a{color:inherit;text-decoration:none}
.topbar{
  min-height:42px;
  padding:0 3.2vw;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  background:#202020;
  color:#f4f0e9;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:11px;
  letter-spacing:.14em;
}
.toplinks{
  position:absolute;
  right:3.2vw;
  display:flex;
  gap:28px;
  font-size:9px;
}
.site-header{
  height:110px;
  background:#f8f5ef;
  padding:0 3.2vw;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid rgba(0,0,0,.05);
  position:sticky;
  top:0;
  z-index:10;
}
.brand{display:flex;align-items:center;min-width:300px}
.monogram{
  width:84px;height:70px;
  border-right:1px solid #d6c9b7;
  position:relative;
  margin-right:20px;
  font-size:48px;
  line-height:1;
}
.monogram span:first-child{position:absolute;left:2px;top:0}
.monogram span:last-child{position:absolute;left:31px;top:28px}
.brand-words{display:flex;flex-direction:column;line-height:.9;letter-spacing:.16em}
.brand-words .the{font-size:13px;margin-bottom:6px}
.brand-words .whitby{font-size:31px;letter-spacing:.15em}
.brand-words .foundation{font-size:15px;margin-top:8px;letter-spacing:.24em}
.mainnav{display:flex;align-items:center;gap:3vw;font-family:"Montserrat",Arial,sans-serif;font-size:11px;letter-spacing:.08em}
.mainnav a{padding:14px 0;border-bottom:1px solid transparent}
.mainnav a:hover,.mainnav .active{border-color:var(--gold)}
.menu-toggle{display:none}
.hero{
  min-height:405px;
  display:grid;
  grid-template-columns:50% 50%;
  background:linear-gradient(90deg,#efe9df,#f7f3ec);
}
.hero-copy{
  padding:48px 5vw 45px 8.2vw;
  align-self:center;
  position:relative;
}
.eyebrow{
  font-family:"Montserrat",Arial,sans-serif;
  letter-spacing:.22em;
  font-size:12px;
  font-weight:600;
  color:var(--gold);
  margin:0 0 12px;
}
.hero h1{
  font-size:53px;
  line-height:1.03;
  font-weight:400;
  margin:0;
  max-width:620px;
}
.hero h1 em{font-weight:400}
.rule{width:62px;border-top:1px solid var(--gold);margin:24px 0 18px}
.hero-text{font-size:18px;line-height:1.3;max-width:475px;margin-bottom:18px}
.button{
  display:inline-flex;
  align-items:center;
  gap:28px;
  font-family:"Montserrat",Arial,sans-serif;
  letter-spacing:.14em;
  font-size:10px;
  padding:16px 22px;
  margin-top:2px;
}
.button.dark{background:#20201e;color:#d6b67f}
.button.outline{border:1px solid #9f9587;color:#262421}
.hero-photo{
  background:
    linear-gradient(90deg,rgba(247,243,236,.05),rgba(247,243,236,0)),
    url("assets/hero-family.jpg") center center/cover no-repeat;
  min-height:405px;
}
.services{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  background:#f4efe7;
  border-top:1px solid #d7cab8;
  border-bottom:1px solid #d7cab8;
  padding:26px 8vw 22px;
}
.service{text-align:center;padding:0 5vw;min-height:180px}
.service+ .service{border-left:1px solid #c9b08a}
.icon{
  width:53px;height:53px;border:1px solid var(--gold);border-radius:50%;
  margin:0 auto 12px;display:grid;place-items:center;color:#836130;font-size:30px
}
.icon.rings{font-size:32px}
.service h2{font-size:16px;letter-spacing:.1em;margin:0 0 7px;font-weight:600}
.service p{font-size:16px;line-height:1.15;margin:0 auto 12px;max-width:310px}
.service a{
  font-family:"Montserrat",Arial,sans-serif;
  font-size:9px;letter-spacing:.2em;font-weight:600;color:#524437
}
.service a span{margin-left:10px;color:var(--gold)}
.story{
  min-height:270px;
  display:grid;
  grid-template-columns:38% 30% 32%;
}
.story-copy{padding:40px 4vw 34px 8.2vw;background:#fbf8f3}
.story .eyebrow{display:flex;align-items:center;gap:18px}
.mini-rule{display:inline-block;width:60px;border-top:1px solid var(--gold)}
.story h2,.give h2,.contact h2{font-size:38px;font-weight:400;line-height:1.05;margin:0 0 12px}
.story p{font-size:16px;line-height:1.3;max-width:470px}
.story-photo{background:url("assets/story-room.jpg") center/cover no-repeat}
.quote{
  background:radial-gradient(circle at 20% 10%,#353533,#1d1d1c 70%);
  color:#f7f2e9;padding:32px 4vw;
  display:flex;flex-direction:column;justify-content:center
}
.quote-mark{font-size:54px;color:#c1924e;line-height:.6}
blockquote{font-size:26px;line-height:1.05;margin:10px 0 12px}
.signature{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:22px;color:#aaa29a;margin-top:2px}
.founder{font-family:"Montserrat",Arial,sans-serif;font-size:9px;letter-spacing:.15em;margin-top:4px}
.give{
  padding:64px 8.2vw;
  text-align:center;
  background:#ebe3d7;
}
.give p:not(.eyebrow){max-width:700px;margin:0 auto 20px;font-size:18px;line-height:1.4}
.newsletter{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);
  align-items:center;
  gap:7vw;
  padding:66px 8.2vw;
  background:radial-gradient(circle at 8% 0%,#343432,#1e1e1d 72%);
  color:#f5efe6;
  border-top:1px solid rgba(201,176,138,.55);
  border-bottom:1px solid rgba(201,176,138,.42);
}
.newsletter .eyebrow{color:#c9a96f;margin-bottom:10px}
.newsletter h2{
  margin:0 0 12px;
  font-size:45px;
  line-height:1;
  font-weight:400;
}
.newsletter-copy>p:not(.eyebrow){
  max-width:520px;
  margin:0;
  color:#d8d0c6;
  font-size:18px;
  line-height:1.42;
}
.newsletter-form{width:100%;max-width:650px;justify-self:end}
.sib-form-message-panel{display:none}
.sib-form-message-panel--active{display:block}
.newsletter-message{
  margin:0 0 14px;
  padding:14px 16px;
  border:1px solid rgba(201,176,138,.55);
  background:#f4efe7;
  color:#262522;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:14px;
  line-height:1.45;
}
.newsletter-message-error{border-color:#b98b7e}
.newsletter-field-error{
  display:block;
  min-height:18px;
  margin-top:8px;
  color:#e3b8aa;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:13px;
}
.newsletter-label{
  display:block;
  margin:0 0 9px;
  color:#c9a96f;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:10px;
  font-weight:600;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.newsletter-row{display:flex;align-items:stretch;width:100%}
.newsletter-input-wrap{flex:1;min-width:0}
.newsletter-input{
  width:100%;
  height:56px;
  padding:0 18px;
  border:1px solid rgba(244,239,231,.45);
  border-right:0;
  border-radius:0;
  outline:0;
  background:rgba(255,255,255,.035);
  color:#fff;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:16px;
}
.newsletter-input::placeholder{color:#aaa39b}
.newsletter-input:focus{border-color:#d6b67f;background:rgba(255,255,255,.06)}
.newsletter-submit{
  min-height:56px;
  padding:0 21px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  border:1px solid #d6b67f;
  border-radius:0;
  background:#d6b67f;
  color:#1e1e1d;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:10px;
  font-weight:600;
  letter-spacing:.12em;
  cursor:pointer;
  white-space:nowrap;
}
.newsletter-submit:hover,.newsletter-submit:focus-visible{background:#f4efe7;border-color:#f4efe7}
.newsletter-loader{width:16px;height:16px;fill:currentColor}
.sib-hide-loader-icon,.input--hidden{display:none!important}
.newsletter-privacy{
  margin:0;
  color:#98918a;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:11px;
  line-height:1.4;
}
.contact{
  display:grid;grid-template-columns:1.4fr .6fr;gap:40px;
  padding:70px 8.2vw;background:#f8f5ef
}
.contact p{font-size:18px;line-height:1.4}
.email{border-bottom:1px solid var(--gold)}
.contact-card{border-left:1px solid var(--line);padding-left:40px;align-self:center}
.contact-card span{font-family:"Montserrat",Arial,sans-serif;font-size:10px;letter-spacing:.18em;color:var(--gold)}
.contact-card p{font-size:24px;line-height:1.1}
.organization-card{margin-top:24px;padding:18px 20px;border:1px solid var(--line);background:rgba(255,255,255,.42);max-width:560px}
.organization-card .eyebrow{margin:0 0 10px}
.organization-card .org-address{margin:0 0 10px;font-size:16px;line-height:1.5}
.organization-card .org-note{margin:0;font-family:"Montserrat",Arial,sans-serif;font-size:12px;line-height:1.55;letter-spacing:.03em;color:#645d56}
footer{
  padding:22px 8.2vw;background:#202020;color:#e9e2d9;
  display:flex;justify-content:space-between;gap:20px;
  font-family:"Montserrat",Arial,sans-serif;font-size:9px;letter-spacing:.15em
}
@media(max-width:1100px){
  .mainnav{gap:1.6vw;font-size:9px}
  .brand{min-width:260px}
  .hero h1{font-size:46px}
}
@media(max-width:820px){
  .topbar{justify-content:flex-start;padding:12px 20px;min-height:48px;font-size:8px;padding-right:100px}
  .toplinks{right:18px;gap:12px}
  .toplinks a:first-child{display:none}
  .site-header{height:88px;padding:0 20px}
  .brand{min-width:auto}
  .monogram{width:58px;height:56px;font-size:37px;margin-right:13px}
  .monogram span:last-child{left:23px;top:22px}
  .brand-words .the{font-size:9px}
  .brand-words .whitby{font-size:22px}
  .brand-words .foundation{font-size:10px}
  .menu-toggle{
    display:block;background:transparent;border:1px solid #a69a89;padding:10px 12px;
    font-family:"Montserrat",Arial,sans-serif;font-size:9px;letter-spacing:.12em
  }
  .mainnav{
    display:none;position:absolute;left:0;right:0;top:88px;background:#f8f5ef;
    flex-direction:column;align-items:stretch;padding:16px 22px;gap:0;border-top:1px solid #ddd
  }
  .mainnav.open{display:flex}
  .mainnav a{padding:12px 0}
  .hero{grid-template-columns:1fr}
  .hero-copy{padding:42px 8vw 34px}
  .hero h1{font-size:44px}
  .hero-photo{min-height:330px}
  .services{grid-template-columns:1fr;padding:0 8vw}
  .service{padding:28px 0}
  .service+.service{border-left:0;border-top:1px solid #c9b08a}
  .story{grid-template-columns:1fr}
  .story-copy{padding:42px 8vw}
  .story-photo{min-height:290px}
  .quote{padding:46px 8vw}
  .newsletter{grid-template-columns:1fr;gap:32px;padding:50px 8vw}
  .newsletter-form{max-width:none;justify-self:stretch}
  .contact{grid-template-columns:1fr;padding:52px 8vw}
  .contact-card{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}
  footer{flex-direction:column}
}
@media(max-width:480px){
  .hero h1{font-size:38px}
  .hero-text{font-size:17px}
  .story h2,.give h2,.contact h2{font-size:33px}
  .newsletter{padding:44px 6vw}
  .newsletter h2{font-size:38px}
  .newsletter-row{flex-direction:column;gap:10px}
  .newsletter-input{border-right:1px solid rgba(244,239,231,.45)}
  .newsletter-submit{width:100%}
}


/* Shared legal / policy infrastructure */
footer{flex-wrap:wrap;align-items:center}
.footer-legal{display:flex;gap:15px;flex-wrap:wrap;justify-content:center;margin-left:auto;margin-right:auto}
.footer-legal a{color:#d7cfc5;border-bottom:1px solid transparent;padding-bottom:2px}
.footer-legal a:hover{border-color:var(--gold);color:#fff}
.footer-org{flex-basis:100%;text-align:center;color:#cfc6bb;font-size:9px;line-height:1.55;letter-spacing:.08em;margin-top:2px}
.policy-hero{padding:58px 8.2vw 50px;background:linear-gradient(135deg,#f8f5ef,#ede5d9);border-bottom:1px solid #d7cab8}
.policy-hero h1{font-size:54px;line-height:.98;font-weight:400;margin:0 0 12px;max-width:850px}
.policy-hero p{font-size:19px;line-height:1.4;max-width:760px;margin:0}
.policy-shell{padding:52px 8.2vw 68px;background:#fbf8f3}
.policy-content{max-width:920px;margin:0 auto}
.policy-content h2{font-size:31px;font-weight:400;margin:34px 0 10px}
.policy-content h3{font-size:22px;font-weight:500;margin:24px 0 8px}
.policy-content p,.policy-content li{font-size:17px;line-height:1.48;color:#403a35}
.policy-content ul{padding-left:22px}
.policy-note{border-left:2px solid var(--gold);padding:16px 18px;background:#f1e9de;margin:22px 0}
.policy-note p{margin:0}
.policy-meta{font-family:"Montserrat",Arial,sans-serif;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#8a6b43;margin-top:14px}
.policy-nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.policy-nav a{font-family:"Montserrat",Arial,sans-serif;font-size:9px;letter-spacing:.12em;text-transform:uppercase;border:1px solid #b5aa9a;padding:10px 12px}
.policy-nav a:hover{border-color:var(--gold)}
@media(max-width:820px){.footer-legal{justify-content:flex-start;margin:0}.footer-org{text-align:left}.policy-hero{padding:44px 8vw 40px}.policy-hero h1{font-size:42px}.policy-shell{padding:42px 8vw 56px}}

/* Creative Group utility-link mobile fix */
@media(max-width:820px){
  .topbar{min-height:42px;padding:0 14px;justify-content:center;font-size:0}
  .topbar>div:first-child{display:none}
  .toplinks{position:static;display:flex;align-items:center;justify-content:center;gap:18px;font-size:7px;line-height:1;white-space:nowrap}
  .toplinks a:first-child{display:none}
}
@media(max-width:380px){
  .toplinks{gap:12px;font-size:6.5px}
}

/* Whitby Foundation header repair: utility links and motto cannot overlap. */
@media (min-width: 821px) {
  .topbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    justify-content: normal;
    column-gap: 36px;
    min-height: 52px;
    padding: 9px 3.2vw;
  }
  .topbar > div:first-child {
    min-width: 0;
    font-size: clamp(9px, 0.75vw, 11px);
    letter-spacing: .09em;
    line-height: 1.5;
  }
  .topbar .toplinks {
    position: static;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(15px, 1.8vw, 28px);
    white-space: nowrap;
  }
}
@media (min-width: 821px) and (max-width: 1250px) {
  .topbar > div:first-child { display: none; }
  .topbar { display: flex; justify-content: center; min-height: 44px; }
  .topbar .toplinks { justify-content: center; }
}


/* Horizontal Whitby Foundation header identity — exact existing theme values retained. */
.site-header .brand.wf-horizontal-brand{
  display:inline-flex;
  align-items:center;
  gap:14px;
  min-width:0;
  flex:0 0 auto;
  white-space:nowrap;
  color:var(--ink);
}
.site-header .wf-horizontal-brand .wf-logo-mark{
  display:block;
  height:51px;
  width:auto;
  max-width:none;
  flex:none;
  object-fit:contain;
}
.site-header .wf-horizontal-brand .wf-logo-wordmark{
  display:inline-flex;
  align-items:baseline;
  gap:.29em;
  color:var(--ink);
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:24px;
  line-height:1;
  font-weight:500;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.site-header .wf-horizontal-brand .wf-logo-the{
  font-size:.62em;
  font-weight:500;
  letter-spacing:.10em;
  align-self:center;
}
@media (max-width:1280px) and (min-width:821px){
  .site-header .brand.wf-horizontal-brand{gap:10px}
  .site-header .wf-horizontal-brand .wf-logo-mark{height:44px}
  .site-header .wf-horizontal-brand .wf-logo-wordmark{font-size:20px;letter-spacing:.025em}
  .site-header .mainnav{gap:8px 14px;font-size:10px}
}
@media (max-width:820px){
  .site-header .brand.wf-horizontal-brand{gap:9px}
  .site-header .wf-horizontal-brand .wf-logo-mark{height:40px}
  .site-header .wf-horizontal-brand .wf-logo-wordmark{font-size:20px;letter-spacing:.035em}
}
@media (max-width:470px){
  .site-header .brand.wf-horizontal-brand{gap:7px}
  .site-header .wf-horizontal-brand .wf-logo-mark{height:34px}
  .site-header .wf-horizontal-brand .wf-logo-wordmark{font-size:16px;gap:.18em}
  .site-header .wf-horizontal-brand .wf-logo-the{font-size:.58em}
}


/* APPROVED: The Whitby Foundation one-line header wordmark.
   All original brand/theme variables above remain unchanged. */
.site-header .brand.wf-text-brand{
  display:inline-flex; align-items:center; flex:0 1 auto; min-width:0;
  padding:0; margin:0; white-space:nowrap; line-height:1;
  color:var(--ink); text-decoration:none;
}
.site-header .wf-text-brand .wf-full-wordmark{
  display:inline-flex; align-items:baseline; gap:.30em;
  font-family:"Cormorant Garamond",Georgia,serif;
  color:var(--ink); font-weight:500; text-transform:uppercase;
  font-size:clamp(19px,2vw,27px);letter-spacing:.05em;line-height:1;
}
.site-header .wf-text-brand .wf-small-the{
  font-size:.57em;letter-spacing:.115em;line-height:1.1;
}
.site-header .wf-text-brand .wf-large-name{font-size:1em;letter-spacing:.04em;line-height:1}
@media(max-width:1280px) and (min-width:821px){
  .site-header .wf-text-brand .wf-full-wordmark{font-size:clamp(18px,1.8vw,24px)}
  .site-header .mainnav{gap:8px 14px;font-size:10px}
}
@media(max-width:820px){
 .site-header .wf-text-brand .wf-full-wordmark{font-size:24px}
}
@media(max-width:470px){
 .site-header .wf-text-brand .wf-full-wordmark{font-size:20px;gap:.25em;letter-spacing:0}
 .site-header .wf-text-brand .wf-large-name{letter-spacing:.012em}
}

/* 2026-10-16 | Homepage visual refinements. No change to articles or creative pages. */
body.wf-homepage .hero-photo {
  background-image: linear-gradient(90deg, rgba(247,243,236,.05), rgba(247,243,236,0)),
    url("assets/downtown-clarksville-family-approved.jpg");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
/* Consistent link baseline across all three service columns, regardless of body copy length. */
body.wf-homepage .services {align-items: stretch;}
body.wf-homepage .services > .service {display:flex;flex-direction:column;align-items:center;min-width:0;}
body.wf-homepage .services > .service p {margin-bottom: 15px;}
body.wf-homepage .services > .service a {display:inline-flex;align-items:center;justify-content:center;min-height:34px;margin-top:auto;}
/* Long explicit founder quotation needs gentler leading, without changing the premium typeface. */
body.wf-homepage .story .quote blockquote {font-size: clamp(21px,1.55vw,26px);line-height:1.14;}
@media (max-width:820px) {
  body.wf-homepage .hero-photo { background-position:center center; }
  body.wf-homepage .services > .service {min-height:initial;}
  body.wf-homepage .services > .service a {margin-top:10px;}
}

/* 2026-10-16: homepage Clarksville scene with Roxy visible through a soft cream
   fade. The photo is a separate file, NOT a screenshot with baked-in text. */
@media (min-width:821px) {
  body.wf-homepage .hero {
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background:#f4efe7;
  }
  body.wf-homepage .hero::before {
    content:"";
    position:absolute;
    z-index:0;
    inset:0;
    background-image:url("assets/downtown-clarksville-family-refined.jpg");
    background-size:auto 100%;
    background-position:right center;
    background-repeat:no-repeat;
  }
  body.wf-homepage .hero::after {
    content:"";
    position:absolute;
    z-index:1;
    inset:0;
    pointer-events:none;
    background:linear-gradient(90deg,
       #f4efe7 0%,rgba(244,239,231,.99) 16%,rgba(244,239,231,.94) 26%,
       rgba(244,239,231,.84) 35%,rgba(244,239,231,.56) 45%,
       rgba(244,239,231,.18) 54%,rgba(244,239,231,0) 65%);
  }
  body.wf-homepage .hero .hero-copy {position:relative; z-index:2;}
  body.wf-homepage .hero .hero-photo {background:none !important; position:relative; z-index:2;}
}
@media (max-width:820px) {
  body.wf-homepage .hero {background:#f4efe7;}
  body.wf-homepage .hero .hero-photo {
    background-image:url("assets/downtown-clarksville-family-refined.jpg");
    background-repeat:no-repeat;
    background-size:cover;
    background-position:70% center;
    min-height:330px;
  }
}
