@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');

:root {
    --navy: #102b49;
    --navy-2: #183d60;
    --ink: #182d43;
    --muted: #637487;
    --gold: #f6bd35;
    --gold-dark: #e4a91d;
    --pale: #f2f7fa;
    --line: #e5edf2;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 82px; }
body { font-family: 'DM Sans', sans-serif; color: var(--ink); background: #fff; }
h1,h2,h3,.navbar-brand { font-family: 'Manrope', sans-serif; }
.site-nav { background: rgba(13, 39, 65, .97); box-shadow: 0 5px 24px rgba(7, 24, 42, .12); }
.navbar { min-height: 76px; }
.navbar-brand { letter-spacing: -.4px; font-size: 1.08rem; }
.brand-mark { display: inline-grid; place-items: center; width: 35px; height: 35px; border: 1.5px solid rgba(255,255,255,.7); border-radius: 10px; color: var(--gold); font-size: 1.3rem; font-weight: 800; }
.nav-link { color: rgba(255,255,255,.78)!important; font-weight: 600; font-size: .94rem; }
.nav-link:hover,.nav-link:focus { color: #fff!important; }
.nav-contact { border: 1px solid rgba(255,255,255,.35); border-radius: 999px; padding: .5rem 1rem!important; }
.hero-section { position: relative; overflow: hidden; padding: 82px 0 96px; color: #fff; background: radial-gradient(circle at 15% 15%, #214d70 0, transparent 42%), linear-gradient(120deg,#102b49,#183e5c); }
.hero-section:before { content:""; position:absolute; width:500px;height:500px; border:1px solid rgba(255,255,255,.07); border-radius:50%; right:-190px; top:-230px; box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.02); }
.hero-copy { position:relative; z-index:1; }
.eyebrow,.section-kicker,.routine-label { display:inline-flex; align-items:center; gap:.55rem; color:var(--gold-dark); font-size:.73rem; font-weight:800; letter-spacing:1.7px; }
.eyebrow { color:#f7ca62; margin-bottom:1.15rem; }
.eyebrow-dot { width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px rgba(246,189,53,.15); }
.hero-section h1 { max-width:620px; font-size:clamp(2.6rem,5vw,4.25rem); font-weight:800; line-height:1.09; letter-spacing:-2.5px; margin-bottom:1.25rem; }
.hero-section h1 span { color:var(--gold); }
.hero-lead { color:rgba(255,255,255,.78); max-width:550px; font-size:1.08rem; line-height:1.75; margin-bottom:1.8rem; }
.btn-accent { background:var(--gold); color:#172c40; border:0; border-radius:9px; font-weight:800; padding:.85rem 1.25rem; box-shadow:0 8px 20px rgba(246,189,53,.17); }
.btn-accent:hover { background:#ffd46b; color:#172c40; transform:translateY(-1px); }
.hero-note { color:rgba(255,255,255,.58); font-size:.82rem; }
.hero-image-wrap { position:relative; padding:12px; border:1px solid rgba(255,255,255,.2); border-radius:22px; background:rgba(255,255,255,.1); box-shadow:0 25px 55px rgba(0,0,0,.2); transform:rotate(1.2deg); }
.hero-image { display:block; width:100%; height:350px; object-fit:cover; border-radius:14px; }
.floating-note { position:absolute; left:-28px; bottom:34px; display:flex; align-items:center; gap:12px; padding:13px 18px; background:#fff; color:var(--ink); border-radius:13px; box-shadow:0 15px 35px rgba(0,0,0,.2); transform:rotate(-1.2deg); }
.floating-check { display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e7f5ed;color:#16824c;font-weight:800; }
.floating-note strong,.floating-note small { display:block; }
.floating-note small { color:var(--muted);font-size:.75rem; }
.hero-bottom-shape { position:absolute; bottom:-1px; left:0; right:0; height:34px; background:#fff; clip-path:polygon(0 55%,12% 80%,26% 60%,42% 85%,58% 58%,73% 78%,88% 48%,100% 70%,100% 100%,0 100%); }
.section-space { padding:92px 0; }
.section-heading { max-width:700px; margin-bottom:44px; }
.section-heading h2,.contact-intro h2 { font-size:clamp(2rem,3.4vw,2.75rem); font-weight:800; letter-spacing:-1.3px; color:var(--navy); margin:.65rem 0 .9rem; }
.section-heading p { color:var(--muted); line-height:1.7; font-size:1.02rem; margin:0; }
.step-card { overflow:hidden; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 8px 25px rgba(19,51,77,.055); transition:transform .25s ease,box-shadow .25s ease; }
.step-card:hover { transform:translateY(-5px);box-shadow:0 17px 34px rgba(19,51,77,.11); }
.step-image { height:190px; position:relative; overflow:hidden; background:#edf5f8; }
.step-image img { width:100%;height:100%;object-fit:cover;object-position:center 43%; transition:transform .4s ease; }
.step-card:hover .step-image img { transform:scale(1.04); }
.step-number { position:absolute; left:16px; bottom:14px; display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:var(--gold);color:var(--navy);font-weight:800;box-shadow:0 5px 14px rgba(0,0,0,.12); }
.step-content { padding:23px 23px 25px; }
.step-content h3 { font-size:1.13rem;font-weight:800;color:var(--navy);margin-bottom:11px; }
.step-content p,.step-content li { color:#5b6d7d;font-size:.91rem;line-height:1.65; }
.step-content ul { padding-left:1.15rem;margin:12px 0 0; }
.step-content li { margin-bottom:5px; }
.tips-section { background:linear-gradient(145deg,#f2f8fb,#eaf3f8); }
.tip-item { display:flex;gap:16px;align-items:flex-start;height:100%; }
.tip-icon { flex:0 0 54px;display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:#fff;color:#e6a91d;font-size:1.8rem;font-weight:700;box-shadow:0 5px 16px rgba(16,43,73,.07); }
.tip-item h3 { color:var(--navy);font-size:1.05rem;font-weight:800;margin:2px 0 7px; }
.tip-item p { color:var(--muted);font-size:.9rem;line-height:1.65;margin:0; }
.routine-panel { display:flex;justify-content:space-between;align-items:center;gap:35px;padding:30px 34px;border-radius:18px;background:var(--navy);color:#fff;box-shadow:0 18px 40px rgba(16,43,73,.13); }
.routine-label { color:var(--gold); }
.routine-panel h3 { font-size:1.45rem;font-weight:800;margin:.5rem 0; }
.routine-panel p { max-width:570px;color:rgba(255,255,255,.7);line-height:1.65;margin:0; }
.routine-points { display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));gap:12px;flex:0 0 270px; }
.routine-points span { padding:10px 13px;border:1px solid rgba(255,255,255,.16);border-radius:9px;color:#fff;font-size:.88rem; }
.routine-points b { color:var(--gold);margin-right:7px; }
.contact-section { background:linear-gradient(rgba(14,39,63,.24),rgba(14,39,63,.38)),url('../images/contact-landscape.jpg') center/cover fixed; }
.contact-panel { padding:clamp(25px,5vw,58px);background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.75);border-radius:22px;box-shadow:0 25px 65px rgba(6,28,47,.22); }
.contact-intro h2 { margin-top:.65rem; }
.contact-intro p { color:var(--muted);line-height:1.75; }
.contact-small { font-size:.87rem; }
.contact-decoration { display:inline-grid;place-items:center;width:58px;height:58px;margin-top:15px;border-radius:18px;background:#edf5fa;color:#1e6595;font-size:1.8rem; }
.contact-form { padding:25px;background:#f8fafc;border:1px solid var(--line);border-radius:15px; }
.form-label { font-weight:700;font-size:.87rem;color:var(--navy); }
.form-label span { color:#d94c42; }
.form-control { border-color:#dce5ec;border-radius:8px;padding:.75rem .85rem;background:#fff; }
.form-control:focus { border-color:#8bb7d2;box-shadow:0 0 0 .22rem rgba(35,111,157,.12); }
.btn-primary { background:var(--navy);border-color:var(--navy);border-radius:9px;font-weight:700;padding:.75rem 1.25rem; }
.btn-primary:hover { background:#204c70;border-color:#204c70; }
.site-footer { background:#0d263f;color:rgba(255,255,255,.65);padding:27px 0 16px; }
.footer-brand { display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-family:'Manrope',sans-serif;font-weight:800; }
.footer-brand .brand-mark { width:31px;height:31px; }
.site-footer p { font-size:.85rem; }
.footer-links { display:flex;gap:20px; }
.footer-links a { color:rgba(255,255,255,.72);text-decoration:none;font-size:.84rem; }
.footer-links a:hover { color:var(--gold); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.1);margin-top:20px;padding-top:15px;text-align:center;font-size:.75rem;color:rgba(255,255,255,.42); }
@media (max-width:991.98px) {
    .hero-section { padding:65px 0 80px; }
    .hero-image { height:300px; }
    .floating-note { left:12px; }
    .routine-panel { align-items:flex-start;flex-direction:column; }
    .routine-points { width:100%;flex-basis:auto; }
}
@media (max-width:575.98px) {
    .section-space { padding:66px 0; }
    .hero-section h1 { letter-spacing:-1.5px; }
    .hero-image { height:235px; }
    .floating-note { bottom:20px; }
    .step-image { height:175px; }
    .routine-panel { padding:25px 22px; }
    .contact-form { padding:18px; }
    .footer-links { flex-wrap:wrap;justify-content:center; }
    .contact-section { background-attachment:scroll; }
}
