/* StarVisible homepage v9 preview: "the bridge to customers". Rebuilt from the Lovable draft (10 Nov 2026) as plain HTML/CSS/JS. Not uploaded. */
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/playfair-display-latin-400-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/playfair-display-latin-ext-400-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:400;font-display:swap;src:url("/assets/fonts/playfair-display-latin-400-italic.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/inter-tight-latin-400-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/inter-tight-latin-600-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212}
/* Romanian (ă ș ț) and Russian letters: same fonts, loaded only on pages that use them */
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:400;font-display:swap;src:url("/assets/fonts/playfair-display-latin-ext-400-italic.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/playfair-display-cyrillic-400-normal.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:400;font-display:swap;src:url("/assets/fonts/playfair-display-cyrillic-400-italic.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/inter-tight-latin-ext-400-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/inter-tight-latin-ext-600-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/inter-tight-cyrillic-400-normal.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/inter-tight-cyrillic-600-normal.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}

/* One palette (black, gold, starlight) and one motion system (600ms / 1200ms, one curve) for the whole page */
:root{
  --bg:#0d0c0a;--bg2:#15130f;--card:#13120f;--line:rgba(232,192,106,.16);--hair:rgba(243,238,228,.1);
  --ink:#f3eee4;--soft:#a9a191;--gold:#e8c06a;--gold2:#c9953c;--on-gold:#1a1408;--glow:rgba(70,55,30,.45);--tile:#1a1610;--water:#100f0c;--earth:#26231d;
  --serif:"Playfair Display","Playfair Backup",Georgia,serif;--sans:"Inter Tight","Inter Tight Backup","Inter Tight Backup Droid",system-ui,sans-serif;
  --ease:cubic-bezier(.2,.7,.1,1);--fast:600ms;--slow:1200ms;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{background:var(--bg);margin:0}
.sv{font-family:var(--sans);color:var(--ink);background:var(--bg);min-height:100vh;overflow-x:clip;position:relative;line-height:1.6;font-size:17px}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.12;margin:0;letter-spacing:-.01em}
em{color:var(--gold);font-style:italic}
p{margin:0}
.wrap{width:min(1180px,100% - 32px);margin-inline:auto;position:relative;z-index:1}
.sec{padding:clamp(72px,10vw,128px) 0;border-top:1px solid var(--hair)}
.sec h2,.bridge h2{font-size:clamp(32px,5.4vw,54px);max-width:18ch}
.lead{color:var(--soft);max-width:56ch;margin-top:18px}
.note{font-size:14px;color:var(--soft);margin-top:20px;max-width:64ch}
.note a{color:var(--gold)}
.tag{display:inline-block;font-size:11px;letter-spacing:.08em;border:1px solid var(--line);color:var(--soft);padding:2px 9px;border-radius:99px}
.preview-tag{position:fixed;left:12px;bottom:12px;z-index:60;font-size:12px;background:var(--gold);color:var(--on-gold);padding:4px 11px;border-radius:99px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* Sky: fixed, quiet */
.sky{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(110% 60% at 70% -10%,var(--glow),transparent 60%)}
.sky svg{width:100%;height:100%}
.sky circle{fill:var(--ink);opacity:.8;animation:tw 4.8s var(--ease) infinite alternate}
.sky circle.g{fill:var(--gold)}
@keyframes tw{to{opacity:.2}}

/* Mosaic opening: about 1 second, added by JS only, never for reduced motion */
.mosaic{position:fixed;inset:0;z-index:90;pointer-events:none;display:grid;grid-template-columns:repeat(10,1fr);grid-template-rows:repeat(7,1fr);perspective:900px}
.mosaic i{--r:0;--c:0;animation-delay:calc((var(--r) + var(--c)) * 32ms)!important;background:var(--bg);border:1px solid rgba(232,192,106,.07);animation:tile var(--fast) var(--ease) both}
.mosaic i:nth-child(10n+1){--c:0}.mosaic i:nth-child(10n+2){--c:1}.mosaic i:nth-child(10n+3){--c:2}.mosaic i:nth-child(10n+4){--c:3}.mosaic i:nth-child(10n+5){--c:4}.mosaic i:nth-child(10n+6){--c:5}.mosaic i:nth-child(10n+7){--c:6}.mosaic i:nth-child(10n+8){--c:7}.mosaic i:nth-child(10n+9){--c:8}.mosaic i:nth-child(10n+10){--c:9}.mosaic i:nth-child(n+11){--r:1}.mosaic i:nth-child(n+21){--r:2}.mosaic i:nth-child(n+31){--r:3}.mosaic i:nth-child(n+41){--r:4}.mosaic i:nth-child(n+51){--r:5}.mosaic i:nth-child(n+61){--r:6}
@keyframes tile{60%{background:var(--tile);border-color:rgba(232,192,106,.35)}to{transform:rotateX(90deg) scale(.7);opacity:0}}

/* Nav */
.nav{display:flex;justify-content:space-between;align-items:center;padding:22px 0;gap:12px}
.logo{font-family:var(--serif);font-size:22px;text-decoration:none;display:inline-flex;align-items:center}
.logo svg{color:var(--gold);margin-right:7px}
.logo span{color:var(--gold)}
.nav nav{display:flex;gap:20px;font-size:15px;align-items:center;white-space:nowrap}
.nav nav a{text-decoration:none;color:var(--soft);transition:color var(--fast) var(--ease)}
.nav nav a:hover{color:var(--gold)}
.nav-cta{border:1px solid var(--line);padding:7px 15px;border-radius:99px;color:var(--gold)!important}
@media(max-width:640px){.nav nav a:not(.nav-cta):not(.nav-keep){display:none}.nav nav{gap:14px}}
.nav nav a[aria-current="page"]{color:var(--gold)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:99px;font:600 15px var(--sans);text-decoration:none;cursor:pointer;border:1px solid var(--hair);background:transparent;color:var(--ink);transition:border-color var(--fast) var(--ease),color var(--fast) var(--ease),background var(--fast) var(--ease)}
.btn:hover{border-color:var(--gold);color:var(--gold)}
.btn-gold{background:var(--gold);color:var(--on-gold);border-color:var(--gold)}
.btn-gold:hover{background:var(--ink);border-color:var(--ink);color:var(--on-gold)}

/* Hero */
.hero{display:grid;gap:48px;padding:40px 0 88px;align-items:center;min-height:calc(100svh - 92px)}
@media(min-width:960px){.hero{grid-template-columns:7fr 5fr;gap:64px}}
.hero h1{font-size:clamp(42px,8vw,88px)}
.hero .sub{color:var(--soft);font-size:clamp(17px,1.7vw,20px);margin-top:28px;max-width:46ch}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.demo{position:relative}
.search{display:flex;align-items:center;gap:10px;background:var(--bg2);border:1px solid var(--line);border-radius:99px;padding:14px 18px;font-size:15px;min-height:52px}
.search svg{flex:none;color:var(--soft)}
.query.typing::after{content:"";display:inline-block;width:1px;height:1.1em;background:var(--gold);vertical-align:-2px;margin-left:2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.answer{margin-top:14px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px}
.js .answer{opacity:0;transform:translateY(12px);transition:opacity var(--slow) var(--ease),transform var(--slow) var(--ease)}
.js .answer.show{opacity:1;transform:none}
.answer-h{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;color:var(--gold);margin-bottom:10px}
.answer p{color:var(--soft)}
.answer strong{color:var(--ink);font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.chips span{font-size:12px;border:1px solid var(--hair);border-radius:99px;padding:3px 10px;color:var(--soft)}

/* The bridge */
.bridge{padding:clamp(72px,10vw,128px) 0 40px;border-top:1px solid var(--hair);position:relative;z-index:1}
.bridge-grid{display:grid;gap:24px;margin-top:40px}
@media(min-width:900px){.bridge-grid{grid-template-columns:7fr 4fr;gap:64px}}
.stage{position:sticky;top:0;z-index:2;background:var(--bg);padding:12px 0;align-self:start}
@media(min-width:900px){.stage{top:12vh;height:76vh;display:flex;flex-direction:column;justify-content:center;background:none}}
.art{width:100%;height:auto;display:block;overflow:visible}
.stage-count{font-size:13px;color:var(--soft);margin-top:8px;text-align:right}
.stage-count span{color:var(--gold)}
.art .faint circle{fill:var(--soft);opacity:.5}
.art .star{fill:var(--soft);opacity:.25;transition:fill var(--fast) var(--ease),opacity var(--fast) var(--ease)}
.art .star.on{fill:var(--gold);opacity:1;filter:drop-shadow(0 0 6px var(--gold))}
.art .constellation{fill:none;stroke:var(--gold);stroke-width:1;stroke-dasharray:600;stroke-dashoffset:600;opacity:.7;transition:stroke-dashoffset var(--slow) var(--ease)}
.art.done .constellation{stroke-dashoffset:0}
.art .water{fill:var(--water)}
.art .waves path{fill:none;stroke:var(--hair);stroke-width:1.2;animation:wave 4.8s var(--ease) infinite alternate}
.art .waves path:nth-child(2){animation-delay:-1.6s}
.art .waves path:nth-child(3){animation-delay:-3.2s}
@keyframes wave{to{transform:translateX(-24px)}}
.art .bank,.art .shape{fill:var(--earth)}
.art .door{fill:var(--bg)}
.art .window{fill:var(--gold);opacity:.35;transition:opacity var(--slow) var(--ease)}
.art.done .window{opacity:1;filter:drop-shadow(0 0 14px var(--gold))}
.art .lbl{fill:var(--soft);font:16px var(--sans);text-anchor:middle}
.artbox{position:relative;container-type:inline-size}
.plbl{white-space:nowrap}
.plbl .ln{display:none;font-weight:600}
@container (max-width:620px){.plbl .lw{display:none}.plbl .ln{display:inline}}
.art .plank{transition:transform var(--fast) var(--ease)}
.art .plank rect{fill:var(--gold);stroke:var(--gold);stroke-width:2;transition:fill var(--fast) var(--ease),stroke var(--fast) var(--ease),opacity var(--fast) var(--ease)}
.art .plank line{stroke:var(--gold);stroke-width:3;transition:stroke var(--fast) var(--ease),opacity var(--fast) var(--ease)}
.js .art .plank{transform:translateY(5px)}
.js .art .plank rect{fill:none;stroke:var(--soft);stroke-dasharray:7 7;opacity:.4}
.js .art .plank line{stroke:var(--soft);stroke-dasharray:6 6;opacity:.3}
.js .art .plank.on{transform:none}
.js .art .plank.on rect{fill:var(--gold);stroke:var(--gold);stroke-dasharray:none;opacity:1}
.js .art .plank.on line{stroke:var(--gold);stroke-dasharray:none;opacity:1}
.plbl{position:absolute;top:63.65%;width:10.4%;transform:translate(-50%,-50%);text-align:center;font-size:12px;line-height:1.1;color:var(--on-gold);pointer-events:none;transition:color var(--fast) var(--ease)}
.plbl.p0{left:28.4%}.plbl.p1{left:39.2%}.plbl.p2{left:50%}.plbl.p3{left:60.8%}.plbl.p4{left:71.6%}
.js .plbl{color:var(--soft)}
.js .plbl.on{color:var(--on-gold)}
.art .bstar{fill:none;stroke:var(--gold);stroke-width:3;transition:opacity var(--fast) var(--ease)}
.js .art .bstar{opacity:calc(.2 + var(--built,0) * .16)}
.art .lbl.brand{font-size:14px;letter-spacing:.02em}
.art .person{fill:var(--ink);opacity:.85}
.art .people{transition:transform var(--slow) var(--ease)}
.art .people{transition:transform 2s var(--ease)}
.art.done .people{transform:translateX(-700px)}
.art.done .window{transition-duration:2s}

.planks{list-style:none;margin:0;padding:0}
.pcard{min-height:62vh;display:flex;flex-direction:column;justify-content:center;gap:12px;border-left:1px solid var(--hair);padding-left:24px;transition:opacity var(--fast) var(--ease),transform var(--fast) var(--ease),border-color var(--fast) var(--ease)}
.js .pcard{opacity:.75;transform:translateY(24px)}
[data-theme="light"].js .pcard{opacity:.95}
.js .pcard.on{opacity:1;transform:none;border-color:var(--gold)}
.pcard h3{font-size:clamp(28px,3vw,36px)}
.pcard p{color:var(--soft)}
.pnum{color:var(--gold);font-size:14px}
.fact{font-size:14px;border:1px solid var(--line);border-radius:12px;padding:10px 14px;color:var(--ink)!important}
.pcard.pend p{font-family:var(--serif);font-size:clamp(22px,2.4vw,28px);color:var(--ink)}
@media(min-width:900px){.pcard{min-height:76vh}}

/* Daniela numbers */
.stats{display:grid;gap:24px;margin:48px 0 0}
@media(min-width:800px){.stats{grid-template-columns:repeat(3,1fr);gap:40px}}
.stats div{display:flex;flex-direction:column-reverse;gap:10px;border-top:1px solid var(--line);padding-top:24px}
.stats dd{margin:0;font-family:var(--serif);font-size:clamp(56px,8vw,92px);line-height:1;color:var(--gold)}
.stats dt{color:var(--soft);font-size:15px}

/* Packages */
.pkgs{display:grid;gap:16px;margin-top:48px}
@media(min-width:640px){.pkgs{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.pkgs{grid-template-columns:repeat(4,1fr)}}
.pkg{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:10px;background:var(--card);border:1px solid var(--hair);border-radius:18px;padding:26px 24px;position:relative;transition:transform var(--fast) var(--ease),border-color var(--fast) var(--ease);color:var(--ink);font-family:var(--sans);line-height:1.55}
.pkg:hover{transform:translateY(-4px);border-color:var(--gold)}
.pkg:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.pkg-n{font-family:var(--serif);color:var(--gold);font-size:15px}
.pkg h3{font-size:27px}
.pkg .one{color:var(--soft);font-size:15px}
.pkg ul{margin:6px 0 0;padding-left:18px;font-size:14px;color:var(--soft)}
.pkg .go{margin-top:auto;padding-top:12px;font-size:14px;color:var(--gold)}
.pkg.premium{border-color:transparent;isolation:isolate}
.pkg.premium::before{content:"";position:absolute;inset:-1px;border-radius:19px;z-index:-2;background:conic-gradient(from var(--a,0deg),#e8c06a,#f39b7a,#c8a2e8,#8fd3c7,#e8e08a,#e8c06a);animation:spin 12s linear infinite;opacity:.8}
.pkg.premium::after{content:"";position:absolute;inset:1px;border-radius:17px;background:var(--card);z-index:-1}
.pkg.premium .go{color:var(--ink)}
@property --a{syntax:"<angle>";initial-value:0deg;inherits:false}
@keyframes spin{to{--a:360deg}}

/* About */
.about{display:grid;gap:40px;align-items:center}
@media(min-width:860px){.about{grid-template-columns:7fr 5fr}}
.about p{color:var(--soft);margin-top:18px;max-width:52ch}
.photo{position:relative;max-width:360px;justify-self:center;width:100%;isolation:isolate}
.photo img{width:100%;height:auto;display:block;border-radius:20px;border:1px solid var(--line)}
.photo::before{content:"";position:absolute;inset:-12px 12px 12px -12px;border:1px solid var(--gold);border-radius:22px;opacity:.35;z-index:-1}

/* Contact */
.contact{max-width:980px;margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:32px 22px;display:grid;gap:32px}
@media(min-width:820px){.contact{grid-template-columns:1fr 1fr;padding:48px;align-items:start}}
.contact h2{font-size:clamp(28px,4.4vw,40px)}
.gets{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:12px}
.gets li{display:flex;gap:10px;color:var(--soft)}
.gets li::before{content:"";flex:none;width:7px;height:7px;margin-top:.6em;transform:rotate(45deg);background:var(--gold)}
.form{display:grid;gap:14px}
.form label{display:grid;gap:6px;font-size:14px;color:var(--soft)}
.form input,.form textarea{font:16px var(--sans);color:var(--ink);background:var(--bg);border:1px solid var(--hair);border-radius:12px;padding:12px 14px;width:100%;transition:border-color var(--fast) var(--ease)}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--gold)}
.form .ok{font-size:14px;color:var(--gold)}

/* Start again */
.again{padding:clamp(80px,10vw,128px) 0 48px;border-top:1px solid var(--hair);display:grid;justify-items:center;text-align:center}
.restart{background:none;border:0;color:var(--ink);cursor:pointer;padding:8px 4px;font:400 clamp(30px,4.4vw,48px)/1.2 var(--serif);display:grid;justify-items:center}
.restart:hover .restart-t{color:var(--gold)}
.restart-t{transition:color var(--fast) var(--ease)}
.restart[disabled]{cursor:progress}
.restart[disabled] .restart-t{color:var(--soft)}
.restart-line{display:block;width:min(320px,70vw);height:1px;background:var(--hair);margin-top:18px}
.restart-line i{display:block;height:100%;width:0;background:var(--gold);box-shadow:0 0 8px var(--gold)}
.restart.going .restart-line i{width:100%;transition:width 5000ms linear}

/* Footer */
.foot{border-top:1px solid var(--hair);padding:28px 0 64px;font-size:14px;color:var(--soft);position:relative;z-index:1}
.foot .wrap{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center}
.foot-links a{text-decoration:none}
.foot-links a:hover{color:var(--gold)}

/* Premium: water ripple, then the page becomes a solar system */
.solar{position:fixed;inset:0;z-index:70;overflow:hidden;overflow:clip;color:var(--ink);font-family:var(--sans);line-height:1.55;background:radial-gradient(circle at 50% 52%,#211b10,var(--bg) 62%);clip-path:circle(0 at var(--x,50%) var(--y,50%));transition:clip-path var(--slow) var(--ease)}
.solar[hidden]{display:none}
.solar.open{clip-path:circle(150% at var(--x,50%) var(--y,50%))}
.ripples span{position:absolute;left:var(--x,50%);top:var(--y,50%);width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:50%;background:radial-gradient(circle,transparent 62%,rgba(232,192,106,.55) 68%,rgba(243,238,228,.25) 71%,transparent 76%);opacity:0;pointer-events:none}
.solar.open .ripples span{animation:ripple var(--slow) var(--ease) both}
.solar.open .ripples span:nth-child(2){animation-delay:140ms}
.solar.open .ripples span:nth-child(3){animation-delay:280ms}
.solar.open .ripples span:nth-child(4){animation-delay:420ms}
@keyframes ripple{from{transform:scale(0);opacity:1}to{transform:scale(48);opacity:0}}
.sv.rippling{animation:sway var(--slow) var(--ease)}
@keyframes sway{30%{transform:scale(.985);filter:brightness(.7)}to{transform:none}}
.solar-top{position:absolute;top:18px;left:0;right:0;padding:0 16px;text-align:center;display:grid;gap:6px;z-index:1;transition:transform var(--fast) var(--ease)}
.solar-h{font-size:clamp(20px,3vw,30px);opacity:0;transition:opacity var(--fast) var(--ease) .5s}
.solar-hint{font-size:14px;color:var(--soft);opacity:0;transition:opacity var(--fast) var(--ease) .6s}
.solar.open .solar-h,.solar.open .solar-hint{opacity:1}
.system{position:absolute;inset:112px 16px 92px;opacity:0;transform:scale(.9);transition:opacity var(--slow) var(--ease) .3s,transform var(--slow) var(--ease) .3s}
.solar.open .system{opacity:1;transform:none}
@media(min-width:701px){.solar.open.has-panel .system{transform:translateX(-190px);transition-delay:0s}.solar.has-panel .solar-top,.solar.has-panel .solar-foot{transform:translateX(-190px);transition:transform var(--fast) var(--ease)}}
.orbit{position:absolute;left:50%;top:50%;border:1px solid rgba(232,192,106,.16);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
.sun{position:absolute;left:50%;top:50%;width:clamp(78px,12vmin,128px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 40% 35%,#fff3cf,var(--gold) 45%,#a8822f);box-shadow:0 0 60px rgba(232,192,106,.55),0 0 160px rgba(232,192,106,.22);color:var(--on-gold);font:400 clamp(14px,2vmin,18px) var(--serif);isolation:isolate}
.sun::before{content:"";position:absolute;inset:-14px;border-radius:50%;z-index:-1;background:conic-gradient(from var(--a,0deg),rgba(232,192,106,.0),rgba(243,155,122,.35),rgba(200,162,232,.3),rgba(143,211,199,.3),rgba(232,192,106,0));filter:blur(10px);animation:spin 12s linear infinite}
.planet{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:0;padding:6px;color:var(--ink);font:600 13px/1.2 var(--sans);cursor:pointer;width:max-content;max-width:120px;border-radius:12px}
.planet i{width:14px;height:14px;border-radius:50%;background:var(--ink);box-shadow:0 0 10px rgba(243,238,228,.45);transition:background var(--fast) var(--ease),transform var(--fast) var(--ease)}
.planet span{text-align:center;text-shadow:0 1px 4px var(--bg),0 0 8px var(--bg)}
.planet:hover i,.planet.on i{background:var(--gold);transform:scale(1.5);box-shadow:0 0 14px var(--gold)}
.planet.on span{color:var(--gold)}
.panel{position:absolute;top:0;right:0;height:100%;width:min(380px,100%);padding:84px 28px 28px;background:var(--bg2);border-left:1px solid var(--line);display:flex;flex-direction:column;gap:14px;transform:translateX(100%);transition:transform var(--fast) var(--ease);z-index:2;overflow-y:auto}
.panel.on{transform:none}
.panel article{display:grid;gap:14px}
.panel article[hidden]{display:none}
.panel h3{font-size:30px;color:var(--gold)}
.panel p{color:var(--soft)}
.panel b{color:var(--ink);font-weight:600}
.panel-x{align-self:start}
.solar-foot{position:absolute;left:0;right:0;bottom:22px;transition:transform var(--fast) var(--ease);display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:0 16px}
.solar-foot .btn:not(.btn-gold){background:var(--bg)}

/* Package ride card (Free, Essential, Growth) */
.ride{position:fixed;inset:0;z-index:80;background:rgba(13,12,10,.9);display:grid;place-items:center;padding:16px;overflow-y:auto;animation:fade var(--fast) var(--ease);font-family:var(--sans);color:var(--ink);line-height:1.6}
.ride[hidden]{display:none}
@keyframes fade{from{opacity:0}}
.ride-box{width:min(680px,100%);background:var(--bg2);border:1px solid var(--line);border-radius:22px;padding:28px 22px;position:relative;animation:pop var(--fast) var(--ease)}
@keyframes pop{from{opacity:0;transform:translateY(16px)}}
.ride-box h3{font-size:clamp(28px,5vw,38px);padding-right:44px}
.ride-x{position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:99px;border:1px solid var(--hair);background:transparent;color:var(--ink);font-size:22px;cursor:pointer}
.ride-body{margin:22px 0 14px}
.ride-body>[data-body]{display:none}
.ride-body>.on{display:block}
.ride-list{margin:0 0 22px;padding-left:20px;color:var(--soft);font-size:15px;display:grid;gap:4px}
.ride-foot{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.flip{perspective:1000px;height:200px;cursor:pointer}
.flip-in{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform var(--slow) var(--ease)}
.flip.on .flip-in{transform:rotateY(180deg)}
.flip-f,.flip-b{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column;justify-content:center;gap:6px;background:var(--card)}
.flip-b{transform:rotateY(180deg)}
.flip h4{font-size:24px;color:var(--gold)}
.flip p{font-size:15px;color:var(--soft)}
.hint{font-size:13px;color:var(--gold);margin-top:6px}
.bars{display:flex;align-items:flex-end;gap:8px;height:120px}
.bars i{flex:1;background:linear-gradient(0deg,var(--gold2),var(--gold));border-radius:6px 6px 2px 2px;transform-origin:bottom;animation:grow var(--slow) var(--ease) both}
@keyframes grow{from{transform:scaleY(0)}}
.minis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.minis div{border:1px solid var(--hair);border-radius:12px;padding:10px;font-size:13px;color:var(--soft)}
.minis b{display:block;font-family:var(--serif);color:var(--ink);font-size:20px;font-weight:400}

/* Phones */
@media(max-width:899px){
  .pcard{padding-left:16px;min-height:52vh}
  .stage-count{margin-top:2px}
}
@media(max-width:700px){
  .system{inset:124px 8px 84px}
  .solar-h{font-size:20px}
  .solar-hint{font-size:13px}
  .planet{font-size:11px;max-width:80px;padding:4px}
  .planet i{width:12px;height:12px}
  .panel{top:auto;bottom:0;height:auto;max-height:62%;width:100%;border-left:0;border-top:1px solid var(--line);border-radius:20px 20px 0 0;padding:24px 22px 22px;transform:translateY(100%)}
}

/* Client results: real numbers, the client's own words only (empty until they send them) */
.cr-list{display:grid;gap:96px;margin-top:56px}
.cr-cols{display:grid;gap:32px;margin-top:8px}
@media(min-width:900px){.cr-cols{grid-template-columns:7fr 5fr;gap:56px;align-items:start}}
.cr-left,.cr-right{min-width:0;display:flex;flex-direction:column;gap:14px}
.cr-left .cr-compare,.cr-right .cr-quote{margin-top:0}
.cr-client{min-width:0;display:flex;flex-direction:column;gap:14px;border-top:1px solid var(--gold);padding-top:28px}
.cr-client h2{font-size:clamp(26px,3vw,34px)}
.cr-client h2 span{color:var(--soft)}
.cr-line{color:var(--soft);margin-top:4px}
.cr-site{display:inline-flex;gap:4px;margin-top:8px;color:var(--gold);text-underline-offset:3px}
.cr-client h3{margin-top:18px;font-family:var(--sans);font-size:15px;font-weight:600;color:var(--gold)}
.cr-work{list-style:none;margin:0;padding:0}
.cr-work li{padding:10px 0;border-bottom:1px solid var(--hair)}
.cr-ba{width:100%;border-collapse:collapse;font-size:15px;table-layout:fixed}
.cr-ba th,.cr-ba td{text-align:left;padding:10px 8px 10px 0;border-bottom:1px solid var(--hair);vertical-align:top;overflow-wrap:anywhere}
.cr-ba thead th{font-size:13px;font-weight:400;color:var(--soft)}
.cr-ba thead th:first-child{width:46%}
.cr-ba tbody th{font-weight:400;color:var(--soft)}
.cr-ba td{font-family:var(--serif);font-size:18px}
.cr-after{color:var(--soft)}
.cr-after small{display:block;font-family:var(--sans);font-size:12px;line-height:1.3}
.cr-compare{--pos:50%;position:relative;aspect-ratio:16/10;margin-top:24px;border:1px solid var(--line);border-radius:12px;overflow:hidden;touch-action:pan-y;user-select:none;cursor:ew-resize;background:var(--card)}
.cr-side{position:absolute;inset:0;display:flex;align-items:flex-end;padding:16px;font-size:13px;color:var(--soft)}
.cr-side span{max-width:45%}
.cr-side-after{justify-content:flex-end;text-align:right}
.cr-side-before{background:#1a1813;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.cr-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:44px;transform:translateX(-50%);display:flex;justify-content:center}
.cr-handle i{width:2px;background:var(--gold)}
.cr-handle::after{content:"";position:absolute;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;background:var(--bg);border:2px solid var(--gold)}
.cr-handle:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.cr-quote{margin:24px 0 0}
.cr-quote blockquote{margin:0;padding:28px 24px;border:1px dashed var(--line);border-radius:12px}
.cr-quote p{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.2vw,26px);line-height:1.35;color:var(--soft)}
.cr-quote figcaption{margin-top:12px;font-size:14px;color:var(--soft)}
/* Artur (SV 27, from the Lovable sketch /site/results-artur): scroll story, photo wipe, his real words */
.ar-when{font-size:14px;color:var(--soft);margin-top:6px}
.ar-story{margin-top:8px}
.ar-grid{display:grid;gap:28px;margin-top:16px}
@media(min-width:900px){.ar-grid{grid-template-columns:7fr 5fr;gap:56px;align-items:start}}
.ar-sticky{position:sticky;top:0;z-index:2;background:var(--bg);padding:12px 0 10px}
@media(min-width:900px){.ar-sticky{top:110px;background:none;padding-top:0}}
.ar-browser{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card)}
.ar-bar{height:34px;display:flex;align-items:center;gap:5px;padding:0 12px;border-bottom:1px solid var(--line)}
.ar-bar i{width:7px;height:7px;border-radius:50%;border:1px solid var(--soft);opacity:.6}
.ar-bar span{margin:auto;padding-right:24px;font-size:12px;color:var(--soft)}
.ar-wipe{--ar:0%;position:relative;aspect-ratio:4/3;overflow:hidden}
.ar-wipe img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
.ar-wipe .ar-wipe-before{clip-path:inset(0 var(--ar) 0 0)}
.ar-chip{position:absolute;bottom:10px;padding:3px 10px;border-radius:99px;background:rgba(13,12,10,.72);color:#f3eee4;font-size:12px}
.ar-chip-b{left:10px}.ar-chip-a{right:10px}
.ar-line{position:absolute;top:0;bottom:0;left:calc(100% - var(--ar));width:2px;margin-left:-1px;background:var(--gold)}
.ar-status{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:13px;color:var(--soft)}
.ar-status b{flex:1;height:2px;background:var(--hair);position:relative;overflow:hidden}
.ar-status i{position:absolute;inset:0;background:var(--gold);transform-origin:left;transform:scaleX(var(--arp,0))}
.ar-steps{list-style:none;margin:0;padding:0}
.ar-step{--st:0;min-height:24vh;padding:14px 0 26px 22px;border-left:1px solid var(--line);position:relative}
.ar-step::before{content:"";position:absolute;left:-4px;top:22px;width:7px;height:7px;border-radius:50%;background:var(--gold);opacity:var(--st);transform:scale(var(--st))}
.ar-k{font-size:15px;color:var(--soft)}
.ar-v{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin-top:6px;font-family:var(--serif);font-size:clamp(20px,2.4vw,26px)}
.ar-b{color:var(--soft);opacity:calc(1 - var(--st) * .25)}
[data-theme="light"] .ar-b{color:var(--ink);opacity:calc(1 - var(--st) * .32)}
.ar-arrow{font-family:var(--sans);font-size:15px;color:var(--soft)}
.ar-a{display:inline-block;color:var(--gold);opacity:calc(.25 + var(--st) * .75);transform:translateY(calc((1 - var(--st)) * 6px));font-variant-numeric:tabular-nums}
.cr-photo{aspect-ratio:4/3;margin-top:4px}
.cr-photo .cr-side{padding:0;align-items:flex-end}
.cr-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cr-photo .cr-side span{position:relative;margin:12px;padding:3px 10px;border-radius:99px;background:rgba(13,12,10,.72);color:#f3eee4;font-size:12px}
.cr-photo .cr-side-before{background:none}
.ar-cap{font-size:14px;color:var(--soft)}
.cr-real blockquote{border-style:solid;border-color:var(--line);background:var(--card);position:relative;opacity:0;transform:translateY(14px);transition:opacity var(--slow) var(--ease),transform var(--slow) var(--ease)}
.cr-real blockquote::before{content:"";position:absolute;top:-1px;left:12px;right:12px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform var(--slow) var(--ease)}
.cr-real.is-in blockquote{opacity:1;transform:none}
.cr-real.is-in blockquote::before{transform:scaleX(1)}
.cr-real p{color:var(--ink)}
@media(prefers-reduced-motion:reduce){.ar-wipe{--ar:100%}.ar-step{--st:1;min-height:0}.ar-status i{transform:none}.cr-real blockquote{opacity:1;transform:none;transition:none}.cr-real blockquote::before{transform:scaleX(1);transition:none}}

/* Inner pages: results and blog */
.inner .first{border-top:0;padding-top:clamp(40px,7vw,88px)}
.inner h1{font-size:clamp(38px,6vw,64px);max-width:18ch}
.post{max-width:760px}
.post h2{font-size:clamp(26px,3.4vw,34px);margin-top:56px}
.post p{margin-top:16px}
.post-meta{font-size:14px;color:var(--soft);margin-bottom:14px}
.steps{padding-left:22px;margin:20px 0 0}
.steps li{margin-top:14px;color:var(--soft)}
.steps strong{color:var(--ink);font-weight:600}
.post-cta{margin-top:64px;border:1px solid var(--line);border-radius:14px;padding:28px;display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.post-cta p{margin:0}
.post-cta .btn{display:inline-block;background:var(--gold);color:var(--on-gold);text-decoration:none;padding:12px 22px;border-radius:99px;font-weight:600}
.pins{margin:48px 0 0}
.pins svg{width:100%;max-width:520px;height:auto;display:block;margin-inline:auto}
.pins .ring{fill:none;stroke:var(--gold);stroke-width:1.2}
.pins .r1{opacity:.9}.pins .r2{opacity:.55}.pins .r3{opacity:.3}
.pins .pin{fill:var(--gold)}.pins .pin-dot{fill:var(--bg)}
.pins text{fill:var(--soft);font:13px var(--sans);text-anchor:middle}
.reach{list-style:none;margin:48px 0 0;padding:0;position:relative}
.reach::before{content:"";position:absolute;left:11px;top:12px;bottom:12px;width:1px;background:var(--line)}
.reach li{display:flex;gap:22px;padding:0 0 40px;position:relative}
.reach .dot{flex:none;width:23px;height:23px;border-radius:50%;border:1px solid var(--gold);background:var(--bg);margin-top:6px;transition:background var(--fast) var(--ease),box-shadow var(--fast) var(--ease)}
.reach li:nth-child(2) .dot{width:23px}
.reach h2{margin-top:0;font-size:clamp(24px,3vw,30px)}
.reach p{color:var(--soft);margin-top:8px}
.js .reach li{opacity:.35;transform:translateY(16px);transition:opacity var(--fast) var(--ease),transform var(--fast) var(--ease)}
.js .reach li.on{opacity:1;transform:none}
.reach li.on .dot{background:var(--gold);box-shadow:0 0 0 6px rgba(232,192,106,.12)}

/* Text pages built from the live site (Services, About, FAQ, Blog, Privacy, Terms, older posts) */
.page{max-width:1080px}
.v9-text h2{font-size:clamp(26px,3.4vw,34px);margin-top:56px}
.v9-text h3{font-size:22px;margin-top:28px}
.v9-text p,.v9-text ul,.v9-text ol{margin-top:16px}
.v9-text ul,.v9-text ol{padding-left:22px}
.v9-text li{margin-top:10px;color:var(--soft)}
.v9-text li strong,.v9-text p strong{color:var(--ink);font-weight:600}
.v9-text a:not(.btn):not(.card){color:var(--gold);text-underline-offset:3px}
.v9-text .meta,.article-back,.small-print,.location-line{font-size:14px;color:var(--soft)}
.article-back{margin-bottom:18px}.article-back a{text-decoration:none}
.pull{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.6vw,28px);line-height:1.35;color:var(--gold);margin:56px 0 0;padding-left:20px;border-left:1px solid var(--gold)}
.about-head{display:flex;align-items:center;gap:18px;margin-bottom:28px}
.about-head img{width:84px;height:84px;object-fit:cover;border-radius:50%;border:1px solid var(--line);filter:grayscale(1)}
.about-head div{display:flex;flex-direction:column;font-size:15px}.about-head span{color:var(--soft)}
/* Alex faces left in his photo, so the photo sits on the right and looks toward the text (Alex, 12 Nov, SV 27) */
.about-head{flex-direction:row-reverse;justify-content:space-between}
.about-head img{width:104px;height:130px;border-radius:14px;object-position:top}
@media(min-width:960px){
  .post:has(> .about-head){max-width:1120px;display:grid;grid-template-columns:minmax(0,720px) 300px;column-gap:72px;justify-content:space-between;align-items:start}
  .post:has(> .about-head) > *{grid-column:1}
  .post:has(> .about-head) > .about-head{grid-column:2;grid-row:1 / span 60;position:sticky;top:110px;flex-direction:column;align-items:stretch;gap:14px;margin:0}
  .post > .about-head picture{position:relative;display:block;isolation:isolate}
  .post > .about-head picture::before{content:"";position:absolute;inset:-12px 12px 12px -12px;border:1px solid var(--gold);border-radius:22px;opacity:.35;z-index:-1}
  .post > .about-head img{width:100%;height:auto;aspect-ratio:4/5;border-radius:20px}
}
.about-quote{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.6vw,28px);color:var(--ink);margin-top:56px}
.v9-text .pkgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:18px;margin-top:40px}
.v9-text .pkg{border:1px solid var(--line);border-radius:14px;padding:28px;background:var(--card);cursor:auto;transform:none;display:block}
@media(min-width:640px){.v9-text .pkgs{grid-template-columns:repeat(2,1fr)}}
.pkg-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}
.pkg-head .num{color:var(--gold);font-family:var(--serif);font-size:22px}
.v9-text .pkg-head h2{margin:0;font-size:30px}
.pkg-price{width:100%;color:var(--gold);margin-top:6px!important;font-weight:600}
.pkg-for{color:var(--soft)}.pkg-note{font-size:14px;color:var(--soft)}
.price-info{background:none;border:0;color:var(--gold);font:inherit;cursor:pointer;padding:0 2px}
.price-popover{max-width:300px;background:var(--bg2);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:14px;font-size:14px;font-weight:400}
.how li{color:var(--soft)}
.faq-list{margin-top:32px;border-top:1px solid var(--hair)}
.faq-item{border-bottom:1px solid var(--hair)}
.faq-item summary{cursor:pointer;list-style:none;padding:20px 32px 20px 0;position:relative}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:4px;top:18px;color:var(--gold);font-size:22px;transition:transform var(--fast) var(--ease)}
.faq-item[open] summary::after{transform:rotate(45deg)}
.v9-text .faq-item h2{margin:0;max-width:none;font-size:clamp(20px,2.4vw,24px)}
.faq-item p{margin:0 0 22px;color:var(--soft)}
.posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:18px;margin-top:40px}
.posts .card{display:flex;flex-direction:column;gap:10px;text-decoration:none;border:1px solid var(--line);border-radius:14px;padding:26px;background:var(--card);transition:border-color var(--fast) var(--ease),transform var(--fast) var(--ease)}
.posts .card:hover{border-color:var(--gold);transform:translateY(-3px)}
.post-tag{font-size:13px;color:var(--soft)}
.v9-text .post-title{font-size:24px;margin:0;max-width:none}
.posts .card p{margin:0;color:var(--soft);font-size:15px}
.post-more{color:var(--gold);font-size:15px;margin-top:auto}

/* Day mode: warm linen, sage, bronze and soft blue.  */
:root[data-theme="light"]{
  --bg:#f3eee4;--bg2:#e8e0d0;--card:#faf7f0;--line:rgba(86,112,79,.24);--hair:rgba(42,38,32,.11);
  --ink:#2a2620;--soft:#6a6254;--gold:#56704f;--gold2:#8a6a46;--on-gold:#f8f4ec;
  --glow:rgba(125,151,168,.22);--tile:#e2d8c4;--water:#a9bccb;--earth:#b9a68a;
  color-scheme:light;
}
/* Package windows follow the theme: day = linen and sage, night = black and gold. The sun stays golden in both. */
:root[data-theme="light"] .solar{background:radial-gradient(circle at 50% 52%,#fffaf0,var(--bg) 62%)}
:root[data-theme="light"] .ride{background:rgba(243,238,228,.92)}
:root[data-theme="light"] .ride-box,:root[data-theme="light"] .panel{box-shadow:0 18px 50px rgba(42,38,32,.14)}
:root[data-theme="light"] .sun{background:radial-gradient(circle at 40% 35%,#fff3cf,#e8c06a 45%,#a8822f);color:#1a1408;box-shadow:0 0 60px rgba(201,149,60,.5),0 0 160px rgba(201,149,60,.2)}
:root[data-theme="light"] .planet i{box-shadow:0 0 10px rgba(42,38,32,.25)}
:root[data-theme="light"] .orbit{border-color:var(--line)}
:root[data-theme="light"] .mosaic i{border-color:rgba(86,112,79,.10)}
.sv,.sky{transition:background-color var(--fast) var(--ease),color var(--fast) var(--ease)}
.theme-btn{all:unset;box-sizing:border-box;cursor:pointer;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--gold);transition:border-color var(--fast) var(--ease)}
.theme-btn:hover{border-color:var(--gold)}
.theme-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.theme-btn svg{width:16px;height:16px}
.theme-btn .i-sun{display:none}
:root[data-theme="light"] .theme-btn .i-sun{display:block}
:root[data-theme="light"] .theme-btn .i-moon{display:none}

/* Calm still version for people who turn animations off */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .mosaic,.ripples{display:none}
  .js .answer,.js .pcard{opacity:1;transform:none}
  .js .art .plank rect,.js .art .plank line{fill:var(--gold);stroke:var(--gold);stroke-dasharray:none;opacity:1}
  .js .plbl{color:var(--on-gold)}
  .js .art .bstar{opacity:1}
  .art .window{opacity:1}
  .solar,.solar.open{clip-path:none}
  .solar .system,.solar-h,.solar-hint{opacity:1}
}

/* Language switch (SV 26): plain <details>, no script needed */
.lang{position:relative;font-size:13px}
.lang summary{list-style:none;cursor:pointer;min-width:34px;height:34px;display:grid;place-items:center;padding:0 8px;border:1px solid var(--line);border-radius:99px;color:var(--soft);transition:border-color var(--fast) var(--ease),color var(--fast) var(--ease)}
.lang summary::-webkit-details-marker{display:none}
.lang summary:hover,.lang[open] summary{border-color:var(--gold);color:var(--gold)}
.lang summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.lang-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:70;display:grid;min-width:150px;padding:6px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 50px -24px rgba(0,0,0,.6)}
.nav nav .lang-menu a{display:block;padding:9px 12px;border-radius:8px;color:var(--ink)}
.nav nav .lang-menu a:hover{background:var(--bg2);color:var(--gold)}
.nav nav .lang-menu a[aria-current]{color:var(--gold)}
@media(max-width:1020px){.nav nav a.nav-opt{display:none}}
@media(max-width:640px){.nav nav .lang-menu a:not(.nav-cta):not(.nav-keep){display:block}}
.lang summary::marker{content:""}
/* Phones: header in two rows so the language, theme and Free check buttons never get cut off */
@media(max-width:640px){.nav{flex-wrap:wrap;row-gap:12px;padding:16px 0}.nav nav{width:100%;justify-content:space-between;gap:10px}}
.wrap.nav{z-index:30}
.theme-btn,.lang,.nav-cta{flex:none}

/* ===== Inner page moments (SV 26, ideas from the Lovable sketch, drawn by inner.js) ===== */
:root{interpolate-size:allow-keywords}
/* FAQ filter + smooth answers */
.faq-filter{display:grid;gap:8px;margin-top:28px;max-width:520px}
.faq-filter label{font-size:14px;color:var(--soft)}
.faq-filter input{font:inherit;font-size:16px;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;min-height:46px;transition:border-color var(--fast) var(--ease)}
.faq-filter input:focus{outline:none;border-color:var(--gold)}
.faq-none{color:var(--soft);font-size:15px}
.faq-item::details-content{block-size:0;overflow:clip;transition:block-size var(--fast) var(--ease),content-visibility var(--fast) allow-discrete}
.faq-item[open]::details-content{block-size:auto}
/* Services: stars per package, Premium prism edge, steps line */
.pkg-head{position:relative}
.pkg-stars{position:absolute;right:0;top:-4px;width:56px;height:56px;overflow:visible}
.ps-star{fill:var(--soft);opacity:.28;transform-box:fill-box;transform-origin:center;transform:scale(.7);transition:opacity var(--fast) var(--ease) var(--d,0ms),transform var(--fast) var(--ease) var(--d,0ms),fill var(--fast) var(--ease) var(--d,0ms)}
.ps-line{fill:none;stroke:var(--gold);stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1;opacity:.6;transition:stroke-dashoffset 750ms var(--ease) 300ms}
.pkg.lit .ps-star{fill:var(--gold);opacity:1;transform:none}
.pkg.lit .ps-line{stroke-dashoffset:0}
.v9-text .pkg{transition:border-color 750ms var(--ease),box-shadow 750ms var(--ease)}
.pkg-prism.lit{border-color:transparent;box-shadow:0 0 0 1px rgba(232,192,106,.55),-6px 0 24px -12px rgba(120,180,255,.45),6px 0 24px -12px rgba(255,120,200,.4),0 10px 30px -18px rgba(232,192,106,.7)}
.how{position:relative}
.js-inner .how::before{content:"";position:absolute;left:-18px;top:6px;bottom:6px;width:1px;background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform 1200ms var(--ease)}
.how.drawn::before{transform:scaleY(1)}
/* Blog: line drawings */
.card-draw{display:block;width:44px;height:44px;color:var(--gold)}
.card-draw svg{width:100%;height:100%;overflow:visible}
.card-draw path,.card-draw circle{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1200ms var(--ease)}
.card.drawn .card-draw path,.card.drawn .card-draw circle{stroke-dashoffset:0}
/* About: seasons canvas behind the text */
.seasons{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.8}
.sv.inner main{position:relative;z-index:1}
@media (max-width:640px){.pkg-stars{width:44px;height:44px}.js-inner .how::before{left:-10px}}
@media (prefers-reduced-motion:reduce){.ps-star{opacity:1;transform:none;fill:var(--gold)}.ps-line,.card-draw path,.card-draw circle{stroke-dashoffset:0}.seasons{display:none}}
/* Contact page (SV 26) */
.contact-grid{display:grid;gap:40px;margin-top:40px}
@media(min-width:900px){.contact-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:56px}}
.contact-page-form{display:grid;gap:16px;min-width:0}
.contact-page-form .row2{display:grid;gap:16px}
@media(min-width:640px){.contact-page-form .row2{grid-template-columns:1fr 1fr}}
.contact-page-form label{display:grid;gap:6px;font-size:14px;color:var(--soft)}
.contact-page-form input,.contact-page-form textarea{font:inherit;font-size:16px;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;min-height:46px;width:100%;transition:border-color var(--fast) var(--ease)}
.contact-page-form input:focus,.contact-page-form textarea:focus{outline:none;border-color:var(--gold)}
.contact-page-form .btn{justify-self:start}
.c-thanks{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:22px;color:var(--gold)}
.c-star{width:22px;height:22px;fill:var(--gold);transform:scale(.4);opacity:0;transition:transform 750ms var(--ease),opacity 750ms var(--ease);filter:drop-shadow(0 0 8px var(--gold))}
.sent .c-star{transform:none;opacity:1}
.sent .logo svg{filter:drop-shadow(0 0 8px var(--gold));transition:filter 750ms var(--ease)}
.contact-ways{display:grid;gap:16px;align-content:start;padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--card)}
.v9-text .contact-ways h2{font-size:28px;margin:0}
.contact-ways ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.contact-ways .soft{color:var(--soft);font-size:15px}
.contact-ways .btn{justify-self:start}
/* Page not found (SV 26) */
.nf{display:grid;gap:18px;justify-items:center;text-align:center;padding:24px 0 40px}
.nf .lead{margin:0}
.nf-art{width:min(420px,100%);height:auto}
.nf-bank{fill:var(--earth)}
.nf-water{fill:var(--water)}
.nf-wave{fill:none;stroke:var(--hair);stroke-width:1.4;animation:wave 4.8s var(--ease) infinite alternate}
.nf-wave.w2{animation-delay:-2.4s}
.nf-arch{fill:none;stroke:var(--gold);stroke-width:5;stroke-linecap:round;filter:drop-shadow(0 0 6px var(--gold))}
.nf-gap{fill:none;stroke:var(--soft);stroke-width:2;stroke-dasharray:4 6;opacity:.6}

/* Results: sliders keep the image shape, full-size view (SV 36) */
.ar-static .ar-step{--st:1;min-height:0;padding-bottom:18px}
.ar-slide .cr-compare{margin-top:0}
.cr-photo img{object-fit:cover;object-position:top}
.cr-zoom{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:6px 0;background:none;border:0;color:var(--soft);font:inherit;font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.cr-zoom::before{content:"";width:11px;height:11px;border:1.5px solid currentColor;border-radius:2px}
.cr-zoom:hover,.cr-zoom:focus-visible{color:var(--gold)}
.cr-lightbox{width:min(1100px,94vw);max-height:92vh;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:inherit}
.cr-lightbox::backdrop{background:rgba(10,9,7,.82)}
.cr-lb-body{display:grid;gap:22px;padding:56px 18px 18px;overflow:auto;max-height:92vh;box-sizing:border-box}
.cr-lb-body figure{margin:0}
.cr-lb-body figcaption{font-size:13px;color:var(--soft);margin-bottom:8px}
.cr-lb-body img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:8px}
.cr-lb-x{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:inherit;font-size:20px;line-height:1;cursor:pointer;z-index:1}
.cr-compare[data-shape="4x3"]{aspect-ratio:1100/825}
.cr-compare[data-shape="wide"]{aspect-ratio:800/382}
/* FAQ: reserve room for the search box that inner.js adds, so the list does not jump */
.has-js .faq-list{margin-top:142px}
.has-js .faq-filter+.faq-list{margin-top:32px}
.faq-filter{min-height:82px}
/* Skip link: hidden until a keyboard user presses Tab */
.skip{position:absolute;left:12px;top:-60px;z-index:1000;background:var(--gold);color:#0d0c0a;padding:10px 16px;border-radius:99px;font-weight:600;text-decoration:none}
.skip:focus{top:12px}
/* Backup fonts sized like the real ones (measured 13 Nov 2026), so text does not jump when the real fonts arrive */
@font-face{font-family:"Inter Tight Backup";font-weight:400;src:local("Arial");size-adjust:96%;ascent-override:101%;descent-override:25%;line-gap-override:0%}
@font-face{font-family:"Inter Tight Backup";font-weight:600;src:local("Arial Bold"),local("Arial-BoldMT");size-adjust:94%;ascent-override:103%;descent-override:25.5%;line-gap-override:0%}
@font-face{font-family:"Inter Tight Backup Droid";src:local("Roboto");size-adjust:106.5%;ascent-override:91%;descent-override:22.5%;line-gap-override:0%}
@font-face{font-family:"Playfair Backup";font-style:normal;src:local("Georgia");size-adjust:101.7%;ascent-override:106%;descent-override:24.6%;line-gap-override:0%}
@font-face{font-family:"Playfair Backup";font-style:italic;src:local("Georgia Italic"),local("Georgia-Italic");size-adjust:94%;ascent-override:115%;descent-override:26.6%;line-gap-override:0%}
/* Floating WhatsApp and Viber buttons (every page) */
.float{position:fixed;right:16px;bottom:16px;z-index:50;display:grid;gap:10px}
.float a{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--bg2);border:1px solid var(--line);color:var(--gold);box-shadow:0 6px 20px rgba(0,0,0,.28);transition:border-color var(--fast) var(--ease),transform var(--fast) var(--ease)}
.float a:hover,.float a:focus-visible{border-color:var(--gold);transform:translateY(-2px)}
.float svg{width:22px;height:22px}
.foot{padding-bottom:132px}
@media (min-width:1100px){.foot{padding-bottom:40px}}
/* Language note (Spanish pages) */
.lang-note{margin-top:14px}
.lang-note button{background:none;border:0;padding:0;font:14px var(--sans);color:var(--soft);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.lang-note button:hover{color:var(--gold)}
/* Thank-you page */
.ty-star{width:56px;height:56px;color:var(--gold);animation:ty-glow 4s var(--ease) infinite alternate}
.ty .lead{max-width:52ch}
.ty p{max-width:52ch;margin:0}
.ty .ty-small{font-size:15px;color:var(--soft)}
@keyframes ty-glow{from{filter:drop-shadow(0 0 0 rgba(232,192,106,0));transform:scale(.96)}to{filter:drop-shadow(0 0 18px rgba(232,192,106,.55));transform:scale(1)}}
/* Blog "reach" article: the steps stay readable, the line fills with gold and rings spread behind the text as you scroll */
.js .reach li{opacity:.72}
.js .reach li.on{opacity:1}
.reach::after{content:"";position:absolute;left:11px;top:12px;width:1px;height:0;background:var(--gold);transition:height var(--slow) var(--ease)}
.reach.s1::after{height:4%}.reach.s2::after{height:27%}.reach.s3::after{height:50%}.reach.s4::after{height:73%}.reach.s5::after{height:calc(100% - 24px)}
.reach .dot{position:relative;z-index:1}
.reach li.on .dot{animation:reach-pop var(--fast) var(--ease)}
@keyframes reach-pop{0%{transform:scale(.6)}60%{transform:scale(1.25)}100%{transform:scale(1)}}
.reach-rings{position:fixed;left:50%;top:50%;width:0;height:0;z-index:0;pointer-events:none}
.reach-rings i{position:absolute;left:0;top:0;border-radius:50%;border:1px solid var(--gold);opacity:0;transform:translate(-50%,-50%) scale(.6);transition:opacity var(--slow) var(--ease),transform var(--slow) var(--ease)}
.reach-rings i:nth-child(1){width:22vmin;height:22vmin}
.reach-rings i:nth-child(2){width:44vmin;height:44vmin}
.reach-rings i:nth-child(3){width:70vmin;height:70vmin}
.reach-rings i:nth-child(4){width:100vmin;height:100vmin}
.reach-rings i:nth-child(5){width:136vmin;height:136vmin}
.reach-rings.s1 i:nth-child(-n+1),.reach-rings.s2 i:nth-child(-n+2),.reach-rings.s3 i:nth-child(-n+3),.reach-rings.s4 i:nth-child(-n+4),.reach-rings.s5 i:nth-child(-n+5){opacity:.18;transform:translate(-50%,-50%) scale(1);animation:reach-breathe 7s ease-in-out infinite alternate}
.reach-rings i:nth-child(2){animation-delay:.6s}.reach-rings i:nth-child(3){animation-delay:1.2s}.reach-rings i:nth-child(4){animation-delay:1.8s}.reach-rings i:nth-child(5){animation-delay:2.4s}
@keyframes reach-breathe{from{opacity:.1}to{opacity:.24}}
.post{position:relative;z-index:1}
@media (prefers-reduced-motion:reduce){.ty-star,.reach li.on .dot,.reach-rings i{animation:none!important}}

