
:root{
  --cream:#f7f1e7;--paper:#fffaf3;--teal:#176f73;--teal-dark:#0f5559;--teal-soft:#dfeceb;
  --brown:#603713;--brown-soft:#87694f;--ink:#30271f;--muted:#68584b;--line:#ddcfc0;--white:#fff;
  --shadow:0 14px 32px rgba(73,48,27,.09);--radius:20px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.58}
body.modal-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(23,111,115,.32);outline-offset:3px}
.skip-link{position:absolute;left:-9999px;top:8px;background:var(--teal);color:#fff;padding:10px 14px;border-radius:8px;z-index:9999}.skip-link:focus{left:12px}
.container{width:min(1180px,calc(100% - 44px));margin:auto}.narrow{width:min(860px,calc(100% - 44px));margin:auto}
.eyebrow{font-size:.77rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--teal)}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:500}h1,h2{color:var(--teal)}h3{color:var(--brown)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:999px;border:1.5px solid var(--teal);font-weight:800;cursor:pointer;transition:.18s ease;background:transparent;color:var(--teal)}
.btn.primary{background:var(--teal);color:#fff}.btn.secondary{background:var(--paper);color:var(--teal)}.btn:hover{transform:translateY(-1px)}
.text-link{color:var(--teal);font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.text-link:hover{color:var(--teal-dark)}
.site-header{min-height:82px;background:rgba(247,241,231,.97);border-bottom:1px solid rgba(96,55,19,.08);position:sticky;top:0;z-index:100;backdrop-filter:blur(10px)}
.site-header .nav{min-height:82px;display:flex;align-items:center;gap:18px}.nav-logo img{width:164px;max-height:62px;object-fit:contain;object-position:left center}.nav-menu{margin-left:auto;display:flex;align-items:center;gap:18px}.nav-links{display:flex;align-items:center;gap:17px;color:var(--brown);font-size:.84rem;font-weight:700;white-space:nowrap}.nav-links a{padding:7px 0 5px;border-bottom:1px solid transparent}.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--teal);border-bottom-color:rgba(23,111,115,.45)}
.nav-toggle{display:none;margin-left:auto;width:44px;height:44px;border:1px solid rgba(96,55,19,.18);border-radius:999px;background:var(--paper);color:var(--teal);align-items:center;justify-content:center;font-size:1.2rem;cursor:pointer}
.site-footer{background:#4a2b15;color:#f8eee4;padding:42px 0 28px}.footer-main{display:grid;grid-template-columns:190px 1fr;gap:42px;align-items:start}.footer-logo img{width:175px;filter:brightness(0) invert(1);opacity:.94}.footer-info{display:grid;grid-template-columns:1.2fr 1fr;gap:30px}.footer-info p{margin:0;color:#f8eee4;font-size:.88rem}.footer-links{display:flex;flex-wrap:wrap;gap:8px 18px;align-content:flex-start;justify-content:flex-end;font-size:.84rem}.footer-links a{text-decoration:underline;text-decoration-color:rgba(248,238,228,.3);text-underline-offset:3px}.footer-bottom{margin-top:26px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);font-size:.76rem;display:flex;justify-content:space-between;gap:20px;color:rgba(248,238,228,.82)}
.hero{background:var(--paper);padding:58px 0 74px;position:relative;overflow:hidden}.hero:before{content:"♡";position:absolute;left:-38px;top:190px;font:175px Georgia,serif;color:rgba(23,111,115,.045);transform:rotate(-14deg)}.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:50px;align-items:center}.hero-logo{width:270px;margin-bottom:8px}.hero h1{font-size:clamp(2.45rem,4vw,4.65rem);line-height:1.03;margin:8px 0 22px;max-width:760px}.hero p{font-size:1rem;color:#4f4238;margin:0 0 16px;max-width:720px}.hero .lead{font-size:1.08rem}.hero strong{color:var(--brown)}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.area{font-size:.85rem;color:var(--brown-soft);font-weight:700;margin-top:18px}
.collage{display:grid;grid-template-columns:1fr .92fr;grid-template-rows:220px 185px 205px;gap:12px;position:relative}.tile{overflow:hidden;border-radius:18px;background:#ddd;box-shadow:var(--shadow);border:5px solid #fff}.tile img{width:100%;height:100%;object-fit:cover}.tile.one{grid-column:1/3}.tile.four{grid-column:1/3}.collage-badge{position:absolute;right:-8px;top:238px;width:126px;height:126px;border-radius:50%;border:5px solid var(--paper);background:var(--teal);color:white;display:flex;align-items:center;justify-content:center;text-align:center;padding:15px;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;transform:rotate(5deg)}
section{scroll-margin-top:95px}.section{padding:86px 0}.section.paper{background:var(--paper)}.section.soft{background:var(--teal-soft)}.center{text-align:center}.section-title{font-size:clamp(2.05rem,3.5vw,3.45rem);line-height:1.08;margin:8px 0 12px}.section-sub{max-width:780px;margin:0 auto;color:var(--muted)}
.audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px}.audience-card{min-height:330px;border-radius:20px;overflow:hidden;position:relative;background-size:cover;background-position:center;box-shadow:var(--shadow);border:1px solid rgba(96,55,19,.08)}.audience-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(28,18,12,.9))}.audience-card a{position:absolute;inset:0;z-index:3}.audience-copy{position:absolute;left:19px;right:19px;bottom:19px;z-index:2;color:#fff}.audience-copy h3{color:#fff;font-size:1.48rem;margin:0 0 6px}.audience-copy p{font-size:.86rem;margin:0;opacity:.96}.audience-card:hover{transform:translateY(-2px);transition:.18s ease}.audience-card:focus-within{outline:3px solid rgba(23,111,115,.3);outline-offset:3px}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:34px}.service{background:var(--paper);border:1px solid rgba(96,55,19,.10);border-radius:17px;padding:24px 22px}.service .icon{font-size:1.35rem;color:var(--teal)}.service h3{font-size:1.31rem;margin:8px 0 6px}.service p{font-size:.88rem;color:var(--muted);margin:0}
.path-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:34px}.path-card{background:var(--paper);border-radius:22px;padding:34px;box-shadow:0 14px 30px rgba(73,48,27,.08)}.path-card h3{font-size:1.85rem;margin:6px 0 8px}.path-card p,.path-card li{color:var(--muted)}.path-card ul{padding-left:20px;margin:14px 0 0}.path-card .text-link{display:inline-block;margin-top:12px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.photo-card{position:relative}.photo-card img{width:100%;height:430px;object-fit:cover;border-radius:22px;border:6px solid #fff;box-shadow:var(--shadow)}.note{position:absolute;right:-10px;bottom:24px;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:16px 18px;color:var(--brown);font:500 1.05rem Georgia,serif;box-shadow:var(--shadow);max-width:220px}.copy h2{font-size:clamp(2rem,3vw,3.2rem);line-height:1.08;margin:7px 0 14px}.copy p{color:var(--muted);margin:0 0 14px}.rule{display:flex;align-items:center;gap:13px;color:var(--teal);margin:18px 0}.rule:before,.rule:after{content:"";height:1px;flex:1;background:var(--teal);opacity:.45}.rule span{font:1.3rem Georgia,serif}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.card{background:var(--paper);border:1px solid rgba(96,55,19,.11);border-radius:20px;padding:26px;box-shadow:0 9px 22px rgba(73,48,27,.05)}.card.photo{padding:0;overflow:hidden}.card.photo img{height:220px;width:100%;object-fit:cover}.card.photo .card-body{padding:25px}.card h3{font-size:1.5rem;margin:5px 0 8px}.card p{color:var(--muted);margin:0 0 11px}.tag{font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800;color:var(--teal)}.price{font-weight:800;color:var(--brown);margin:5px 0 10px}.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}.feature-list div{background:var(--paper);border:1px solid rgba(96,55,19,.1);border-radius:12px;padding:11px 13px;color:var(--brown);font-size:.86rem;font-weight:700}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}.step{background:var(--paper);border-radius:20px;padding:28px}.step-num{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--teal);color:#fff;font-weight:800;margin-bottom:12px}.step h3{font-size:1.38rem;margin:0 0 7px}.step p{color:var(--muted);margin:0}
.cta{padding:72px 22px;background:var(--teal);color:#fff;text-align:center}.cta h2{color:#fff;font-size:clamp(2rem,3.4vw,3.35rem);line-height:1.08;margin:0 0 12px}.cta p{max-width:760px;margin:0 auto 24px;color:#f4ffff}.cta .btn{border-color:#fff}.cta .btn.primary{background:#fff;color:var(--teal)}
.legal-hero{background:var(--paper);padding:64px 0 48px}.legal-hero h1{font-size:clamp(2.5rem,4vw,4rem);line-height:1.05;margin:10px 0 14px}.legal-hero p{color:var(--muted);max-width:760px;margin:0}.legal{padding:58px 0 90px}.legal article{background:var(--paper);border:1px solid rgba(96,55,19,.1);border-radius:22px;padding:clamp(28px,5vw,56px);box-shadow:0 10px 28px rgba(73,48,27,.05)}.legal h2{font-size:1.75rem;margin:34px 0 10px}.legal h2:first-child{margin-top:0}.legal h3{font-size:1.2rem;margin:25px 0 8px}.legal p,.legal li{color:#55483e}.legal ul{padding-left:22px}.legal .effective{font-size:.85rem;color:var(--brown-soft);font-weight:700}.legal .callout{background:var(--teal-soft);border-left:4px solid var(--teal);padding:18px 20px;border-radius:0 12px 12px 0;margin:24px 0}.legal a{color:var(--teal);text-decoration:underline;text-underline-offset:3px}
.faq-list{display:grid;gap:12px;margin-top:34px}.faq-item{background:var(--paper);border:1px solid rgba(96,55,19,.12);border-radius:16px;overflow:hidden}.faq-q{width:100%;border:0;background:transparent;text-align:left;padding:19px 22px;font-weight:800;color:var(--brown);display:flex;justify-content:space-between;gap:20px;cursor:pointer}.faq-q span:last-child{color:var(--teal);font-size:1.2rem}.faq-a{display:none;padding:0 22px 20px;color:var(--muted)}.faq-item.open .faq-a{display:block}.faq-item.open .faq-q span:last-child{transform:rotate(45deg)}
.quote-area{padding:70px 0 92px}.quote-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:34px;align-items:start}.form-section{background:var(--paper);border:1px solid rgba(96,55,19,.1);border-radius:22px;padding:30px;margin-bottom:22px;box-shadow:0 10px 24px rgba(73,48,27,.055)}.section-number{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--teal);color:#fff;font-weight:800;margin-bottom:12px}.form-section h3{font-size:1.72rem;margin:0 0 7px}.section-help{color:var(--muted);font-size:.92rem;margin:0 0 22px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field.full{grid-column:1/-1}label,.field-label{font-size:.86rem;font-weight:800;color:var(--brown)}.required:after{content:" *";color:var(--teal)}input[type=text],input[type=email],input[type=tel],input[type=date],input[type=number],select,textarea{width:100%;border:1px solid #cfc0b2;background:#fff;border-radius:12px;padding:13px 14px;color:var(--ink);outline:none;min-height:48px}textarea{min-height:125px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(23,111,115,.12)}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.choice{position:relative}.choice input{position:absolute;opacity:0;pointer-events:none}.choice label{display:flex;align-items:flex-start;gap:10px;width:100%;min-height:54px;padding:13px 14px;border:1px solid #cfc0b2;border-radius:12px;background:#fff;color:var(--ink);font-weight:700;cursor:pointer}.choice label:before{content:"";width:18px;height:18px;border:1.5px solid var(--teal);border-radius:4px;flex:0 0 auto;margin-top:1px;background:#fff}.choice.radio label:before{border-radius:50%}.choice input:checked+label{border-color:var(--teal);background:var(--teal-soft);color:var(--teal-dark)}.choice input:checked+label:before{background:var(--teal);box-shadow:inset 0 0 0 4px #fff}.consent{display:flex;gap:10px;align-items:flex-start;margin-top:8px}.consent input{margin-top:4px;accent-color:var(--teal)}.consent label{font-size:.82rem;color:var(--muted);font-weight:600}.sidebar{background:var(--teal-soft);border-radius:22px;padding:28px;position:sticky;top:105px}.sidebar h3{font-size:1.55rem;margin:4px 0 10px}.sidebar p{color:var(--muted);font-size:.9rem}
.cookie-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:999;background:#fffaf3;border:1px solid var(--line);box-shadow:0 18px 50px rgba(38,26,17,.2);border-radius:18px;padding:18px 20px;display:none}.cookie-banner.show{display:block}.cookie-inner{width:min(1180px,100%);margin:auto;display:flex;align-items:center;gap:24px}.cookie-copy{flex:1}.cookie-copy strong{display:block;color:var(--brown);margin-bottom:4px}.cookie-copy p{margin:0;font-size:.86rem;color:var(--muted)}.cookie-actions{display:flex;gap:8px;flex-wrap:wrap}.cookie-actions .btn{min-height:42px;padding:0 16px;font-size:.82rem}
.cookie-modal[hidden]{display:none}.cookie-modal{position:fixed;inset:0;z-index:1000;background:rgba(27,20,15,.55);display:flex;align-items:center;justify-content:center;padding:20px}.cookie-panel{width:min(620px,100%);max-height:90vh;overflow:auto;background:var(--paper);border-radius:22px;padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.25)}.cookie-panel h2{font-size:2rem;margin:0 0 8px}.cookie-panel>p{color:var(--muted);margin:0 0 22px}.cookie-row{display:grid;grid-template-columns:1fr auto;gap:18px;padding:18px 0;border-top:1px solid var(--line)}.cookie-row h3{font:700 1rem Arial,sans-serif;margin:0 0 5px}.cookie-row p{font-size:.84rem;color:var(--muted);margin:0}.switch{position:relative;width:48px;height:28px}.switch input{position:absolute;opacity:0}.slider{position:absolute;inset:0;background:#b7aaa0;border-radius:999px;cursor:pointer}.slider:before{content:"";position:absolute;width:20px;height:20px;left:4px;top:4px;background:#fff;border-radius:50%;transition:.15s}.switch input:checked+.slider{background:var(--teal)}.switch input:checked+.slider:before{transform:translateX(20px)}.switch input:disabled+.slider{opacity:.7;cursor:not-allowed}.cookie-modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px;flex-wrap:wrap}
@media(max-width:1080px){.nav-links{gap:12px;font-size:.78rem}.audience-grid,.service-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:920px){.site-header,.site-header .nav{min-height:72px}.nav-logo img{width:145px}.nav-toggle{display:inline-flex}.nav-menu{display:none;position:absolute;left:0;right:0;top:72px;background:rgba(247,241,231,.99);padding:18px 22px 22px;border-bottom:1px solid rgba(96,55,19,.1);box-shadow:0 14px 30px rgba(73,48,27,.08);flex-direction:column;align-items:stretch}.site-header.menu-open .nav-menu{display:flex}.nav-links{flex-direction:column;align-items:stretch;font-size:.95rem}.nav-links a{padding:9px 0}.nav-menu>.btn{width:100%}.hero-grid,.split,.quote-layout,.footer-info{grid-template-columns:1fr}.collage{max-width:650px}.sidebar{position:static}.card-grid{grid-template-columns:1fr 1fr}.footer-links{justify-content:flex-start}.footer-main{grid-template-columns:160px 1fr}}
@media(max-width:680px){.container,.narrow{width:min(100% - 28px,1180px)}.hero{padding-top:42px}.hero-grid{gap:30px}.collage{grid-template-rows:180px 150px 175px}.collage-badge{width:106px;height:106px;top:200px;font-size:.62rem}.audience-grid,.service-grid,.path-grid,.card-grid,.steps,.grid-2,.choice-grid,.feature-list{grid-template-columns:1fr}.section{padding:68px 0}.photo-card img{height:330px}.footer-main{grid-template-columns:1fr}.footer-logo img{margin:auto}.footer-info{text-align:center}.footer-links{justify-content:center}.footer-bottom{flex-direction:column;text-align:center}.cookie-inner{flex-direction:column;align-items:stretch}.cookie-actions{display:grid;grid-template-columns:1fr}.cookie-actions .btn{width:100%}.cookie-modal-actions{display:grid;grid-template-columns:1fr}.cookie-modal-actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Graze & Grace custom form controls: no browser-native dropdowns/date pickers. */
.form-shell[hidden],.form-success[hidden]{display:none!important}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.field-hint{font-size:.76rem;color:var(--muted);margin-top:-2px}
.field-error{min-height:1em;font-size:.76rem;font-weight:700;color:#8a2f2f}
input.invalid,textarea.invalid,.custom-select.invalid .custom-select-trigger{border-color:#a64a43!important;box-shadow:0 0 0 3px rgba(166,74,67,.1)!important}
input[type=text],input[type=email],input[type=tel],textarea{appearance:none;-webkit-appearance:none}
.custom-select{position:relative;width:100%}
.custom-select-trigger{width:100%;min-height:48px;border:1px solid #cfc0b2;background:#fff;border-radius:12px;padding:12px 14px;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;cursor:pointer;font:inherit}
.custom-select-trigger:hover{border-color:#b8a493}
.custom-select-trigger:focus-visible{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(23,111,115,.12)}
.custom-select-chevron{color:var(--teal);font-size:1.35rem;line-height:1;transition:transform .15s ease}
.custom-select.open .custom-select-chevron{transform:rotate(180deg)}
.custom-select-menu[hidden]{display:none!important}
.custom-select-menu{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 7px);max-height:310px;overflow:auto;padding:7px;background:#fffaf3;border:1px solid #cfc0b2;border-radius:14px;box-shadow:0 18px 44px rgba(38,26,17,.18)}
.custom-select-menu button{display:block;width:100%;border:0;background:transparent;color:var(--ink);padding:11px 12px;border-radius:9px;text-align:left;font:inherit;cursor:pointer}
.custom-select-menu button:hover,.custom-select-menu button:focus-visible,.custom-select-menu button[aria-selected="true"]{background:var(--teal-soft);color:var(--teal-dark);outline:none}
.consent-choice{margin-top:8px;display:block}
.consent-choice label{font-size:.82rem;color:var(--muted);font-weight:600;padding:14px 15px;min-height:auto;line-height:1.55}
.consent-choice label:before{margin-top:2px}
.consent-choice .text-link{position:relative;z-index:2;text-decoration:underline;text-underline-offset:2px}
.submit-btn{position:relative;gap:10px}
.submit-btn:disabled{opacity:.72;cursor:wait;transform:none}
.submit-spinner{display:none;width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;animation:ggspin .7s linear infinite}
.is-submitting .submit-spinner{display:inline-block}
@keyframes ggspin{to{transform:rotate(360deg)}}
.form-status{font-size:.85rem;color:var(--brown);margin:12px 0 0;min-height:1.25em}
.form-status.error{color:#8a2f2f;font-weight:700}
.form-success{background:var(--paper);border:1px solid rgba(96,55,19,.1);border-radius:22px;padding:48px 34px;box-shadow:0 10px 24px rgba(73,48,27,.055);text-align:center}
.form-success:focus{outline:none}
.form-success-heart{font:3.4rem/1 Georgia,serif;color:var(--teal);margin-bottom:10px}
.form-success h3{font-size:2rem;margin:0 0 10px}
.form-success p{max-width:620px;margin:0 auto 14px;color:var(--muted)}
.form-success-id{font-weight:800;color:var(--brown)!important}
@media(max-width:680px){.custom-select-menu{position:relative;top:auto;margin-top:7px;max-height:280px;box-shadow:0 10px 24px rgba(38,26,17,.12)}}
