
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--navy:#0b1826;--navy2:#13283a;--gold:#c7a35f;--goldlight:#ead7aa;--ink:#172738;--muted:#647382;--cream:#f7f5ef;--line:#e6e0d4;--white:#fff;--green:#53766b;--shadow:0 18px 55px rgba(10,24,38,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);background:#fff;font:15px/1.7 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}.wrap{width:min(1180px,92%);margin:auto}
.topline{background:#07121d;color:#d5dce2;font-size:11px;letter-spacing:1.3px;text-align:center;padding:7px}
header{position:sticky;top:0;z-index:50;background:rgba(11,24,38,.97);backdrop-filter:blur(14px);color:white;border-bottom:1px solid #ffffff18}
.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:11px;font-weight:700;letter-spacing:4px;font-size:21px}.brand img{width:47px;height:47px;object-fit:contain;border-radius:50%;background:#fff}
nav{display:flex;align-items:center;gap:19px;flex-wrap:wrap;font-size:11px;letter-spacing:.7px;font-weight:700}nav a{color:#e8edf1;transition:.2s}nav a:hover,nav a.active{color:var(--goldlight)}
.navtools{display:flex;align-items:center;gap:8px}.navtools select,.navtools button{border:1px solid #a78a54;background:transparent;color:white;border-radius:3px;padding:8px;font-size:11px}.navtools option{color:#172738;background:#fff}
.hero{position:relative;overflow:hidden;background:linear-gradient(115deg,#0b1826 0%,#142b40 65%,#20394c 100%);color:white;padding:76px 0 82px}.hero:after{content:"";position:absolute;width:540px;height:540px;border:1px solid #c7a35f30;border-radius:50%;right:-170px;top:-220px;box-shadow:0 0 0 45px #c7a35f09,0 0 0 90px #c7a35f06}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:55px;align-items:center;position:relative;z-index:1}.eyebrow{color:var(--gold);font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase}.hero h1{font-size:clamp(48px,7vw,82px);line-height:1.02;letter-spacing:8px;margin:17px 0 12px}.tagline{color:var(--goldlight);font-size:clamp(13px,1.8vw,17px);font-weight:700;letter-spacing:2.2px}.hero p{max-width:600px;color:#dce4e9;font-size:17px;margin:22px 0}.hero-photo{width:100%;max-width:500px;aspect-ratio:1;object-fit:cover;border-radius:50%;border:6px solid var(--gold);box-shadow:0 25px 65px #0006;justify-self:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border:1px solid var(--gold);color:var(--goldlight);border-radius:3px;font-weight:700;font-size:12px;letter-spacing:.6px;cursor:pointer;transition:.2s;background:transparent}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px #0002}.btn.primary{background:var(--gold);color:var(--navy)}.btn.light{color:var(--navy);border-color:var(--navy)}
section{padding:76px 0}.section-head{text-align:center;max-width:790px;margin:0 auto 38px}.section-head h2{font:600 clamp(30px,4vw,44px)/1.2 'Playfair Display',Georgia,serif;margin:9px 0 14px;color:var(--navy)}.section-head p{color:var(--muted);font-size:16px}
.cream{background:var(--cream)}.darkband{background:var(--navy);color:white}.darkband .section-head h2{color:white}.darkband .section-head p{color:#c6d0d8}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.card{background:#fff;border:1px solid var(--line);padding:24px;box-shadow:0 7px 25px #15283a08;display:flex;flex-direction:column;align-items:flex-start;min-height:205px;transition:.25s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#d2bd91}.card .icon{font-size:23px;color:var(--gold);margin-bottom:10px}.card h3{font:600 20px 'Playfair Display',Georgia,serif;margin:0 0 8px;color:var(--navy)}.card p{color:var(--muted);margin:0 0 18px;font-size:14px}.card .btn{margin-top:auto}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.pillar{padding:20px;background:#fff;border-top:2px solid var(--gold);font-weight:700;color:var(--navy)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.visual-logo{width:min(380px,80%);display:block;margin:auto}.quote{border-left:3px solid var(--gold);padding:5px 0 5px 22px;color:var(--muted);font:italic 19px/1.6 'Playfair Display',Georgia,serif}
.notice{background:#fff8e9;border-left:4px solid var(--gold);padding:17px 20px;color:#665738;font-size:13px;margin-top:22px}.notice strong{color:#493b20}
.countrybox{background:var(--navy);color:white;border-radius:8px;padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;box-shadow:var(--shadow)}.countrybox p{color:#c7d0d8}.countrybox select{width:100%;padding:13px;border-radius:3px;border:1px solid var(--gold);background:#fff;color:var(--ink)}.resource{background:#fff;color:var(--ink);padding:18px;border-radius:4px;min-height:120px}
.formbox{max-width:760px;margin:auto;padding:28px;background:white;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:6px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{padding:12px;border:1px solid #d4dbe0;border-radius:3px;background:#fff;color:var(--ink)}.field textarea{min-height:95px}.status{color:var(--green);font-weight:700;margin-top:12px}
.founder{background:linear-gradient(120deg,#0b1826,#1b3448);color:white;text-align:center;padding:58px 15px}.founder strong{display:block;color:var(--goldlight);font:600 30px 'Playfair Display',Georgia,serif}.founder p{font-size:18px;color:#f0e5cd}
footer{background:#07121d;color:#d6dce1;padding:40px 0 22px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:30px}.footer-title{color:var(--goldlight);font-weight:700;letter-spacing:1px;margin-bottom:12px}.footer-links{display:grid;gap:7px;font-size:13px;color:#c3cbd1}.footer-links a:hover{color:var(--goldlight)}.copyright{border-top:1px solid #ffffff1a;margin-top:28px;padding-top:18px;color:#95a2ac;font-size:11px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.subhero{background:var(--navy);color:white;padding:48px 0}.subhero h1{font:600 clamp(36px,5vw,58px) 'Playfair Display',Georgia,serif;margin:8px 0}.subhero p{color:#d1d9df;max-width:760px}
.psych-tabs{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:22px}.psych-tab{border:1px solid var(--gold);padding:12px 20px;background:white;color:var(--navy);border-radius:3px;font-weight:700;cursor:pointer}.psych-tab.active{background:var(--navy);color:var(--goldlight)}.psych-panel{background:#fff;border:1px solid var(--line);padding:25px;border-radius:6px;box-shadow:var(--shadow)}.psych-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.psych-info h3,.bookingbox h3{font:600 25px 'Playfair Display',Georgia,serif;color:var(--navy);margin:4px 0 10px}.psych-info p,.psych-info li{color:var(--muted)}.psych-info li{margin:7px 0}.chatbox{border:1px solid #dce1e5;border-radius:6px;overflow:hidden;background:#fbfcfd}.chathead{padding:14px 17px;background:var(--navy);color:white;display:flex;justify-content:space-between;font-weight:700}.chatmessages{height:230px;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.bubble{padding:11px 14px;border-radius:10px;max-width:88%;font-size:14px}.bubble.bot{background:#eef1f4;align-self:flex-start}.bubble.user{background:#e9dfc9;align-self:flex-end}.chatquick{display:flex;gap:6px;flex-wrap:wrap;padding:0 12px 12px}.chatquick button{border:1px solid #d6c49c;background:white;border-radius:20px;padding:6px 10px;font-size:12px;cursor:pointer}.chatinput{display:flex;gap:7px;padding:12px;border-top:1px solid #e0e4e8}.chatinput input{flex:1;min-width:0;border:1px solid #cfd5dc;border-radius:3px;padding:11px}.chatinput button{border:0;background:var(--navy);color:white;border-radius:3px;padding:0 18px;cursor:pointer}.chatnote{padding:0 12px 12px;font-size:11px;color:var(--muted)}.bookingbox{background:#faf8f3;padding:20px;border:1px solid var(--line);border-radius:5px}.bookingbox form{display:grid;gap:12px}
@media(max-width:900px){.nav{flex-wrap:wrap;padding:10px 0}.hero-grid,.split,.psych-grid{grid-template-columns:1fr}.hero-photo{max-width:420px}.grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.pillars{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){nav{gap:11px}.navtools{flex-wrap:wrap}.hero{padding:48px 0}.grid{grid-template-columns:1fr}.countrybox{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.pillars{grid-template-columns:1fr 1fr}.hero h1{letter-spacing:4px}}

/* HUMANOVA warmth, dedication and founder contact */
.dedication-card{max-width:900px;margin:0 auto;padding:clamp(28px,5vw,58px);text-align:center;background:linear-gradient(145deg,#fffdf8,#f6f0e5);border:1px solid #e8dcc5;border-radius:24px;box-shadow:0 16px 48px rgba(28,42,58,.07)}
.dedication-card h2{font:600 clamp(28px,4vw,42px) 'Playfair Display',serif;color:var(--navy);line-height:1.25;margin:14px auto 22px;max-width:760px}
.dedication-card p{max-width:720px;margin:14px auto;color:var(--muted);line-height:1.85}
.dedication-lead{font:italic 21px 'Playfair Display',serif!important;color:#8b6b3f!important}
.dedication-sign{padding-top:12px}.dedication-motto{margin:24px auto 0;color:#8b6b3f;font-weight:700;letter-spacing:.06em}
.contact-panel{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;padding:28px 0}.contact-panel h2{font:600 34px 'Playfair Display',serif;color:var(--navy)}.contact-panel p{color:var(--muted);line-height:1.75}.contact-details{background:#f8f6f0;border:1px solid #e9e2d5;border-radius:18px;padding:22px}.contact-details p{margin:0;padding:12px 0;border-bottom:1px solid #e7e0d5}.contact-details p:last-child{border:0}.contact-details span,.contact-details strong,.contact-details small{display:block}.contact-details span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#8a765b}.contact-details strong{font-size:18px;color:var(--navy);margin-top:4px}.contact-details a{color:inherit;text-decoration:none}.contact-details small{font-size:12px;line-height:1.5;margin-top:5px}.contact-details .privacy-note{font-size:13px}.footer-contact{padding:14px 0;color:#aeb9c2;font-size:13px}.footer-contact a{color:#ead7aa}@media(max-width:700px){.contact-panel{grid-template-columns:1fr}}

/* HUMANOVA warmth and accessibility enhancement */
.love-welcome{padding:3.2rem 0;background:linear-gradient(135deg,#fff4ed,#f3f0ff 55%,#edf8f2);text-align:center}
.love-welcome h2{font-size:clamp(1.8rem,4vw,2.8rem);color:#543c70;margin:.5rem auto 1rem}
.love-message{max-width:850px;margin:0 auto 1rem;font-size:1.18rem;line-height:1.85;color:#33443d}
.love-message-fa{max-width:850px;margin:1.2rem auto;font-size:1.15rem;line-height:2;color:#543c70}
.love-signature{font-weight:700;color:#76528d}
#musicBtn{border-radius:999px;padding:.55rem .9rem;border:1px solid #d8c8e8;background:#fff7ff;color:#55386c;cursor:pointer}
#musicBtn:focus-visible,a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #e7a33e;outline-offset:3px}
.module-card,.card{transition:transform .2s ease,box-shadow .2s ease}
.module-card:hover,.card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(40,55,48,.13)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
