/* Freq of Nurture — v3
   A like-for-like static rebuild of the live WordPress/Elementor home page (freq-of-nurture.com, captured 23 Sep 2026).
   Every size, colour and spacing value mirrors the live page's Elementor settings, including its percentage margins
   and paddings, so the layout matches at every width. Breakpoints are Elementor's: tablet ≤1024px, mobile ≤767px. */

/* ---------- Fonts: the same Google Fonts files the live site loads, self-hosted (latin subset) ---------- */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:300 700;font-display:swap;src:url("../fonts/cormorant-garamond-normal-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:300 700;font-display:swap;src:url("../fonts/cormorant-garamond-italic-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:200 900;font-stretch:100%;font-display:swap;src:url("../fonts/nunito-sans-normal-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Nunito Sans";font-style:italic;font-weight:200 900;font-stretch:100%;font-display:swap;src:url("../fonts/nunito-sans-italic-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Josefin Sans";font-style:normal;font-weight:100 700;font-display:swap;src:url("../fonts/josefin-sans-normal-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- Tokens: the live site's Elementor global colours and type ---------- */
:root{
  --primary:#8B9D83;      /* sage (buttons) */
  --secondary:#C5CFC0;    /* sage band, card borders */
  --pale:#E8EDE5;         /* pale sage band */
  --accent:#5A6B54;       /* deep sage text */
  --cream:#FAF6F0;
  --taupe:#7A6B5D;
  --page:#F6F7F7;
  --sage-light:#A5BD9D;
  --espresso:#3A3330;
  --cocoa:#6B5E56;
  --white:#FFFFFF;
  --contact:#27211F;
  --footer:#1D1D1D;
  --display:"Cormorant Garamond",serif;
  --sans:"Nunito Sans",sans-serif;
  --faq:"Josefin Sans",sans-serif;
  --radius:20px;
  --shadow:0 50px 50px -25px rgba(0,0,0,.18);
  --glow:0 0 11px rgba(255,248,225,.79);
}

/* ---------- Base (Hello Elementor reset + Elementor defaults) ---------- */
*,*::before,*::after{box-sizing:border-box}
html{line-height:1.15;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#333;background:var(--page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,h3{margin:0;padding:0;line-height:1;font-weight:400}
p{margin:0 0 .9rem}
ul,ol{margin:0}
b,strong{font-weight:bolder}
img{border-style:none;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
hr{margin:0}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 16px;background:var(--espresso);color:var(--white);font:600 14px/1 var(--sans);border-radius:4px}
.skip-link:focus{top:12px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.anchor{height:0}

/* ---------- Shared type ---------- */
.title{font-family:var(--display);font-size:65px;font-weight:300;line-height:1;color:var(--espresso)}
.title--accent{color:var(--accent)}
.title--white{color:var(--white)}
.title--glow{text-shadow:var(--glow)}
.title--center{text-align:center}
.title i{font-style:italic}
i.accent{color:var(--accent)}
.eyebrow{margin:0;font-family:var(--sans);font-size:14px;font-weight:500;line-height:1;letter-spacing:1px;text-transform:uppercase;color:var(--accent)}
.eyebrow--sage{color:var(--sage-light)}
.eyebrow--white{color:var(--white)}
.eyebrow--pale{color:var(--pale)}
.eyebrow--center{text-align:center}
.text{font-family:var(--sans);font-size:18px;font-weight:400;line-height:1.5}
.text--cream{color:var(--cream)}
.text--taupe{color:var(--taupe)}
.text--accent{color:var(--accent)}
.text--cocoa{color:var(--cocoa)}
.text--pale{color:var(--pale)}
.text--center{text-align:center}

/* Divider: a 1px line inside 2px of space above and below (5px in all), like Elementor's divider widget */
.rule{flex:none;height:0;border:0;border-top:1px solid var(--secondary);margin:2px 0;width:100%}
.rule--hero{width:75%;border-top-color:rgba(255,255,255,.07);margin-right:auto}
.rule--soft{border-top-color:rgba(0,0,0,.14)}
.rule--whisper{border-top-color:rgba(0,0,0,.08)}
.rule--faint{border-top-color:rgba(2,1,1,.05)}
.rule--ghost{border-top-color:rgba(255,255,255,.07)}
.rule--invite{border-top-color:rgba(0,0,0,.07)}
.rule--dark{border-top-color:rgba(255,255,255,.11)}
.rule--20,.rule--25{margin-left:auto;margin-right:auto}
.rule--20{width:20%}
.rule--25{width:25%}

/* Buttons */
.btn-wrap{display:flex;justify-content:flex-start}
.btn-wrap--center{justify-content:center}
.btn{display:inline-block;padding:12px 24px;border-radius:2000px;background:var(--primary);color:var(--cream);font-family:var(--sans);font-size:12px;font-weight:700;line-height:1;text-align:center;transition:all .3s}
.btn:hover,.btn:focus{background:var(--page);color:var(--primary)}

/* Photographs */
.photo{display:block;width:100%}
.photo img{display:block;width:100%;height:auto;border-radius:var(--radius);box-shadow:var(--shadow)}

/* ---------- Header ---------- */
.site-header{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-end;gap:20px;margin:1% 0;padding:0 5%}
.logo{display:block;flex:none;width:325px;max-width:100%}
.logo img{display:block;width:325px;max-width:100%;height:auto;aspect-ratio:1500/439}

/* ---------- Hero ---------- */
.hero-wrap{display:flex;flex-direction:column;gap:20px;margin:1% 0 5%;padding:0 3%}
.hero{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:150px;min-height:70vh;padding:6%;border-radius:var(--radius);box-shadow:var(--shadow);background-color:transparent;background-image:url("../img/hero-ashley-1920.jpg");background-image:image-set(url("../img/hero-ashley-1920.avif") type("image/avif"),url("../img/hero-ashley-1920.webp") type("image/webp"),url("../img/hero-ashley-1920.jpg") type("image/jpeg"));background-position:50% 0;background-size:cover}
.hero::before{content:"";position:absolute;inset:0;border-radius:inherit;background:#000;opacity:.41}
.hero-content{position:relative;display:flex;flex-direction:column;gap:20px;flex:0 0 auto;width:100%;min-width:0}
.hero-title{font-family:var(--display);font-size:70px;font-weight:700;line-height:1;color:var(--white)}
.hero-actions{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;width:100%}
.hero-note{margin:0;font-family:var(--sans);font-size:18px;font-weight:400;line-height:1;color:var(--primary)}

/* ---------- Origin ---------- */
.intro{display:flex;flex-direction:column;align-items:center;gap:150px;margin:5% 0 7%;padding:0 10%}
.intro-inner{display:flex;flex-direction:column;align-items:center;gap:0;width:100%}
.intro-quote{font-family:var(--display);font-size:35px;font-weight:400;line-height:1.5;color:var(--accent);text-align:center}
.intro-text{text-align:center}

/* ---------- Two-column sections ---------- */
.split{display:flex;flex-direction:row;gap:150px;padding:0 10%}
.split > .col{display:flex;flex-direction:column;gap:20px;flex:0 1 auto;width:100%;min-width:0}
.split > .col--center{justify-content:center}
.split--child{margin:7% 0 10%}
.split--how{margin:10% 0}
.split--why{margin:7% 0 10%}
.split--bio{margin:10% 0}
.col--bio-left{align-items:center;gap:35px!important}
.col--bio-right{justify-content:flex-start;gap:10px!important}
.text ol,.text ul,.credentials ul{padding-left:40px}
.bio-quote{margin:0;width:80%;font-family:var(--sans);font-size:18px;font-weight:500;line-height:1.5;color:var(--accent);text-align:center}
.credentials{width:100%;font-family:var(--sans);font-size:16px;font-weight:500;line-height:1.5;color:var(--sage-light)}
.credentials li{font-weight:400}
.credentials i.regular{font-weight:400}

/* ---------- Full-width bands with the tilted edges ---------- */
.band{position:relative;display:flex;flex-direction:column;margin:0}
.band-inner{display:flex;flex-direction:column;gap:20px;width:100%;margin:0 auto}
.band-inner > :not(.shape){position:relative}
.shape{position:absolute;left:0;width:100%;overflow:hidden;line-height:0;direction:ltr;pointer-events:none}
.shape--top{top:-1px}
.shape--bottom{bottom:-1px;transform:rotate(180deg)}
.shape svg{display:block;position:relative;left:50%;width:calc(100% + 1.3px);height:auto;transform:translateX(-50%);fill:var(--page)}
.band--gentle{padding:0 15%;background:var(--pale)}
.band--gentle .band-inner{align-items:center;width:70%;padding:15% 0}
.gentle-title{font-style:italic;text-align:center}
.gentle-title strong{font-weight:400}
.band--imagine{padding:0 10%;background:var(--pale)}
.band--imagine .band-inner{align-items:center;max-width:1140px;padding:10% 0}
.band--invite{margin-top:10%;background:var(--secondary)}
.band--invite .band-inner{gap:150px;max-width:1140px;padding:10% 0}
.band--invite .shape--bottom svg{fill:var(--contact)}
.invite-col{display:flex;flex-direction:column;gap:20px;width:100%}
.invite-text{margin:0}

/* ---------- Boxed sections (content held to 1140px) ---------- */
.boxed{display:flex;flex-direction:column}
.boxed-inner{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:1140px;margin:0 auto}
.boxed--fit{margin:10% 0;padding:0 10%}
.fit-title{width:81%}
.boxed--faq{margin:10% 0}

/* ---------- Sessions ---------- */
.sessions{display:flex;flex-direction:column;gap:20px;margin:10% 0;padding:0 10%}
.sessions-box{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:5%;background:var(--pale);border-radius:var(--radius);box-shadow:var(--shadow)}
.card{display:flex;flex-direction:column;gap:20px;width:100%;background:var(--white);border:1px solid var(--secondary);border-radius:var(--radius)}
.card--intro{padding:5%}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(1,1fr);grid-auto-flow:row;gap:50px;width:100%;margin:35px 0 25px}
.card--offer{padding:10%;min-width:0}
.offer-title{font-family:var(--display);font-size:30px;font-weight:600;line-height:1;color:var(--espresso);text-shadow:var(--glow)}

/* ---------- FAQ ---------- */
.faq-title{text-align:start}
.faq-row{display:flex;flex-direction:row;gap:150px;width:100%;margin-top:50px}
.faq-col{display:flex;flex-direction:column;flex:0 1 auto;width:100%;min-width:0}
.faq{display:flex;flex-direction:column}
.faq:not(:last-child){margin-bottom:35px}
.faq summary{display:flex;flex-direction:row;align-items:center;gap:20px;padding:0 0 10px;border-bottom:.5px solid #D5D8DC;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq-icon{display:flex;flex:none;width:20px;height:20px;fill:var(--accent)}
.faq-icon svg{display:block;width:20px;height:20px}
.faq-icon--open,.faq[open] .faq-icon--closed{display:none!important}
.faq[open] .faq-icon--open{display:block!important}
.faq-q{font-family:var(--faq);font-size:20px;font-weight:700;line-height:1.5;color:var(--accent)}
.faq summary:hover .faq-q,.faq[open] .faq-q{color:var(--espresso)}
.faq summary:hover .faq-icon,.faq[open] .faq-icon{fill:var(--secondary)}
.faq-a{overflow:hidden}
.faq-text{padding:10px;font-family:var(--sans);font-size:18px;font-weight:400;line-height:1.5;color:var(--espresso)}

/* ---------- Contact ---------- */
.contact{display:flex;flex-direction:column;background:var(--contact)}
.contact-inner{display:flex;flex-direction:row;gap:100px;width:100%;max-width:1140px;margin:0 auto;padding:5% 0}
.contact-col{display:flex;flex-direction:column;justify-content:center;gap:20px;flex:0 1 auto;width:100%;min-width:0}
.contact-col .text{margin:0}
.social{display:flex;flex-wrap:wrap;gap:10px}
.social-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--primary);transition:.3s}
.social-icon svg{display:block;width:15px;height:15px;fill:var(--white)}
.social-icon:hover{opacity:.9}
.contact-form{display:flex;flex-wrap:wrap;margin:0 -5px -2px}
.field{width:100%;padding:0 5px;margin-bottom:2px}
.contact-form input,.contact-form textarea{display:block;width:100%;min-height:40px;margin:0;padding:8px 16px;border:1px solid #69727D;border-radius:3px;background:var(--white);color:var(--espresso);font-family:var(--sans);font-size:18px;font-weight:400;line-height:1.4;transition:all .3s;-webkit-appearance:none;appearance:none}
.contact-form textarea{padding:5px 14px;resize:vertical}
.contact-form ::placeholder{color:inherit;font-family:inherit;opacity:.6}
.contact-form input:focus,.contact-form textarea:focus{border-color:#333;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);outline:0}
.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.contact-form button{display:flex;align-items:center;justify-content:center;width:100%;min-height:40px;margin:0;padding:0 24px;border:0;border-radius:3px;background:var(--primary);color:var(--white);font-family:var(--sans);font-size:12px;font-weight:700;line-height:1;cursor:pointer;transition:.3s}
.contact-form button[disabled]{opacity:.7;cursor:progress}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-msg{width:100%;margin:10px 5px 0;font-family:var(--sans);font-size:18px;line-height:1;color:#5cb85c}
.form-msg.is-error{color:#d9534f}

/* ---------- Footer ---------- */
.footer-bar{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:0;width:100%;padding:2% 10%;background:var(--footer)}
.footer-note{margin:0;font-family:var(--sans);font-size:10px;font-weight:500;line-height:1;letter-spacing:1px;text-transform:uppercase;color:var(--pale)}
.footer-note--end{text-align:end}
.footer-note strong{font-weight:700}
.disclaimer{display:flex;padding:10px}
.disclaimer p{margin:0;font-family:Arial,sans-serif;font-size:16px;font-style:italic;font-weight:400;line-height:1.5;color:#333;text-align:center}

/* ---------- 404 ---------- */
.page-404{display:flex;flex-direction:column;min-height:100vh;min-height:100svh}
.not-found{flex:1 0 auto;justify-content:center;padding:8% 10% 12%}
.not-found .text{margin:0}

/* ---------- Tablet and up (Elementor "min-width:768px" rules) ---------- */
@media (min-width:768px){
  .hero-content{width:58.966%}
  .hero-actions{width:80%}
  .intro-inner{width:60%}
}

/* ---------- Tablet (≤1024px) ---------- */
@media (max-width:1024px){
  .site-header{margin:2% 0 0;padding:0 4%}
  .hero-wrap{margin:2% 0 15%;padding:0 2%}
  .hero{gap:0;background-position:25px 0}
  .hero::before{opacity:.81}
  .intro{gap:50px;margin:15% 0;padding:2%}
  .split{gap:50px;margin:15% 0;padding:2%}
  .band--gentle{padding:0 2%}
  .band--gentle .band-inner{padding:15% 0}
  .sessions{margin:15% 0;padding:0 2%}
  .offer-grid{grid-template-columns:repeat(2,1fr)}
  .boxed--fit{margin:0;padding:0 2%}
  .boxed--fit .boxed-inner{padding:15% 0}
  .fit-title{width:100%}
  .band--imagine{padding:0 2%}
  .band--imagine .band-inner{padding:15% 0}
  .boxed--faq{margin:0;padding:0 2%}
  .boxed--faq .boxed-inner{padding:15% 0}
  .faq-title{text-align:center}
  .faq-row{gap:50px;margin-top:25px}
  .band--invite{margin:0;padding:0 2%}
  .band--invite .band-inner{gap:50px;padding:15% 0}
  .contact{margin:10% 0;padding:0 2%}
  .contact-inner{gap:50px;padding:2% 0}
  .footer-bar{padding:3%}
}
@media (min-width:768px) and (max-width:1024px){
  .hero-content{width:100%}
}

/* ---------- Mobile (≤767px): containers go full width and wrap, as Elementor does ---------- */
@media (max-width:767px){
  .site-header{flex-wrap:wrap;margin:0;padding:3%}
  .header-cta{display:none}
  .hero-wrap{margin:0;padding:3% 3% 20%}
  .hero{min-height:75vh;flex-direction:column-reverse;flex-wrap:wrap;gap:20px;padding:12% 8%;background-position:50% 0}
  .hero::before{opacity:.37}
  .hero-title{font-size:35px}
  .rule--hero{margin-left:auto}
  .hero-actions{flex-wrap:wrap}
  .btn-wrap{margin-top:15px}
  .btn-wrap .btn{flex:1 1 auto}
  .intro{margin:0;padding:20% 3%}
  .split{flex-wrap:wrap;margin:0;padding:20% 3%}
  .split--how{flex-direction:row-reverse;flex-wrap:wrap-reverse}
  .band--gentle{padding:0 3%}
  .band--gentle .band-inner{width:100%;padding:20% 0}
  .sessions{margin:0 0 20%;padding:20% 3%}
  .offer-grid{grid-template-columns:repeat(1,1fr)}
  .boxed--fit .boxed-inner{padding:20% 0}
  .boxed--fit{padding:0 3%}
  .bio-quote{width:100%}
  .band--imagine{padding:0 3%}
  .band--imagine .band-inner{padding:20% 0}
  .boxed--faq{padding:0 3%}
  .boxed--faq .boxed-inner{padding:20% 0}
  .faq-row{flex-wrap:wrap;gap:20px}
  .band--invite{padding:0 3%}
  .band--invite .band-inner{padding:20% 0}
  .contact{margin:0;padding:0 3%}
  .contact-inner{flex-wrap:wrap;padding:15% 0}
  .footer-bar{flex-direction:column;justify-content:flex-start;gap:10px;padding:5%}
  .footer-note,.footer-note--end{width:100%;text-align:center}
  .not-found{padding:20% 3%}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important}
}
