/* ============================================================ TOKENS */
:root{
    --ink:        #0a1f3d;
    --ink-2:      #050e1f;
    --navy:       #14315c;
    --navy-soft:  #2a4775;
    --cyan:       #1ba7d6;
    --cyan-2:     #3dc4f0;
    --cyan-deep:  #0e7fa8;
    --gold:       #d4a64a;
    --saffron:    #c2410c;

    --cream:      #f7f3ec;
    --cream-2:    #f1ece2;
    --paper:      #ffffff;
    --mist:       #e8eef7;
    --hairline:   #d9d3c6;
    --hairline-2: #ccc4b1;

    --text:       #1a2a44;
    --text-soft:  #5a6678;
    --text-muted: #8a93a3;

    --good:       #15803d;
    --warn:       #c2410c;

    --serif: "Fraunces", Georgia, serif;
    --sans:  "Geist", ui-sans-serif, system-ui, sans-serif;
    --mono:  "Geist Mono", ui-monospace, monospace;
    --ease:  cubic-bezier(.2,.7,.2,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    font-family:var(--sans);
    font-feature-settings:"ss01","cv11";
    background:var(--cream);
    color:var(--text);
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    overflow-x:hidden;
}
img{max-width:100%;display:block}

/* ============================================================ TOPBAR */
.topbar{background:var(--ink-2);color:rgba(255,255,255,.78);font-size:12.5px;letter-spacing:.02em;position:relative;overflow:hidden}
.topbar::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(27,167,214,.15),transparent);animation:sweep 8s linear infinite}
@keyframes sweep{to{left:200%}}
.topbar-inner{max-width:1320px;margin:0 auto;padding:9px 28px;display:flex;justify-content:space-between;align-items:center;position:relative}
.topbar-inner b{color:#fff;font-weight:500}
.topbar-inner .live{display:inline-flex;align-items:center;gap:6px}
.dot-live{width:6px;height:6px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 4px rgba(74,222,128,.18);animation:pulse 2.2s ease-in-out infinite}
@keyframes pulse{50%{opacity:.55;box-shadow:0 0 0 8px rgba(74,222,128,0)}}
.rate-tick{font-family:var(--mono);font-feature-settings:"tnum"}
.up{color:#4ade80}

/* ============================================================ NAV */
nav{
    background:rgba(247,243,236,.78);
    backdrop-filter:blur(16px) saturate(1.6);
    -webkit-backdrop-filter:blur(16px) saturate(1.6);
    border-bottom:1px solid var(--hairline);
    position:sticky;top:0;z-index:100;
}
.nav-inner{max-width:1320px;margin:0 auto;padding:16px 28px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand-mark{width:150px;height:60px}
.brand-mark svg{width:100%;height:100%;display:block}
.brand-name{font-family:var(--sans);font-weight:800;font-size:1.05rem;line-height:1;letter-spacing:-.01em;font-style:italic}
.brand-name span{color:var(--cyan)}
.nav-links{display:flex;gap:34px;list-style:none;align-items:center}
.nav-links a{text-decoration:none;color:var(--text);font-size:.92rem;font-weight:500;position:relative;transition:color .2s var(--ease)}
.nav-links a::after{content:'';position:absolute;left:0;bottom:-4px;width:0;height:1px;background:var(--ink);transition:width .25s var(--ease)}
.nav-links a:hover{color:var(--ink)}
.nav-links a:hover::after{width:100%}

.btn-primary{
    display:inline-flex;align-items:center;gap:8px;
    background:var(--ink);color:var(--cream);
    padding:12px 22px;border-radius:999px;
    font-size:.9rem;font-weight:500;letter-spacing:.005em;
    text-decoration:none;border:none;cursor:pointer;
    font-family:var(--sans);
    transition:all .25s var(--ease);
    position:relative;overflow:hidden;
}
.btn-primary::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--cyan-deep),var(--cyan));opacity:0;transition:opacity .25s var(--ease)}
.btn-primary span,.btn-primary svg{position:relative;z-index:1}
.btn-primary:hover::before{opacity:1}
.btn-primary svg{transition:transform .25s var(--ease)}
.btn-primary:hover svg{transform:translateX(3px)}
.hamburger{display:none;background:none;border:none;cursor:pointer;padding:8px;color:var(--ink)}

/* ============================================================ HERO */
.hero{
    position:relative;
    padding:90px 28px 100px;
    overflow:hidden;
    background:radial-gradient(ellipse at top right, #1a3a6b 0%, var(--ink) 55%, var(--ink-2) 100%);
    color:var(--cream);
    isolation:isolate;
}

/* Layer: animated mesh gradient blobs */
.hero-mesh{position:absolute;inset:-20%;pointer-events:none;z-index:0;filter:blur(60px);opacity:.55}
.hero-mesh .blob{position:absolute;border-radius:50%;mix-blend-mode:screen}
.hero-mesh .blob.b1{width:600px;height:600px;background:#1ba7d6;top:5%;right:-5%;animation:float1 16s ease-in-out infinite}
.hero-mesh .blob.b2{width:500px;height:500px;background:#2a6fa8;bottom:-10%;left:-10%;animation:float2 18s ease-in-out infinite}
.hero-mesh .blob.b3{width:400px;height:400px;background:#0e7fa8;top:40%;left:30%;animation:float3 14s ease-in-out infinite}
@keyframes float1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-60px,40px) scale(1.1)}}
@keyframes float2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(80px,-50px) scale(1.15)}}
@keyframes float3{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(40px,-40px) scale(.9)}66%{transform:translate(-30px,30px) scale(1.05)}}

/* Layer: world map dots */
.hero-map{position:absolute;inset:0;z-index:1;opacity:.18;pointer-events:none}
.hero-map svg{width:100%;height:100%}

/* Layer: SVG arc Sydney → Kathmandu */
.hero-arc{position:absolute;inset:0;z-index:2;pointer-events:none}
.hero-arc svg{width:100%;height:100%}
.arc-path{stroke:#1ba7d6;stroke-width:1.5;stroke-dasharray:4 8;fill:none;opacity:.4;animation:dash 4s linear infinite}
@keyframes dash{to{stroke-dashoffset:-24}}
.arc-glow{stroke:#1ba7d6;stroke-width:.8;fill:none;opacity:.3;filter:blur(2px)}
.arc-dot{fill:#fff;filter:drop-shadow(0 0 8px #1ba7d6)}
.arc-pin{fill:#1ba7d6}
.arc-pin-ring{fill:none;stroke:#1ba7d6;animation:pinPulse 2.5s ease-out infinite}
@keyframes pinPulse{0%{r:6;opacity:1}100%{r:24;opacity:0}}

/* Layer: particles canvas */
#particles{position:absolute;inset:0;z-index:2;pointer-events:none}

/* Layer: floating currency symbols */
.hero-fly{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.hero-fly span{
    position:absolute;
    font-family:var(--serif);
    font-style:italic;
    color:rgba(27,167,214,.18);
    font-size:1.8rem;
    font-weight:600;
    animation:rise linear infinite;
    user-select:none;
}
@keyframes rise{
    0%{transform:translateY(110vh) translateX(0);opacity:0}
    10%{opacity:1}
    90%{opacity:1}
    100%{transform:translateY(-20vh) translateX(40px);opacity:0}
}

/* Layer: mountain silhouettes */
.hero-mountains{position:absolute;bottom:0;left:0;right:0;z-index:3;pointer-events:none}
.hero-mountains svg{width:100%;display:block}
.mtn-back{fill:#0a1f3d;opacity:.6}
.mtn-mid{fill:#091b35;opacity:.85}
.mtn-front{fill:#050e1f}
.mtn-glow{fill:url(#mtnGlow)}

/* Hero content layer */
.hero-inner{
    max-width:1320px;margin:0 auto;
    display:grid;grid-template-columns:1.1fr 1fr;
    gap:80px;align-items:center;
    position:relative;z-index:5;
}

.eyebrow{
    display:inline-flex;align-items:center;gap:10px;
    font-family:var(--mono);
    font-size:11.5px;font-weight:500;
    letter-spacing:.16em;text-transform:uppercase;
    color:rgba(255,255,255,.6);
    margin-bottom:28px;
    padding:8px 16px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    border-radius:999px;
    backdrop-filter:blur(8px);
}
.eyebrow .pulse{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 0 rgba(27,167,214,.6);animation:eyepulse 2s infinite}
@keyframes eyepulse{70%{box-shadow:0 0 0 8px rgba(27,167,214,0)}}
.eyebrow b{color:#fff;font-weight:600}

h1.display{
    font-family:var(--serif);font-weight:400;
    font-size:clamp(2.6rem,6.2vw,5.4rem);
    line-height:1.02;letter-spacing:-.025em;
    color:#fff;
    font-variation-settings:"opsz" 144;
    margin-bottom:24px;
}
h1.display em{font-style:italic;font-weight:400;color:#fff}
h1.display .accent{
    font-style:italic;
    background:linear-gradient(135deg,#74d7f7 0%,#1ba7d6 100%);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
    position:relative;
}
h1.display .accent::after{
    content:'';position:absolute;left:0;right:0;bottom:6px;height:8px;
    background:radial-gradient(ellipse,rgba(27,167,214,.5),transparent 70%);
    filter:blur(8px);
}
.hero-sub{
    font-size:1.1rem;line-height:1.65;
    color:rgba(255,255,255,.75);
    max-width:520px;margin-bottom:36px;
}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-bottom:48px}
.btn-cta-light{
    display:inline-flex;align-items:center;gap:10px;
    background:var(--cream);color:var(--ink);
    padding:14px 26px;border-radius:999px;
    font-weight:500;font-size:.95rem;text-decoration:none;
    transition:all .25s var(--ease);
    box-shadow:0 8px 24px rgba(27,167,214,.25),0 0 0 0 var(--cyan);
}
.btn-cta-light:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(27,167,214,.35)}
.btn-cta-light svg{transition:transform .25s var(--ease)}
.btn-cta-light:hover svg{transform:translateX(4px)}
.btn-ghost-light{
    display:inline-flex;align-items:center;gap:8px;
    color:rgba(255,255,255,.85);
    padding:14px 0;font-weight:500;font-size:.95rem;text-decoration:none;
    border-bottom:1px solid rgba(255,255,255,.4);
    transition:all .2s var(--ease);
}
.btn-ghost-light:hover{color:var(--cyan-2);border-color:var(--cyan-2)}

.hero-trust{
    display:flex;gap:32px;align-items:center;flex-wrap:wrap;
    padding-top:32px;border-top:1px solid rgba(255,255,255,.12);
}
.trust-item{display:flex;align-items:center;gap:10px;font-size:.83rem;color:rgba(255,255,255,.6)}
.trust-item svg{color:var(--cyan-2)}
.trust-item strong{font-family:var(--mono);font-weight:500;color:#fff;font-size:.95rem;letter-spacing:-.01em}
.trust-divider{width:1px;height:28px;background:rgba(255,255,255,.12)}

/* ============================================================ CONVERTER */
.converter{
    background:var(--paper);
    border-radius:24px;padding:30px;
    box-shadow:
        0 1px 0 rgba(255,255,255,.5) inset,
        0 40px 80px -30px rgba(0,0,0,.5),
        0 20px 40px -15px rgba(0,0,0,.25);
    position:relative;
    border:1px solid rgba(255,255,255,.6);
    z-index:5;
}
.conv-glow{
    position:absolute;inset:-2px;
    background:linear-gradient(135deg,rgba(27,167,214,.4),rgba(20,49,92,.2),rgba(27,167,214,.4));
    border-radius:24px;
    z-index:-1;
    filter:blur(20px);
    opacity:.6;
    animation:glow 4s ease-in-out infinite;
}
@keyframes glow{50%{opacity:.9}}
.conv-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}
.conv-head h3{font-family:var(--serif);font-size:1.2rem;font-weight:600;font-style:italic;color:var(--ink);letter-spacing:-.01em;margin-bottom:2px}
.conv-head p{font-size:.78rem;color:var(--text-muted);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase}
.rate-live{
    display:inline-flex;align-items:center;gap:6px;
    font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
    color:var(--good);background:rgba(21,128,61,.08);padding:6px 12px;border-radius:999px;
}
.rate-live .pd{width:6px;height:6px;border-radius:50%;background:var(--good);animation:pulse 2.2s ease-in-out infinite}

.rate-banner{
    background:linear-gradient(135deg,var(--cream-2) 0%,#ebe4d3 100%);
    border:1px solid var(--hairline);border-radius:14px;padding:18px 20px;margin-bottom:18px;
    position:relative;overflow:hidden;
}
.rate-banner::before{
    content:'';position:absolute;top:0;right:0;width:120px;height:120px;
    background:radial-gradient(circle,rgba(27,167,214,.2),transparent 70%);
    transform:translate(40%,-40%);
}
.rate-banner-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;position:relative}
.rate-banner-value{font-family:var(--mono);font-feature-settings:"tnum";font-size:1.8rem;font-weight:500;color:var(--ink);letter-spacing:-.02em;line-height:1;position:relative}
.rate-banner-value .unit{color:var(--text-muted);font-size:1rem;margin-left:4px}
.rate-banner-foot{margin-top:10px;font-size:.8rem;color:var(--text-soft);display:flex;justify-content:space-between;position:relative}
.rate-trend{display:inline-flex;align-items:center;gap:4px;color:var(--good);font-family:var(--mono);font-weight:500}

.fx-row{
    position:relative;border:1px solid var(--hairline);border-radius:14px;padding:14px 18px;
    display:flex;align-items:center;gap:14px;background:var(--paper);transition:all .25s var(--ease);
}
.fx-row:focus-within{border-color:var(--cyan);box-shadow:0 0 0 4px rgba(27,167,214,.12)}
.fx-row + .fx-row{margin-top:8px}
.fx-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);position:absolute;top:10px;left:18px}
.fx-input{flex:1;border:none;outline:none;background:transparent;font-family:var(--mono);font-feature-settings:"tnum";font-size:1.7rem;font-weight:500;color:var(--ink);letter-spacing:-.02em;padding-top:18px;width:100%;min-width:0}
.fx-input::-webkit-outer-spin-button,.fx-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.fx-input[type=number]{-moz-appearance:textfield}
.fx-currency{display:flex;align-items:center;gap:10px;padding-left:12px;border-left:1px solid var(--hairline);margin-top:12px}
.fx-flag{width:30px;height:30px;border-radius:50%;display:inline-grid;place-items:center;font-size:18px;background:var(--cream);border:1px solid var(--hairline);overflow:hidden}
.fx-currency b{font-family:var(--sans);font-weight:600;color:var(--ink);font-size:.95rem}

.fx-swap-wrap{position:relative;height:0}
.fx-swap{
    position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
    width:40px;height:40px;border-radius:50%;
    background:var(--ink);color:var(--cream);border:4px solid var(--paper);
    display:grid;place-items:center;cursor:pointer;
    transition:transform .35s var(--ease),background .25s var(--ease);
    z-index:2;
}
.fx-swap:hover{transform:translate(-50%,-50%) rotate(180deg);background:var(--cyan-deep)}

.conv-meta{display:flex;justify-content:space-between;margin:18px 4px 0;font-size:.84rem;color:var(--text-soft)}
.conv-meta b{font-family:var(--mono);color:var(--ink);font-weight:500}

.conv-cta{
    display:flex;align-items:center;justify-content:center;gap:10px;
    width:100%;margin-top:18px;padding:17px;
    background:var(--ink);color:var(--cream);text-align:center;
    border-radius:14px;font-family:var(--sans);font-size:1rem;font-weight:500;
    text-decoration:none;border:none;cursor:pointer;
    transition:all .25s var(--ease);
    position:relative;overflow:hidden;
}
.conv-cta::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--cyan-deep),var(--cyan));opacity:0;transition:opacity .25s var(--ease)}
.conv-cta>*{position:relative;z-index:1}
.conv-cta:hover::before{opacity:1}
.conv-cta svg{transition:transform .25s var(--ease)}
.conv-cta:hover svg{transform:translateX(5px)}

.conv-secure{margin-top:14px;display:flex;justify-content:center;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}

/* Floating accent badges around converter */
.conv-badge{
    position:absolute;background:var(--ink-2);color:#fff;
    padding:8px 14px;border-radius:999px;
    font-family:var(--mono);font-size:11px;letter-spacing:.06em;
    display:flex;align-items:center;gap:6px;
    box-shadow:0 8px 20px rgba(0,0,0,.3);
    animation:bobble 6s ease-in-out infinite;
}
.conv-badge.cb1{top:-18px;left:-18px;animation-delay:-2s}
.conv-badge.cb2{bottom:-12px;right:-12px;background:var(--cyan);color:var(--ink)}
@keyframes bobble{50%{transform:translateY(-6px)}}

/* ============================================================ TICKER */
.ticker{
    background:var(--ink-2);color:rgba(255,255,255,.75);
    padding:18px 0;overflow:hidden;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);
    position:relative;
}
.ticker-track{display:flex;gap:60px;width:max-content;animation:ticker 38s linear infinite}
.ticker-item{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:13px;letter-spacing:.04em;white-space:nowrap}
.ticker-item svg{flex-shrink:0;color:var(--cyan-2)}
.ticker-item b{color:#fff;font-weight:500}
@keyframes ticker{to{transform:translateX(-50%)}}

/* ============================================================ STATS */
.stat-strip{background:var(--cream);padding:60px 28px;border-bottom:1px solid var(--hairline);position:relative;overflow:hidden}
.stat-strip::before{
    content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    width:800px;height:800px;border-radius:50%;
    background:radial-gradient(circle,rgba(27,167,214,.06),transparent 70%);
}
.stat-strip-inner{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:40px;align-items:center;position:relative}
.stat{display:flex;flex-direction:column;gap:6px}
.stat-value{font-family:var(--serif);font-style:italic;font-weight:600;font-size:2.6rem;color:var(--ink);font-variation-settings:"opsz" 144;letter-spacing:-.02em;line-height:1}
.stat-label{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-soft)}

/* ============================================================ SECTIONS */
section.block{padding:120px 28px;position:relative;overflow:hidden}
.block-inner{max-width:1320px;margin:0 auto;position:relative}

.section-head{margin-bottom:64px;max-width:720px}
.section-eyebrow{
    display:inline-flex;align-items:center;gap:8px;
    font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan-deep);margin-bottom:18px;
}
.section-eyebrow::before{content:'';width:18px;height:1px;background:var(--cyan-deep)}
.section-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.1rem,4.8vw,3.4rem);line-height:1.06;letter-spacing:-.02em;color:var(--ink);margin-bottom:18px;font-variation-settings:"opsz" 144}
.section-head h2 em{font-style:italic;color:var(--navy);font-weight:400}
.section-head p{font-size:1.05rem;color:var(--text-soft);line-height:1.65;max-width:560px}

/* Floating orb decorations */
.orb{position:absolute;border-radius:50%;pointer-events:none;filter:blur(40px)}
.orb.cyan{background:rgba(27,167,214,.12)}
.orb.navy{background:rgba(20,49,92,.08)}

/* ============================================================ HOW */
.how{background:var(--paper);border-bottom:1px solid var(--hairline)}
.how .orb-1{width:400px;height:400px;top:-100px;right:-100px}
.how .orb-2{width:300px;height:300px;bottom:-80px;left:-50px}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:step;position:relative}
.steps::before{content:'';position:absolute;left:8%;right:8%;top:42px;height:2px;background:linear-gradient(90deg,transparent,var(--cyan) 20%,var(--cyan) 80%,transparent);opacity:.3}
.step{position:relative}
.step-icon-wrap{position:relative;width:84px;height:84px;margin-bottom:24px}
.step-icon{
    width:84px;height:84px;border-radius:50%;
    background:linear-gradient(135deg,var(--cream),var(--paper));
    border:1px solid var(--hairline);
    display:grid;place-items:center;
    color:var(--cyan-deep);
    position:relative;z-index:1;
    transition:all .35s var(--ease);
    box-shadow:0 4px 20px rgba(20,49,92,.08);
}
.step:hover .step-icon{transform:translateY(-4px) scale(1.05);box-shadow:0 12px 30px rgba(27,167,214,.25);color:var(--cyan-deep)}
.step:nth-child(1) .step-icon{background:linear-gradient(135deg,var(--ink),var(--navy));color:var(--cyan-2);border-color:var(--ink)}
.step-icon svg{width:32px;height:32px;transition:transform .35s var(--ease)}
.step:hover .step-icon svg{transform:scale(1.1)}
.step-num{
    position:absolute;top:-6px;right:-6px;
    width:26px;height:26px;border-radius:50%;
    background:var(--ink);color:var(--cream);
    display:grid;place-items:center;font-family:var(--mono);font-size:11px;font-weight:600;
    z-index:2;
}
.step h4{font-family:var(--serif);font-weight:600;font-size:1.3rem;color:var(--ink);margin-bottom:8px;font-variation-settings:"opsz" 144;letter-spacing:-.01em}
.step p{font-size:.93rem;line-height:1.6;color:var(--text-soft)}

/* ============================================================ ABOUT (with photo) */
.about{background:var(--cream)}
.about-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:80px;align-items:center}
.about-photo-wrap{
    position:relative;
    border-radius:24px;
    overflow:hidden;
    aspect-ratio:1/1.1;
    background:linear-gradient(135deg,#1a3a6b,#0a1f3d);
    box-shadow:0 30px 60px -20px rgba(20,49,92,.4);
}
.about-photo{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
    filter:saturate(.9) contrast(1.05);
}
.about-photo-overlay{
    position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(10,31,61,.2) 0%,rgba(10,31,61,.55) 60%,rgba(10,31,61,.92) 100%);
}
.about-photo-content{
    position:absolute;inset:0;
    padding:36px;
    color:var(--cream);
    display:flex;flex-direction:column;justify-content:space-between;
    z-index:2;
}
.about-photo-top{display:flex;justify-content:space-between;align-items:flex-start}
.location-pin{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.85);background:rgba(0,0,0,.35);padding:8px 14px;border-radius:999px;backdrop-filter:blur(10px)}
.location-pin .dot-loc{width:8px;height:8px;border-radius:50%;background:var(--cyan-2);box-shadow:0 0 0 4px rgba(27,167,214,.25);animation:pulse 2.2s ease-in-out infinite}
.about-photo-arc{position:absolute;inset:0;z-index:1;pointer-events:none}
.about-photo-arc svg{width:100%;height:100%}
.about-photo-bottom{position:relative;z-index:2}
.namaste{font-family:var(--serif);font-style:italic;font-size:3rem;font-weight:400;line-height:1;color:var(--cyan-2);margin-bottom:14px;letter-spacing:-.01em}
.about-photo-bottom h3{font-family:var(--serif);font-weight:400;font-size:1.7rem;line-height:1.15;color:#fff;margin-bottom:10px;letter-spacing:-.01em}
.about-photo-bottom h3 em{font-style:italic;color:var(--cyan-2)}
.about-photo-bottom p{font-size:.93rem;line-height:1.65;color:rgba(255,255,255,.75);max-width:340px}

.about-text h2{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,3.8vw,2.9rem);line-height:1.1;letter-spacing:-.02em;color:var(--ink);margin-bottom:26px}
.about-text h2 em{font-style:italic;color:var(--navy)}
.about-text p{font-size:1rem;line-height:1.75;color:var(--text-soft);margin-bottom:18px}
.about-pillars{margin-top:36px;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.pillar{border-top:1px solid var(--hairline);padding-top:20px;transition:transform .25s var(--ease)}
.pillar:hover{transform:translateY(-3px)}
.pillar-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,rgba(27,167,214,.15),rgba(27,167,214,.05));display:grid;place-items:center;color:var(--cyan-deep);margin-bottom:14px;transition:all .25s var(--ease)}
.pillar:hover .pillar-icon{background:var(--cyan);color:var(--paper);transform:scale(1.08)}
.pillar h5{font-family:var(--serif);font-weight:600;font-size:1.1rem;color:var(--ink);margin-bottom:4px;letter-spacing:-.005em}
.pillar p{font-size:.88rem;line-height:1.55;color:var(--text-soft);margin:0}

/* ============================================================ WHY US (rich cards) */
.why{background:var(--paper);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);position:relative}
.why .orb-1{width:500px;height:500px;top:10%;right:-150px}
.why .orb-2{width:300px;height:300px;bottom:10%;left:-100px}

.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;position:relative}
.feat-card{
    background:linear-gradient(135deg,var(--cream),#f5f0e6);
    border:1px solid var(--hairline);
    border-radius:20px;
    padding:36px 30px;
    position:relative;
    overflow:hidden;
    transition:all .35s var(--ease);
}
.feat-card::before{
    content:'';position:absolute;inset:0;
    background:linear-gradient(135deg,rgba(27,167,214,.06),transparent 60%);
    opacity:0;transition:opacity .35s var(--ease);
}
.feat-card:hover{transform:translateY(-6px);border-color:var(--cyan);box-shadow:0 24px 50px -15px rgba(27,167,214,.25)}
.feat-card:hover::before{opacity:1}
.feat-num{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--text-muted);margin-bottom:24px;position:relative}
.feat-icon-wrap{
    width:56px;height:56px;border-radius:14px;
    background:linear-gradient(135deg,var(--ink),var(--navy));
    display:grid;place-items:center;color:var(--cyan-2);
    margin-bottom:22px;position:relative;
    transition:all .35s var(--ease);
}
.feat-card:hover .feat-icon-wrap{background:linear-gradient(135deg,var(--cyan-deep),var(--cyan));color:#fff;transform:rotate(-6deg) scale(1.05)}
.feat-icon-wrap svg{width:28px;height:28px}
.feat-card h4{font-family:var(--serif);font-weight:600;font-size:1.35rem;color:var(--ink);margin-bottom:10px;letter-spacing:-.01em;font-variation-settings:"opsz" 24;position:relative}
.feat-card p{font-size:.93rem;line-height:1.6;color:var(--text-soft);position:relative}

/* ============================================================ TESTIMONIALS (new section) */
.testimonials{background:var(--cream);position:relative;overflow:hidden}
.testimonials .orb-1{width:400px;height:400px;top:0;left:-100px}
.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.test-card{
    background:var(--paper);
    border:1px solid var(--hairline);
    border-radius:20px;padding:32px;
    position:relative;
    transition:transform .25s var(--ease),box-shadow .25s var(--ease);
}
.test-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -15px rgba(20,49,92,.15)}
.test-quote-mark{
    font-family:var(--serif);font-style:italic;font-size:4rem;line-height:1;
    color:var(--cyan);opacity:.4;position:absolute;top:18px;right:24px;
}
.test-stars{display:flex;gap:3px;margin-bottom:18px;color:#f59e0b}
.test-stars svg{width:14px;height:14px;fill:currentColor}
.test-card p{font-family:var(--serif);font-size:1.05rem;line-height:1.55;color:var(--ink);margin-bottom:24px;letter-spacing:-.005em}
.test-author{display:flex;align-items:center;gap:14px;padding-top:18px;border-top:1px solid var(--hairline)}
.test-avatar{
    width:46px;height:46px;border-radius:50%;
    background:linear-gradient(135deg,var(--navy),var(--cyan));
    display:grid;place-items:center;
    color:var(--cream);font-family:var(--serif);font-weight:600;font-size:1.05rem;font-style:italic;
    overflow:hidden;flex-shrink:0;
}
.test-avatar img{width:100%;height:100%;object-fit:cover}
.test-author-info h5{font-family:var(--sans);font-weight:600;font-size:.95rem;color:var(--ink);margin-bottom:2px}
.test-author-info span{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--text-muted)}

/* ============================================================ PARTNERS / BANKS strip */
.partners{background:var(--paper);padding:50px 28px;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.partners-inner{max-width:1320px;margin:0 auto;display:flex;align-items:center;gap:48px;flex-wrap:wrap}
.partners-label{
    font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);
    flex-shrink:0;max-width:160px;line-height:1.5;
}
.partners-logos{display:flex;align-items:center;gap:40px;flex-wrap:wrap;flex:1;justify-content:space-around}
.partner-logo{
    font-family:var(--serif);font-style:italic;font-weight:600;font-size:1.15rem;
    color:var(--text-muted);letter-spacing:-.01em;
    transition:color .2s var(--ease);
    white-space:nowrap;
}
.partner-logo:hover{color:var(--ink)}
.partner-logo span{font-family:var(--sans);font-weight:700;font-style:normal;font-size:.95rem;letter-spacing:0;margin-right:6px}

/* ============================================================ FAQ */
.faq-section{background:var(--cream);position:relative;overflow:hidden}
.faq-section .orb-1{width:400px;height:400px;bottom:-100px;right:-100px}
.faq-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:80px;align-items:start;position:relative}
.faq-list{border-top:1px solid var(--hairline-2)}
.faq-item{border-bottom:1px solid var(--hairline-2);padding:22px 0;cursor:pointer;transition:padding .3s var(--ease)}
.faq-q{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.faq-q-left{display:flex;gap:24px;flex:1}
.faq-q-num{font-family:var(--mono);font-size:.86rem;color:var(--text-muted);letter-spacing:.04em;padding-top:5px;min-width:28px}
.faq-q-text{font-family:var(--serif);font-weight:500;font-size:1.2rem;line-height:1.35;color:var(--ink);letter-spacing:-.005em;flex:1}
.faq-toggle{width:30px;height:30px;border-radius:50%;border:1px solid var(--hairline-2);display:grid;place-items:center;flex-shrink:0;transition:all .3s var(--ease);color:var(--text-soft);margin-top:4px}
.faq-item.open .faq-toggle{background:var(--ink);color:var(--cream);border-color:var(--ink);transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease),padding .4s var(--ease);font-size:.96rem;line-height:1.7;color:var(--text-soft);padding-left:52px}
.faq-item.open .faq-a{max-height:300px;padding-top:16px}

/* ============================================================ CONTACT */
.contact-section{background:var(--paper);border-top:1px solid var(--hairline);position:relative;overflow:hidden}
.contact-section .orb-1{width:500px;height:500px;top:-100px;right:-150px}
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:90px;position:relative}
.contact-side .greeting{font-family:var(--serif);font-style:italic;font-size:4rem;font-weight:400;color:var(--cyan-deep);line-height:1;margin-bottom:8px;letter-spacing:-.02em}
.contact-side .greeting-en{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin-bottom:32px}
.contact-side p{color:var(--text-soft);font-size:1rem;line-height:1.65;margin-bottom:36px;max-width:380px}
.contact-channels{list-style:none}
.contact-channels li{padding:18px 0;border-top:1px solid var(--hairline);display:flex;justify-content:space-between;align-items:center;gap:16px;transition:padding-left .25s var(--ease)}
.contact-channels li:hover{padding-left:8px}
.contact-channels li:last-child{border-bottom:1px solid var(--hairline)}
.contact-channels .ch-label{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}
.contact-channels .ch-value{font-family:var(--sans);font-weight:500;color:var(--ink);font-size:.95rem;text-decoration:none;transition:color .2s var(--ease)}
.contact-channels .ch-value:hover{color:var(--cyan-deep)}

.contact-form-wrap{background:var(--cream);border:1px solid var(--hairline);border-radius:24px;padding:36px;position:relative;overflow:hidden}
.contact-form-wrap::before{content:'';position:absolute;top:-50px;right:-50px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(27,167,214,.15),transparent 70%)}
.contact-form-wrap h3{font-family:var(--serif);font-weight:500;font-size:1.4rem;color:var(--ink);margin-bottom:24px;letter-spacing:-.01em;position:relative}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;position:relative}
.field{margin-bottom:14px;position:relative}
.field label{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}
.field input,.field select,.field textarea{width:100%;padding:13px 16px;background:var(--paper);border:1px solid var(--hairline);border-radius:10px;font-family:var(--sans);font-size:.95rem;color:var(--ink);outline:none;transition:all .2s var(--ease)}
.field textarea{min-height:120px;resize:vertical;font-family:var(--sans)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 4px rgba(27,167,214,.12)}
.honeypot{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.form-submit{margin-top:8px;width:100%;padding:16px;background:var(--ink);color:var(--cream);border:none;border-radius:12px;font-family:var(--sans);font-weight:500;font-size:.98rem;cursor:pointer;transition:all .25s var(--ease);display:flex;align-items:center;justify-content:center;gap:8px;position:relative;overflow:hidden}
.form-submit::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--cyan-deep),var(--cyan));opacity:0;transition:opacity .25s var(--ease)}
.form-submit>*{position:relative;z-index:1}
.form-submit:hover::before{opacity:1}
.form-status{margin-top:12px;text-align:center;font-size:.88rem;min-height:20px}

/* ============================================================ POLICIES */
.policies{background:var(--cream)}
.policy-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:48px;border-bottom:1px solid var(--hairline-2)}
.policy-tab{background:transparent;border:none;font-family:var(--sans);font-size:.95rem;font-weight:500;color:var(--text-muted);padding:14px 22px 16px;cursor:pointer;position:relative;transition:color .2s var(--ease)}
.policy-tab:hover{color:var(--ink)}
.policy-tab.active{color:var(--ink)}
.policy-tab.active::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ink)}
.policy-content{display:none;max-width:820px}
.policy-content.active{display:block;animation:fadeIn .35s var(--ease)}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.policy-content .updated{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:24px}
.policy-content h4{font-family:var(--serif);font-weight:600;font-size:1.2rem;color:var(--ink);margin:28px 0 10px;letter-spacing:-.005em}
.policy-content h4:first-of-type{margin-top:0}
.policy-content p{font-size:.97rem;line-height:1.75;color:var(--text-soft);margin-bottom:12px}
.policy-content p strong{color:var(--ink);font-weight:600}

/* ============================================================ CTA */
.cta{background:var(--ink);color:var(--cream);padding:130px 28px;position:relative;overflow:hidden;isolation:isolate}
.cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 800px 400px at 50% 100%,rgba(27,167,214,.3),transparent 60%),radial-gradient(ellipse 600px 300px at 90% 0%,rgba(27,167,214,.2),transparent 60%)}
.cta-mtn{position:absolute;bottom:0;left:0;right:0;z-index:0;opacity:.4}
.cta-mtn svg{width:100%;display:block}
.cta-inner{max-width:920px;margin:0 auto;text-align:center;position:relative;z-index:2}
.cta h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,5.5vw,4rem);line-height:1.05;letter-spacing:-.02em;margin-bottom:24px}
.cta h2 em{font-style:italic;background:linear-gradient(135deg,#74d7f7,#1ba7d6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.cta p{font-size:1.1rem;color:rgba(255,255,255,.7);max-width:560px;margin:0 auto 40px;line-height:1.6}
.cta-btn{display:inline-flex;align-items:center;gap:12px;background:var(--cream);color:var(--ink);padding:19px 40px;border-radius:999px;font-family:var(--sans);font-weight:500;font-size:1rem;text-decoration:none;transition:all .3s var(--ease);box-shadow:0 14px 40px rgba(27,167,214,.3)}
.cta-btn:hover{background:var(--cyan-2);transform:translateY(-3px);box-shadow:0 20px 50px rgba(27,167,214,.5)}
.cta-btn svg{transition:transform .3s var(--ease)}
.cta-btn:hover svg{transform:translateX(4px)}

/* ============================================================ FOOTER */
footer{background:#050e1f;color:rgba(255,255,255,.6);padding:90px 28px 30px;position:relative;overflow:hidden}
footer::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:600px;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent)}
.foot-inner{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:60px;padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.08)}
.foot-brand .brand{margin-bottom:22px}
.foot-brand .brand-name{color:var(--cream)}
.foot-brand p{font-size:.88rem;line-height:1.7;color:rgba(255,255,255,.55);max-width:320px;margin-bottom:24px}
.foot-socials{display:flex;gap:10px}
.foot-socials a{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.75);display:grid;place-items:center;text-decoration:none;transition:all .2s var(--ease)}
.foot-socials a:hover{background:var(--cyan);color:var(--ink);transform:translateY(-2px)}
.foot-col h5{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:18px}
.foot-col ul{list-style:none}
.foot-col ul li{margin-bottom:12px}
.foot-col ul a{color:rgba(255,255,255,.7);text-decoration:none;font-size:.9rem;transition:color .2s var(--ease)}
.foot-col ul a:hover{color:var(--cyan)}
.foot-bottom{max-width:1320px;margin:0 auto;padding-top:30px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:rgba(255,255,255,.35)}
.foot-bottom a{color:rgba(255,255,255,.5);text-decoration:none;margin-left:16px}
.foot-bottom a:hover{color:var(--cyan)}

/* ============================================================ MOBILE */
@media (max-width:1024px){
    .hero-inner{grid-template-columns:1fr;gap:60px}
    .about-grid{grid-template-columns:1fr;gap:50px}
    .faq-grid{grid-template-columns:1fr;gap:40px}
    .contact-grid{grid-template-columns:1fr;gap:50px}
    .feat-grid{grid-template-columns:1fr 1fr}
    .test-grid{grid-template-columns:1fr;gap:20px}
    .foot-inner{grid-template-columns:1fr 1fr;gap:40px}
    .stat-strip-inner{grid-template-columns:1fr 1fr;gap:32px}
    .partners-inner{flex-direction:column;gap:24px;text-align:center}
}
@media (max-width:720px){
    .nav-links{display:none}
    .hamburger{display:block}
    section.block{padding:80px 22px}
    .hero{padding:60px 22px 80px}
    .stat-strip{padding:40px 22px}
    .stat-value{font-size:1.8rem}
    .steps{grid-template-columns:1fr 1fr;gap:30px 20px}
    .steps::before{display:none}
    .feat-grid{grid-template-columns:1fr}
    .foot-inner{grid-template-columns:1fr;gap:40px}
    .foot-bottom{flex-direction:column;align-items:flex-start}
    .contact-form-wrap{padding:24px}
    .form-row{grid-template-columns:1fr}
    .topbar-inner{flex-direction:column;gap:4px;padding:8px 22px;font-size:11px}
    .contact-side .greeting{font-size:3rem}
    .namaste{font-size:2.4rem}
}

.mobile-menu{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--cream);z-index:200;padding:24px 22px;display:none;flex-direction:column}
.mobile-menu.open{display:flex}
.mobile-menu .mm-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}
.mobile-menu ul{list-style:none}
.mobile-menu ul li{border-bottom:1px solid var(--hairline)}
.mobile-menu ul li a{display:block;padding:22px 0;text-decoration:none;font-family:var(--serif);font-size:1.5rem;font-weight:500;color:var(--ink)}
.mobile-menu .btn-primary{margin-top:32px;justify-content:center;padding:16px}

/* Reveal animations */
.fade-up{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.fade-up.in{opacity:1;transform:none}
.fade-up.d1{transition-delay:.1s}
.fade-up.d2{transition-delay:.2s}
.fade-up.d3{transition-delay:.3s}
.fade-up.d4{transition-delay:.4s}
