:root{--sky-mist:#f3f8fb;--sky-pale:#e3f0f6;--sky-soft:#b8d9e8;--sky:#5ba8c9;--sky-mid:#3a8fb0;--sky-deep:#1f6f8b;--sky-ink:#163a4a;--bg:#f7fbfc;--surface:#fff;--ink:#1a2f38;--ink-soft:#5a7380;--line:#d0e4ee;--header-bg:#f7fbfcdb;--on-accent:#fff;--btn-primary-hover:#185a73;--focus-ring:#5ba8c947;--card-shadow:#1f6f8b2e;--breathe-center:#f7fbfc;--accent-panel:linear-gradient(165deg, #1f6f8b 0%, #2a7fa0 45%, #3a8fb0 100%);--hero-wash:radial-gradient(ellipse 80% 60% at 85% 20%, #5ba8c938 0%, transparent 60%), radial-gradient(ellipse 70% 50% at 10% 80%, #e3f0f6e6 0%, transparent 55%), linear-gradient(180deg, var(--sky-mist) 0%, var(--bg) 72%);--radius:16px;--radius-sm:10px;--max:1320px;--pad-x:clamp(20px, 4vw, 48px);--section-y:clamp(48px, 6vw, 68px)}[data-theme=dark]{--sky-mist:#0e1a21;--sky-pale:#15242d;--sky-soft:#2a4a5a;--sky:#6bb4d0;--sky-mid:#5aa3c0;--sky-deep:#8cc6dc;--sky-ink:#c5dce6;--bg:#0b1419;--surface:#122028;--ink:#e4eef2;--ink-soft:#95aeb9;--line:#243640;--header-bg:#0b1419e6;--on-accent:#fff;--btn-primary-hover:#a0d4e6;--focus-ring:#6bb4d03d;--card-shadow:#0006;--breathe-center:#dceef5;--accent-panel:linear-gradient(165deg, #1a4f66 0%, #22607a 50%, #2a7090 100%);--hero-wash:radial-gradient(ellipse 80% 60% at 85% 15%, #5ba8c929 0%, transparent 55%), radial-gradient(ellipse 60% 45% at 5% 90%, #1f6f8b1f 0%, transparent 50%), linear-gradient(180deg, #0e1a21 0%, var(--bg) 75%)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;width:100%;font-family:Work Sans,sans-serif;line-height:1.65;transition:background-color .28s,color .28s;overflow-x:hidden}h1,h2,h3,.display{letter-spacing:-.015em;color:var(--ink);font-family:Newsreader,serif;font-weight:500;line-height:1.18}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{max-width:var(--max);padding:0 var(--pad-x);margin:0 auto}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--sky-mid);margin-bottom:12px;font-size:.72rem;font-weight:600;display:block}[data-theme=dark] .eyebrow{color:var(--sky)}section{padding:var(--section-y) 0}header{z-index:50;background:var(--header-bg);-webkit-backdrop-filter:blur(12px)saturate(1.1);backdrop-filter:blur(12px)saturate(1.1);border-bottom:1px solid var(--line);position:sticky;top:0}.nav{padding:14px var(--pad-x);max-width:var(--max);justify-content:space-between;align-items:center;gap:16px;margin:0 auto;display:flex;position:relative}.logo{align-items:center;gap:12px;display:flex}.psi-badge{background:linear-gradient(135deg, var(--sky-pale) 0%, var(--sky-mist) 100%);width:36px;height:36px;color:var(--sky-deep);border:1px solid var(--sky-soft);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.25rem;font-weight:700;line-height:1;display:inline-flex;box-shadow:0 2px 6px #1f6f8b14}[data-theme=dark] .psi-badge{background:linear-gradient(135deg, var(--sky-pale) 0%, #172b36 100%);color:var(--sky);border-color:#5ba8c940}.logo-text{flex-direction:column;display:flex}.logo-name{color:var(--sky-deep);letter-spacing:.03em;white-space:nowrap;font-family:Cormorant Garamond,Cinzel,Newsreader,serif;font-size:clamp(1.35rem,3.8vw,1.7rem);font-weight:700;line-height:1.1}[data-theme=dark] .logo-name{color:var(--sky-ink)}.logo span.logo-title{letter-spacing:.12em;color:var(--ink-soft);text-transform:uppercase;white-space:nowrap;margin-top:1px;font-family:Montserrat,Work Sans,sans-serif;font-size:clamp(.55rem,1.5vw,.62rem);font-style:normal;font-weight:600;display:block}.nav-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}nav{margin-left:auto}nav ul{gap:clamp(18px,2.5vw,28px);list-style:none;display:flex}nav ul li a{color:var(--ink-soft);font-size:.9rem;font-weight:500;transition:color .2s;position:relative}nav ul li a:hover{color:var(--sky-deep)}.nav-toggle{cursor:pointer;color:var(--ink);background:0 0;border:none;width:44px;height:44px;font-size:1.4rem;line-height:1;display:none}.theme-toggle{border:1px solid var(--line);width:42px;height:42px;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.theme-toggle:hover{background:var(--sky-pale);border-color:var(--sky-soft);color:var(--sky-deep)}@media (width<=860px){nav{margin-left:0;position:absolute;top:100%;left:0;right:0}nav ul{background:var(--surface);padding:18px var(--pad-x) 22px;border-bottom:1px solid var(--line);box-shadow:0 16px 32px -20px var(--card-shadow);flex-direction:column;gap:4px;display:none}nav ul.open{display:flex}nav ul li a{padding:12px 4px;font-size:1rem;display:block}.nav-toggle{justify-content:center;align-items:center;display:flex}.nav-actions{margin-left:auto}}.hero{background:var(--hero-wash);padding:clamp(56px,9vw,100px) 0 clamp(72px,11vw,120px);position:relative;overflow:hidden}.hero-bg-overlay{opacity:.45;pointer-events:none;z-index:0;background-image:url(/hero-bg.jpg);background-position:50% 20%;background-repeat:no-repeat;background-size:cover;transition:opacity .3s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000000f2 0%,#00000080 60%,#0000 98%);mask-image:linear-gradient(#000000f2 0%,#00000080 60%,#0000 98%)}[data-theme=dark] .hero-bg-overlay{opacity:.32;filter:brightness(.9)contrast(1.15)}.hero-glow{pointer-events:none;background:radial-gradient(circle,#5ba8c933 0%,#0000 70%);border-radius:50%;width:min(520px,70vw);height:min(520px,70vw);position:absolute;top:10%;right:-8%}[data-theme=dark] .hero-glow{background:radial-gradient(circle,#5ba8c91f 0%,#0000 70%)}.hero .wrap{z-index:1;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(36px,6vw,64px);display:grid;position:relative}.hero h1{max-width:18ch;margin:10px 0 18px;font-size:clamp(2rem,4.6vw,3.35rem)}.hero h1 em{color:var(--sky-deep);font-style:italic}.hero p.lead{color:var(--ink-soft);max-width:52ch;margin-bottom:28px;font-size:clamp(1rem,1.6vw,1.1rem);line-height:1.7}.btn-row{flex-wrap:wrap;gap:12px;display:flex}.btn{border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:13px 26px;font-size:.92rem;font-weight:600;transition:background .2s,transform .2s,box-shadow .2s,border-color .2s;display:inline-flex}.btn-primary{background:var(--sky-deep);color:var(--on-accent);box-shadow:0 10px 28px -14px #1f6f8b8c}[data-theme=dark] .btn-primary{background:var(--sky-mid);color:#0b1419;box-shadow:none}.btn-primary:hover{background:var(--btn-primary-hover);transform:translateY(-1px)}.btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-ghost{border:1.5px solid var(--sky-soft);color:var(--sky-deep);background:0 0}.btn-ghost:hover{background:var(--sky-pale);border-color:var(--sky)}.breathe-wrap{justify-content:center;align-items:center;height:clamp(240px,36vw,340px);display:flex;position:relative}.breathe{background:radial-gradient(circle at 34% 30%, var(--breathe-center) 0%, var(--sky) 48%, var(--sky-deep) 100%);border-radius:50%;animation:7s ease-in-out infinite breathe;position:absolute;box-shadow:0 28px 56px -22px #1f6f8b66}.breathe.b1{opacity:.96;width:clamp(180px,26vw,230px);height:clamp(180px,26vw,230px)}.breathe.b2{opacity:.22;filter:blur(1px);width:clamp(180px,26vw,230px);height:clamp(180px,26vw,230px);animation-delay:.5s}.breathe.b3{opacity:.1;background:radial-gradient(circle, var(--sky-soft) 0%, transparent 70%);width:clamp(260px,38vw,320px);height:clamp(260px,38vw,320px);box-shadow:none;animation-delay:.9s}@keyframes breathe{0%,to{transform:scale(.9)}50%{transform:scale(1.06)}}@media (prefers-reduced-motion:reduce){.breathe{animation:none}}.breathe-label{z-index:2;color:#fff;text-align:center;text-shadow:0 2px 12px #163a4a40;font-family:Newsreader,serif;font-size:clamp(.95rem,1.5vw,1.05rem);font-style:italic;line-height:1.35;position:relative}@media (width<=900px){.hero .wrap{grid-template-columns:1fr;gap:36px}.hero h1{max-width:none}.hero-bg-overlay{background-position:top;-webkit-mask-image:radial-gradient(95% 75% at 50% 30%,#000 20%,#0000 85%),linear-gradient(#000 0%,#0000 90%);mask-image:radial-gradient(95% 75% at 50% 30%,#000 20%,#0000 85%),linear-gradient(#000 0%,#0000 90%)}.hero-glow{top:5%;left:50%;right:auto;transform:translate(-50%)}.breathe-wrap{width:100%;max-width:300px;height:220px;margin:8px auto 0}}@media (width<=480px){.btn{width:100%}.btn-row{flex-direction:column}}.horizon{background:linear-gradient(180deg, transparent, var(--bg));height:clamp(20px,3vw,36px);margin-top:-1px}.horizon.from-pale{background:linear-gradient(180deg, var(--sky-pale), var(--bg))}.sec-head{max-width:720px;margin-bottom:clamp(32px,5vw,48px)}.sec-head h2{font-size:clamp(1.55rem,3vw,2.15rem)}.sec-head p{color:var(--ink-soft);margin-top:12px;font-size:1rem;line-height:1.7}.about-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,64px);display:grid}.about-photo{aspect-ratio:3/4;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);width:100%;max-width:440px;box-shadow:0 20px 48px -18px var(--card-shadow);margin:0 auto;position:relative;overflow:hidden}.about-photo:after{content:"";pointer-events:none;background:radial-gradient(circle,#5ba8c940,#0000 70%);border-radius:50%;width:70%;height:55%;position:absolute;inset:auto -20% -30% auto}.about-img{object-fit:cover;object-position:center top;width:100%;height:100%;transition:transform .6s cubic-bezier(.16,1,.3,1);display:block}.about-photo:hover .about-img{transform:scale(1.03)}[data-theme=dark] .about-photo{background:var(--surface)}.about-body p:not(.quote){color:var(--ink-soft);font-size:1rem;line-height:1.75}.quote{color:var(--sky-ink);border-left:3px solid var(--sky);margin:18px 0 22px;padding-left:18px;font-family:Newsreader,serif;font-size:clamp(1.15rem,2vw,1.35rem);font-style:italic;line-height:1.4}[data-theme=dark] .quote{color:var(--ink)}.tag-row{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.tag{background:var(--sky-pale);color:var(--sky-deep);border:1px solid #0000;border-radius:999px;padding:7px 13px;font-size:.78rem;font-weight:600}[data-theme=dark] .tag{border-color:var(--line);background:var(--surface)}@media (width<=860px){.about-grid{grid-template-columns:1fr;gap:32px}.about-photo{aspect-ratio:3/4;width:100%;max-width:360px;height:auto;margin:0 auto}}.section-pale{background:radial-gradient(ellipse 60% 40% at 0% 0%, #5ba8c91a, transparent 55%), var(--sky-pale);position:relative;overflow:hidden}[data-theme=dark] .section-pale{background:radial-gradient(ellipse 50% 40% at 100% 0%, #5ba8c914, transparent 50%), var(--sky-pale)}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,18px);display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,3vw,28px);transition:transform .22s,box-shadow .22s,border-color .22s;position:relative;overflow:hidden}.card:before{content:"";background:linear-gradient(180deg, var(--sky), var(--sky-deep));opacity:.75;width:3px;position:absolute;top:0;bottom:0;left:0}.card-index{color:var(--sky);margin-bottom:10px;font-family:Newsreader,serif;font-size:.95rem;font-style:italic;display:block}.card h3{margin-bottom:8px;font-size:1.12rem}.card p{color:var(--ink-soft);font-size:.94rem;line-height:1.65}@media (width<=700px){.card-grid{grid-template-columns:1fr}}.steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,28px);display:grid}.step{border-left:2px solid var(--sky-soft);padding-left:18px;position:relative}.step .num{color:var(--sky-deep);margin-bottom:8px;font-family:Newsreader,serif;font-size:1.55rem;font-style:italic;line-height:1;display:block}.step h3{margin-bottom:6px;font-size:1.05rem}.step p{color:var(--ink-soft);font-size:.92rem;line-height:1.65}@media (width<=900px){.steps{grid-template-columns:1fr 1fr}}@media (width<=520px){.steps{grid-template-columns:1fr;gap:22px}}.faq-list{max-width:860px}.faq-item{border-bottom:1px solid var(--line)}.faq-q{text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:18px 0;font-family:Work Sans,sans-serif;font-size:clamp(.95rem,1.5vw,1.02rem);font-weight:600;display:flex}.faq-q .plus{color:var(--sky-deep);flex-shrink:0;font-size:1.35rem;line-height:1;transition:transform .25s}.faq-item.open .plus{transform:rotate(45deg)}.faq-a{max-height:0;color:var(--ink-soft);font-size:.95rem;transition:max-height .3s;overflow:hidden}.faq-a p{max-width:72ch;padding-bottom:18px;line-height:1.7}.contact-wrap{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:stretch;gap:clamp(28px,4vw,56px);display:grid}.contact-info{background:var(--accent-panel);color:var(--on-accent);border-radius:var(--radius);padding:clamp(28px,4vw,40px);position:relative;overflow:hidden}.contact-info:before{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff24,#0000 70%);border-radius:50%;width:220px;height:220px;position:absolute;bottom:-70px;right:-60px}.contact-info h3{color:inherit;margin-bottom:12px;font-size:clamp(1.2rem,2vw,1.35rem)}.contact-info>p{opacity:.9;max-width:44ch;margin-bottom:28px;font-size:.95rem}.contact-line{flex-direction:column;gap:4px;margin-bottom:18px;font-size:.95rem;display:flex}.contact-line .label{letter-spacing:.12em;text-transform:uppercase;opacity:.7;font-size:.72rem;font-weight:600}.contact-line a{text-underline-offset:3px;-webkit-text-decoration:underline #ffffff73;text-decoration:underline #ffffff73}.contact-line a:hover{text-decoration-color:#fff}.contact-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:16px;padding:clamp(22px,3.5vw,32px);display:flex}.field{flex-direction:column;display:flex}label{color:var(--ink-soft);margin-bottom:6px;font-size:.82rem;font-weight:600}input,textarea{border:1.5px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--ink);background:var(--bg);padding:13px 15px;font-family:Work Sans,sans-serif;font-size:.95rem;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus{border-color:var(--sky);box-shadow:0 0 0 4px var(--focus-ring);outline:none}textarea{resize:vertical;min-height:130px}.privacy-note{color:var(--ink-soft);font-size:.78rem;line-height:1.55}.form-status{font-size:.9rem;font-weight:500}.form-status.ok{color:var(--sky-deep)}.form-status.err{color:#b33}[data-theme=dark] .form-status.err{color:#f08080}@media (width<=860px){.contact-wrap{grid-template-columns:1fr}}footer{border-top:1px solid var(--line);background:var(--bg);padding:clamp(24px,4vw,36px) 0}footer .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}footer p{color:var(--ink-soft);font-size:.84rem}footer .socials{gap:18px;display:flex}footer .socials a:hover{text-decoration:underline}.reveal{opacity:1;transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);transform:translateY(0)}.reveal-delay-1{transition-delay:.12s}.reveal-delay-2{transition-delay:.24s}.reveal-delay-3{transition-delay:.36s}.reveal-delay-4{transition-delay:.48s}.breathe-wrap:before{content:"";border:1px dashed var(--sky-soft);opacity:.4;pointer-events:none;border-radius:50%;animation:25s linear infinite rotatePulse;position:absolute;inset:-15px}@keyframes rotatePulse{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.card{transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1),border-color .35s;position:relative;overflow:hidden}.card:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);width:60%;height:100%;transition:left .75s;position:absolute;top:0;left:-100%;transform:skew(-20deg)}[data-theme=dark] .card:after{background:linear-gradient(90deg,#0000,#ffffff14,#0000)}.card:hover:after{left:140%}.card:hover{box-shadow:0 22px 44px -16px var(--card-shadow);border-color:var(--sky-mid);transform:translateY(-8px)scale(1.015)}.step{transition:border-color .3s,transform .3s}.step:hover{border-left-color:var(--sky-deep);transform:translate(6px)}.step .num{transition:transform .3s cubic-bezier(.175,.885,.32,1.275),color .3s}.step:hover .num{color:var(--sky-mid);transform:scale(1.15)}.btn-primary{transition:transform .25s cubic-bezier(.175,.885,.32,1.275),background-color .25s,box-shadow .25s}.btn-primary:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 14px 32px -10px #1f6f8b80}.btn-primary:active{transform:translateY(0)scale(.98)}.btn-ghost{transition:transform .25s cubic-bezier(.175,.885,.32,1.275),background-color .25s,border-color .25s}.btn-ghost:hover{transform:translateY(-2px)}.theme-toggle{transition:transform .4s cubic-bezier(.34,1.56,.64,1),background-color .2s,border-color .2s}.theme-toggle:hover{transform:rotate(25deg)scale(1.1)}.theme-toggle:active{transform:rotate(-30deg)scale(.95)}.faq-item{transition:background-color .3s,padding .3s,border-radius .3s}.faq-item.open{background:var(--sky-pale);border-radius:var(--radius-sm);border-bottom-color:#0000;padding:0 16px}.faq-q .plus{transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.logo-name{transition:transform .35s cubic-bezier(.34,1.56,.64,1),color .3s}.logo:hover .logo-name{color:var(--sky-mid);transform:scale(1.06)rotate(-2deg)}input,textarea{transition:border-color .25s,box-shadow .25s,transform .25s}input:focus,textarea:focus{transform:translateY(-2px)}footer .socials a:hover{color:var(--sky-mid)}:focus-visible{outline:2px solid var(--sky-deep);outline-offset:2px}@media (width<=768px){.nav{padding:12px var(--pad-x)}.sec-head{margin-bottom:28px}.contact-info{padding:24px 20px}.contact-form{padding:22px 18px}}@media (width<=640px){.nav-actions{gap:4px}.nav-actions .btn-primary{height:34px!important;padding:6px 12px!important;font-size:.78rem!important}.theme-toggle,.nav-toggle{width:36px;height:36px}.hero{padding:36px 0 54px}.hero h1{margin:8px 0 14px;font-size:clamp(1.8rem,7.5vw,2.4rem)}.hero p.lead{margin-bottom:20px;font-size:.98rem}.breathe-wrap{height:180px;margin-top:12px}.about-photo{aspect-ratio:16/10;max-height:220px}.tag-row{gap:6px;margin-top:16px}.tag{padding:5px 10px;font-size:.74rem}footer .wrap{text-align:center;flex-direction:column;gap:10px}}@media (width<=480px){.btn-row{flex-direction:column;width:100%}.btn{width:100%}.card{padding:20px 16px}input,textarea{padding:11px 13px;font-size:1rem!important}}@media (width<=380px){.logo span.logo-title,.nav-actions .btn-primary{display:none}}
