:root{--navy:#082f69;--blue:#075fae;--teal:#0c9eb0;--pink:#f44f99;--coral:#ff8569;--gold:#d89a2b;--cream:#fffaf3;--ink:#15233a;--muted:#5b6474;--line:#dce5ed;--white:#fff;--shadow:0 20px 50px rgba(8,47,105,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"DM Sans",sans-serif;background:var(--cream);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Playfair Display",serif;color:var(--navy);line-height:1.08}h1{font-size:clamp(2.65rem,6vw,5.4rem);letter-spacing:-.04em;margin-bottom:1.3rem}h2{font-size:clamp(2.15rem,4.2vw,3.75rem);letter-spacing:-.025em;margin-bottom:1rem}h3{font-size:1.35rem;color:var(--navy);margin-bottom:.65rem}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,5vw,5rem);background:rgba(255,250,243,.95);border-bottom:1px solid rgba(8,47,105,.09);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:.7rem;color:var(--navy);line-height:1.1}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--navy);color:#f6c86f;font-family:"Playfair Display";font-weight:700;font-size:.85rem}.brand strong,.brand small{display:block}.brand strong{font-family:"Playfair Display";font-size:1.15rem}.brand small{font-size:.75rem;letter-spacing:.11em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-top:.15rem}nav{display:flex;align-items:center;gap:2rem}nav a{font-weight:600;font-size:.95rem;color:#33445e}nav a:hover{color:var(--pink)}.nav-cta{background:var(--navy);color:white!important;padding:.72rem 1.1rem;border-radius:999px}.menu-button{display:none;border:1px solid var(--line);background:white;border-radius:999px;padding:.55rem .85rem;color:var(--navy);font-weight:700}.hero{min-height:calc(100vh - 84px);display:grid;grid-template-columns:1.08fr .92fr;background:white}.hero-image{min-height:620px;background:url("assets/sunset-banner.jpg") center/cover no-repeat;position:relative}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 70%,rgba(255,255,255,.18))}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,7vw,7rem);padding-left:clamp(2.25rem,5vw,5rem)}.hero-copy>p:not(.eyebrow):not(.response-note){font-size:1.17rem;color:var(--muted);max-width:39rem;margin-bottom:2rem}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:800;color:var(--pink);margin-bottom:.85rem}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.75rem 1.25rem;border-radius:999px;font-weight:700;border:1px solid transparent;cursor:pointer}.primary{background:linear-gradient(135deg,var(--navy),var(--blue));color:white;box-shadow:0 9px 24px rgba(8,47,105,.2)}.primary:hover{transform:translateY(-2px);box-shadow:0 13px 30px rgba(8,47,105,.25)}.secondary{border-color:var(--line);color:var(--navy);background:white}.response-note{font-size:.9rem!important;margin-top:1.2rem!important;margin-bottom:0!important;display:flex;align-items:center;gap:.5rem}.response-note span{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 5px rgba(12,158,176,.12)}.trust-strip{background:var(--navy);color:white;padding:1rem 2rem;display:flex;justify-content:center;align-items:center;gap:clamp(1rem,3vw,3.5rem);font-weight:600}.trust-strip i{width:5px;height:5px;border-radius:50%;background:#f6c86f}.section{padding:clamp(5rem,9vw,8rem) clamp(1.25rem,6vw,6.5rem)}.section-heading{text-align:center;max-width:750px;margin:0 auto 3rem}.section-heading>p:last-child{color:var(--muted);font-size:1.08rem}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;max-width:1200px;margin:auto}.service-card{background:white;padding:2rem;border-radius:24px;border:1px solid var(--line);box-shadow:0 10px 30px rgba(8,47,105,.05)}.service-card.featured{background:linear-gradient(155deg,var(--navy),#0d4a90);color:white;border:none;box-shadow:var(--shadow)}.service-card.featured h3{color:white}.service-card.featured p,.service-card.featured li{color:#dfeeff}.number{font-family:"Playfair Display";font-size:1.2rem;color:var(--pink);font-weight:700}.service-card ul{padding-left:1.1rem;margin:1.25rem 0 0}.service-card li{margin:.45rem 0;color:var(--muted)}.about{background:#ffe8ef;display:grid;grid-template-columns:minmax(220px,360px) minmax(0,690px);gap:clamp(2.5rem,7vw,7rem);align-items:center;justify-content:center;padding:clamp(5rem,9vw,8rem) 1.5rem;position:relative;overflow:hidden}.about:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:linear-gradient(145deg,#5bd6df,#0a6fb2);left:-180px;bottom:-220px;opacity:.65}.about-badge{width:280px;aspect-ratio:1;border-radius:50%;background:linear-gradient(145deg,#0f8fb4,#062f6d);color:white;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;font-weight:700;font-size:1.1rem;box-shadow:0 24px 55px rgba(8,47,105,.22);position:relative}.about-badge:after{content:"";position:absolute;inset:16px;border:1px solid rgba(255,255,255,.35);border-radius:50%}.about-badge span{font-family:"Playfair Display";font-size:4rem;color:#ffd07a;line-height:1}.about>div:last-child>p:not(.eyebrow){font-size:1.08rem;color:#46536a}.credentials{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.6rem}.credentials span{background:white;border:1px solid rgba(8,47,105,.1);border-radius:999px;padding:.55rem .8rem;font-size:.88rem;color:var(--navy);font-weight:700}.resources{background:white}.section-heading.left{text-align:left;margin-left:0}.resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;max-width:1100px}.resource-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.25rem;border:1px solid var(--line);border-radius:22px;padding:1.5rem;transition:.2s}.resource-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#b8d6e5}.resource-card small{color:var(--pink);font-weight:800;text-transform:uppercase;letter-spacing:.1em}.resource-card h3{margin:.2rem 0}.resource-card p{margin:0;color:var(--muted)}.resource-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:#ff395a;color:white;font-size:1.35rem}.resource-icon.book{background:var(--teal)}.resource-card b{font-size:1.5rem;color:var(--navy)}.consultation{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,7vw,7rem);padding:clamp(5rem,9vw,8rem) clamp(1.25rem,7vw,8rem);background:linear-gradient(145deg,#062c63,#075f9d);color:white;align-items:start}.consultation h2{color:white}.consultation-copy>p:not(.eyebrow){color:#d9eafd;font-size:1.08rem}.email-link{color:#ffd27e;font-weight:700;overflow-wrap:anywhere}.consultation form{background:white;color:var(--ink);padding:clamp(1.4rem,4vw,2.5rem);border-radius:24px;box-shadow:0 25px 60px rgba(0,0,0,.2)}label{display:block;font-weight:700;font-size:.9rem;color:#31415a;margin-bottom:1rem}input,select,textarea{display:block;width:100%;border:1px solid #cdd9e2;background:#fbfdff;border-radius:10px;padding:.78rem .85rem;margin-top:.4rem;color:var(--ink);min-height:48px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid rgba(12,158,176,.2);border-color:var(--teal)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.submit{width:100%;border:0}.form-note{text-align:center;color:var(--muted);font-size:.8rem;margin:.8rem 0 0}footer{padding:3rem clamp(1.25rem,6vw,6rem);background:#041f48;color:#dceaff;display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center}footer p{margin:0;color:#f6c86f}.footer-links{display:flex;gap:1.5rem;grid-column:2;grid-row:1/3}.footer-links a:hover{color:#f6c86f}footer>small{grid-column:1/3;color:#91a8c4}.footer-brand strong{color:white}.footer-brand .brand-mark{background:white;color:var(--navy)}
@media(max-width:900px){.site-header{height:72px}.menu-button{display:block}nav{display:none;position:absolute;left:1rem;right:1rem;top:66px;background:white;padding:1rem;border-radius:16px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:.3rem}nav.open{display:flex}nav a{padding:.75rem}.hero{grid-template-columns:1fr;min-height:auto}.hero-image{min-height:48vw;order:0}.hero-copy{padding:3.5rem 1.5rem;order:1}.trust-strip{overflow:auto;justify-content:flex-start;white-space:nowrap}.service-grid{grid-template-columns:1fr}.about{grid-template-columns:1fr}.about-badge{width:220px}.resource-grid{grid-template-columns:1fr}.consultation{grid-template-columns:1fr}.footer-links{grid-column:1;grid-row:auto}footer{grid-template-columns:1fr}footer>small{grid-column:1}.footer-brand{margin-bottom:.5rem}}
@media(max-width:560px){h1{font-size:2.7rem}.hero-image{min-height:54vw;background-position:center}.field-row{grid-template-columns:1fr;gap:0}.resource-card{grid-template-columns:auto 1fr}.resource-card b{display:none}.trust-strip{font-size:.85rem}.brand strong{font-size:1rem}.brand small{font-size:.68rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.resource-card{transition:none}}

.about-portrait{width:min(100%,360px);margin:0;position:relative;z-index:1}.about-portrait img{display:block;width:100%;aspect-ratio:1.05;object-fit:cover;object-position:center;border:8px solid white;border-radius:28px;box-shadow:0 24px 55px rgba(8,47,105,.22)}.about-portrait figcaption{position:absolute;right:-18px;bottom:-22px;width:150px;padding:1rem;border-radius:18px;background:linear-gradient(145deg,#0f8fb4,#062f6d);color:white;box-shadow:0 15px 35px rgba(8,47,105,.24);text-align:center;line-height:1.15}.about-portrait figcaption strong,.about-portrait figcaption span{display:block}.about-portrait figcaption strong{font-family:"Playfair Display";font-size:2.5rem;color:#ffd07a}.about-portrait figcaption span{font-size:.82rem;font-weight:700}.direct-contact{display:flex;flex-direction:column;gap:.35rem}.email-link,.phone-link{color:#ffd27e;font-weight:700;overflow-wrap:anywhere}.phone-link{font-size:1.08rem}
@media(max-width:900px){.about-portrait{width:min(86vw,340px);margin-bottom:1.5rem}.about-portrait figcaption{right:-8px}}
.about:before{display:none}
