/* =====================================================
   Sections (non-pinned): hero · why · statement · principles
   tools · ideas · join · sheet · faq · footer
   ===================================================== */

/* ---------------- HERO (thin headline + fan circle) ---------------- */
.hero2{
  --orb:min(64vw,330px);
  position:relative;min-height:100svh;display:flex;flex-direction:column;background:var(--paper);color:#14196A;
  padding:calc(var(--nav-h) + 30px) var(--gutter) 26px;overflow:hidden;
}
.hero2::after{content:"";position:absolute;inset-inline:0;bottom:0;height:1px;background:rgba(20,25,106,.13)}
.hero2__stage{position:relative;flex:1;display:grid;place-items:center;min-height:0}
.hero2__title{
  position:relative;z-index:1;margin:0;display:flex;flex-direction:column;align-items:center;gap:calc(var(--orb)*.84);
  font:200 clamp(4.2rem,24vw,9rem)/1 var(--f-display);color:#14196A;text-align:center;
}
.hero2__w{display:block;translate:0 calc(var(--hp,0)*-34px)}
.orb{
  position:absolute;z-index:2;left:50%;top:50%;width:var(--orb);aspect-ratio:1;border-radius:50%;overflow:hidden;background:#0A1560;
  translate:-50% calc(-50% + var(--hp,0)*56px);
  box-shadow:0 56px 90px -38px rgba(15,25,130,.55),0 0 0 1px rgba(255,255,255,.4);
}
.orb::after{
  content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;
  background:radial-gradient(110% 110% at 26% 20%,rgba(255,255,255,.34),rgba(255,255,255,0) 44%),radial-gradient(100% 100% at 50% 50%,rgba(5,10,60,0) 60%,rgba(5,10,60,.34) 100%);
}
.orb__svg{display:block;width:100%;height:100%}
.orb__svg .blades{transform:rotate(calc(var(--spin,0)*1deg)) scale(var(--sc,1))}
.orb__chip{
  position:absolute;z-index:3;left:50%;top:50%;translate:-50% calc(-50% + var(--hp,0)*56px);
  display:flex;align-items:center;gap:8px;padding:8px 14px 8px 12px;border-radius:7px;white-space:nowrap;
  background:#fff;color:#14196A;font:500 12.5px/1 var(--f-text);box-shadow:0 14px 30px -14px rgba(10,20,100,.5);
}
.orb__chip svg{width:22px;height:17px;flex:none}
.hero2__foot{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding-top:16px}
.hero2__scroll{display:inline-flex;align-items:center;gap:12px;font:500 13px/1 var(--f-text);color:#14196A;opacity:calc(1 - var(--hp,0)*3)}
.hero2__scroll i{display:block;width:1px;height:36px;background:currentColor;transform-origin:top;animation:cue 2.2s var(--ease) infinite}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
.hero2__meta{font-size:11.5px;line-height:1.8;color:var(--ink-2)}

/* ---------------- OVERVIEW ---------------- */
.overview{background:var(--paper);padding:104px 0 92px}
.overview__grid{display:grid;gap:34px;align-items:start}
.overview__text{max-width:24em;font:300 clamp(1.5rem,5.8vw,2.6rem)/1.62 var(--f-display);color:#14196A;text-wrap:pretty}
.overview__text .w{opacity:calc(.18 + var(--o,0)*.82)}
.overview__text mark{background:none;color:var(--electric);font-weight:400}

/* ---------------- SERVICES (ribbon path + hairline list) ---------------- */
.svc{background:var(--paper);padding:10px 0 120px}
.svc__grid{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}
/* phones: a slim ruler pinned under the nav (it slides up when the nav hides) */
.svc__art{position:sticky;z-index:5;top:calc(var(--nav-h) + env(safe-area-inset-top) + 6px);margin-inline:calc(var(--gutter)*-1);transition:top .8s var(--ease)}
:root:has(.nav.is-hidden) .svc__art{top:env(safe-area-inset-top)}
.meter{display:grid;gap:10px;padding:12px var(--gutter) 10px;background:rgba(243,243,251,.86);-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3);border-bottom:1px solid var(--line);color:#14196A}
.meter__row{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.meter__n{direction:ltr;unicode-bidi:isolate;display:inline-flex;align-items:baseline;gap:3px}
.meter__n b{font:200 1.9rem/1 var(--f-display);font-feature-settings:"tnum";transition:opacity .35s}
.meter__n small{font:300 .8rem/1 var(--f-display);color:var(--ink-2);font-feature-settings:"tnum"}
.meter__lab{font:400 .95rem/1.3 var(--f-display);color:var(--ink-2);transition:opacity .35s}
.meter__rule{display:flex;gap:8px}
.meter__seg{position:relative;flex:1;height:11px}
.meter__seg::before{content:"";position:absolute;inset:0 0 auto;height:1.5px;background:rgba(20,25,106,.12)}
.meter__seg::after{content:"";position:absolute;inset:5px 0 auto;height:5px;background:repeating-linear-gradient(to left,rgba(20,25,106,.2) 0 1px,transparent 1px 8px)}
.meter__seg span{position:absolute;inset:0 0 auto;height:2px;background:#14196A;transform:scaleX(var(--f,0));transform-origin:right center}
.meter__seg em{position:absolute;top:1px;right:calc(var(--f,0)*100%);width:7px;height:7px;border-radius:50%;background:#B38942;transform:translate(50%,-50%) scale(0);transition:transform .4s var(--ease)}
.meter__seg.is-on em{transform:translate(50%,-50%) scale(1)}
.dial{--dd:min(100%,330px);display:none;position:sticky;top:calc(50svh - var(--dd)/2);width:var(--dd);aspect-ratio:1;margin-inline:auto}
.dial__svg{display:block;width:100%;height:100%;overflow:visible}
.dial__svg .tick{stroke:rgba(20,25,106,.22);stroke-width:1;vector-effect:non-scaling-stroke}
.dial__svg .tick--major{stroke:rgba(20,25,106,.55)}
.dial__svg .track{fill:none;stroke:rgba(20,25,106,.1);stroke-width:1.5;vector-effect:non-scaling-stroke}
.dial__svg .arc{fill:none;stroke:#14196A;stroke-width:2;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--f,0))}
.dial__svg .head{fill:#B38942;transition:opacity .4s}
.dial__svg .inner{fill:none;stroke:rgba(20,25,106,.07);stroke-width:1;vector-effect:non-scaling-stroke}
.dial__c{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:4px;text-align:center;color:#14196A}
.dial__c b{font:200 clamp(1.8rem,8.4vw,4.6rem)/1 var(--f-display);font-feature-settings:"tnum";direction:ltr;transition:opacity .35s}
.dial__c span{display:none;font:400 .95rem/1.4 var(--f-display);color:var(--ink-2);max-width:9em;transition:opacity .35s}
.svc__art.is-swap [data-num],.svc__art.is-swap [data-lab]{opacity:0}
.svc__head h3{transition:color .6s var(--ease)}
.svc__item:not(.is-on) .svc__head h3{color:#9DA2C4}
.svc__item{display:grid;gap:18px;padding:38px 0 42px;border-top:1px solid var(--line)}
.svc__item:first-child{border-top:0;padding-top:30px}
.svc__head{display:grid;gap:14px;justify-items:start}
.svc__tag{display:inline-flex;align-items:center;gap:7px;padding:5px 11px 5px 9px;border-radius:5px;background:#E3E5FB;font:500 11px/1 var(--f-text);color:#14196A}
.svc__tag svg{width:19px;height:14.5px}
.svc__head h3{font:400 clamp(1.45rem,5.8vw,2rem)/1.3 var(--f-display);color:#14196A}
.svc__body{display:grid;gap:14px}
.svc__body p{font-size:.88rem;line-height:1.8;color:var(--ink-2);max-width:30em}

/* ---------------- PRINCIPLES (ref 12) ---------------- */
.principles{position:relative;padding:92px 0 104px;overflow:hidden;isolation:isolate}
.paint{position:absolute;inset:0;z-index:-1;background:#D6DDE8 url("../assets/painting.jpg") 50% 40%/cover no-repeat}
.principles__head{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.pcards{display:flex;gap:14px;overflow-x:auto;padding:36px var(--gutter) 12px;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.pcards::-webkit-scrollbar{display:none}
.pcard{
  flex:0 0 min(78vw,330px);aspect-ratio:1/1.04;scroll-snap-align:center;display:flex;flex-direction:column;justify-content:space-between;
  padding:26px 24px;border-radius:22px;background:#FAFAF7;box-shadow:0 36px 60px -40px rgba(12,18,48,.45);
}
.pcard h3{font:400 clamp(1.45rem,6.2vw,1.9rem)/1.6 var(--f-serif);color:#9A9CA8}
.pcard h3 b{color:var(--ink);font-weight:700}
.dots{width:44px;height:44px;color:#5B5F70}
.dots circle{fill:currentColor}

/* ---------------- TOOLS (ref 6: flat glass icons) ---------------- */
.tools{background:#fff;padding:104px 0 112px}
.tools__head{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:60px}
.tools__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 10px}
.tool{--a:1;text-align:center;opacity:calc(.12 + var(--a)*.88);transform:translateY(calc((1 - var(--a))*34px))}
.tool h3{font:500 .98rem/1.4 var(--f-display);margin-top:16px;color:var(--ink)}
.tool p{display:none;font-size:.82rem;line-height:1.6;color:var(--mute);margin-top:2px}

.gi{position:relative;width:88px;height:88px;margin-inline:auto;isolation:isolate}
.gi__a{
  position:absolute;inset:0;width:100%;height:100%;fill:var(--electric);stroke:none;
  translate:calc((1 - var(--a))*-28px) calc((1 - var(--a))*-20px);scale:calc(.82 + var(--a)*.18);
}
.gi__b{
  position:absolute;display:grid;place-items:center;font-style:normal;color:#fff;font:700 1.2rem/1 var(--f-display);
  background:rgba(130,160,255,.46);
  -webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);
  translate:calc((1 - var(--a))*26px) calc((1 - var(--a))*22px);scale:calc(.82 + var(--a)*.18);
}
.gi__b em,.gi__b b,.gi__b u{font-style:normal;text-decoration:none}
.gi--folder .gi__b{inset:38% 11% 17% 11%;border-radius:14px}
.gi--fans .gi__b{left:4%;top:40%;width:64%;height:40%;border-radius:14px;grid-auto-flow:column;gap:6px;justify-content:center}
.gi--fans .gi__b .ico{width:20px;height:20px}
.gi--fans .gi__b b{font-size:1.1rem}
.gi--tag .gi__b{left:10%;top:28%;width:52%;height:58%;border-radius:12px;font-size:1.6rem}
.gi--tag .gi__b::before{content:"";position:absolute;top:8px;inset-inline-start:8px;width:7px;height:7px;border-radius:50%;background:#fff}
.gi--calc .gi__b{left:8%;top:22%;width:58%;height:64%;border-radius:16px;grid-template-columns:1fr 1fr;padding:12px 10px;font-size:1.05rem}
.gi--cal .gi__b{left:14%;top:20%;width:72%;height:68%;border-radius:18px;font-size:1.9rem}
.gi--pin .gi__b{left:27%;top:5%;width:46%;aspect-ratio:1;border-radius:50% 50% 50% 0;rotate:-45deg}
.gi--pin .gi__b u,.gi--lock .gi__b u{display:block;width:30%;aspect-ratio:1;border-radius:50%;background:#fff}
.gi--wallet .gi__b{left:8%;top:36%;width:84%;height:52%;border-radius:16px}
.gi--wallet .gi__b u{position:absolute;inset-inline-end:14%;top:50%;width:14%;aspect-ratio:1;border-radius:50%;background:#fff;translate:0 -50%}
.gi--lock .gi__a{fill:none;stroke:var(--electric)}
.gi--lock .gi__b{left:25%;top:46%;width:50%;height:42%;border-radius:14px}
.gi--lock .gi__b u{width:18%}
.gi--film .gi__b{left:12%;top:14%;width:62%;aspect-ratio:1;border-radius:50%}

/* ---------------- IDEAS (ref 11) ---------------- */
.ideas{position:relative;background:var(--paper);padding:104px 0 112px;overflow:hidden}
.ideas__head{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.ideas__title{font-size:clamp(3.4rem,17vw,9rem);line-height:1;letter-spacing:0}
.fbar{
  width:100%;max-width:920px;margin-top:12px;display:grid;grid-template-columns:1fr 1fr;background:#fff;border-radius:20px;padding:8px;
  box-shadow:0 40px 70px -44px rgba(12,18,48,.45);
}
.fbar__f{display:flex;flex-direction:column;gap:1px;padding:12px 16px;position:relative;cursor:pointer}
.fbar__f:nth-child(1){grid-column:1/-1;border-bottom:1px solid var(--line)}
.fbar__f:nth-child(3){border-inline-start:1px solid var(--line)}
.fbar__f small{font-size:.72rem;color:var(--mute);line-height:1.4}
.fbar__f select{
  appearance:none;-webkit-appearance:none;border:0;width:100%;cursor:pointer;
  font:600 1rem/1.5 var(--f-text);color:var(--ink);padding:0 0 0 22px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%230C1230' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") left center/12px no-repeat;
}
.fbar__f select:focus-visible{outline:0}
.fbar__f:focus-within{background:var(--paper);border-radius:14px}
.fbar__go{grid-column:1/-1;margin-top:8px;height:52px;border-radius:14px;--bg:var(--ink)}
.fbar__count{font-feature-settings:"tnum"}
.ideas__track{display:flex;gap:16px;overflow-x:auto;padding:42px var(--gutter) 22px;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;min-height:440px}
.ideas__track::-webkit-scrollbar{display:none}
.icard{
  flex:0 0 min(76vw,300px);scroll-snap-align:center;padding:8px;border-radius:22px;background:#fff;
  box-shadow:0 36px 64px -44px rgba(12,18,48,.5);animation:pop .8s var(--ease) both;
}
.icard.is-off{display:none}
@keyframes pop{from{opacity:0;transform:translateY(26px) scale(.97)}}
.icard__img{position:relative;aspect-ratio:4/3.05;border-radius:16px;overflow:hidden;background-repeat:no-repeat;background-position:var(--pos);background-size:var(--zoom);transition:background-size 1.4s var(--ease)}
.icard:hover .icard__img{background-size:calc(var(--zoom) + 18%)}
.img-sky{background-image:url("../assets/sky-hero.jpg")}
.img-sea{background-image:url("../assets/sea-view.jpg")}
.img-paint{background-image:url("../assets/painting.jpg")}
.icard__img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,11,34,0) 55%,rgba(7,11,34,.38))}
.icard__flag,.icard__chip{position:absolute;z-index:1;font:500 .72rem/1 var(--f-text);padding:7px 13px;border-radius:999px}
.icard__flag{inset-block-start:10px;inset-inline-start:10px;background:#fff;color:var(--ink)}
.icard__chip{inset-block-end:10px;inset-inline-start:10px;color:#fff;background:rgba(255,255,255,.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.icard__body{padding:16px 14px 14px}
.icard__body h3{font:500 1.15rem/1.45 var(--f-display)}
.icard__body p{color:var(--ink-2);font-size:.88rem;margin-top:4px}
.icard__meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.icard__meta span{font-size:.72rem;color:var(--ink-2);padding:4px 11px;border-radius:999px;background:var(--paper)}
.ideas__empty{padding:24px var(--gutter);color:var(--mute);text-align:center}

/* ---------------- JOIN (ref 5: window) ---------------- */
.join{background:#fff;padding:22px 10px 10px}
.window{
  position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;min-height:max(780px,calc(100svh - 24px));
  border:13px solid transparent;border-radius:40px;
  background:linear-gradient(#0c1530,#0c1530) padding-box,linear-gradient(155deg,#34456E 0%,#18244A 38%,#0B1330 100%) border-box;
  box-shadow:0 0 0 1.5px rgba(255,255,255,.07),0 60px 90px -50px rgba(7,11,34,.9);
}
.window__view{position:absolute;inset:0;z-index:-2;border-radius:27px;overflow:hidden;background:#4B72D6 url("../assets/sea-view.jpg") 30% 50%/cover no-repeat}
.window__shade{position:absolute;inset:0;z-index:-1;border-radius:27px;pointer-events:none;
  background:
    linear-gradient(115deg,rgba(255,255,255,.2) 0 14%,transparent 14% 19%,rgba(255,255,255,.09) 19% 27%,transparent 27%),
    linear-gradient(180deg,rgba(6,16,60,.5) 0%,rgba(6,16,60,.12) 44%,rgba(6,16,60,.34) 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),inset 0 30px 60px -30px rgba(255,255,255,.35),inset 0 -50px 80px -40px rgba(0,8,40,.55)}
.window__rivet{
  position:absolute;left:var(--x);top:var(--y);z-index:3;width:9px;height:9px;border-radius:50%;translate:-50% -50%;
  background:radial-gradient(circle at 35% 30%,#F6E2AE,#B38942 58%,#6B4A1B);box-shadow:0 1px 2px rgba(0,0,0,.6),inset 0 0 0 .5px rgba(255,255,255,.3);
}
.join__in{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;width:100%;min-width:0;max-width:760px;padding:92px 20px 190px;color:#fff}
.glass-tag{
  display:inline-flex;align-items:center;gap:10px;padding:9px 18px;border-radius:999px;font:500 .85rem/1 var(--f-text);
  background:rgba(255,255,255,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.4);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
}
.glass-tag i{width:7px;height:7px;border-radius:50%;background:var(--gold-300);box-shadow:0 0 0 4px rgba(221,184,120,.3)}
.join__title{font:300 clamp(2.8rem,12vw,6rem)/1.12 var(--f-display);filter:drop-shadow(0 2px 20px rgba(6,20,80,.5))}
.join__lead{max-width:28em;color:rgba(255,255,255,.94);font-size:1.02rem;text-shadow:0 1px 14px rgba(6,20,80,.5)}
.pillform{
  display:flex;align-items:center;gap:8px;width:min(100%,470px);margin-top:10px;padding:6px;border-radius:999px;
  background:rgba(255,255,255,.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.48),0 28px 60px -26px rgba(0,10,50,.7);
  -webkit-backdrop-filter:blur(20px) saturate(1.5);backdrop-filter:blur(20px) saturate(1.5);
}
.pillform input{flex:1;min-width:0;height:46px;padding:0 20px;border:0;background:transparent;color:#fff;font:400 1rem var(--f-text);text-align:right;outline:0}
.pillform input::placeholder{color:rgba(255,255,255,.75)}
.pillform:focus-within{box-shadow:inset 0 0 0 1.5px #fff,0 28px 60px -26px rgba(0,10,50,.7)}
.pillform.is-bad{box-shadow:inset 0 0 0 1.5px #FFB4AC,0 28px 60px -26px rgba(0,10,50,.7)}
.join__err{font-size:.86rem;color:#FFD3CE}

/* ---------------- SHEET (dialog) ---------------- */
.sheet{position:fixed;inset:0;margin:0;width:100%;height:100%;max-width:none;max-height:none;padding:0;border:0;background:transparent;color:var(--ink);overflow:hidden}
.sheet::backdrop{background:rgba(7,11,34,.62);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.sheet[open]{display:grid;place-items:end center}
.sheet__form{
  position:relative;width:min(100%,520px);background:#fff;border-radius:28px 28px 0 0;
  padding:32px 22px calc(26px + env(safe-area-inset-bottom));animation:sheetUp .8s var(--ease);
}
@keyframes sheetUp{from{transform:translateY(40px);opacity:0}}
.sheet__body{display:grid;gap:14px}
.sheet__body h3{font:400 1.5rem/1.35 var(--f-display)}
.sheet__phone{font-size:.9rem;color:var(--mute)}
.sheet__phone b{color:var(--ink);font-weight:600}
.sheet__x{position:absolute;inset-block-start:16px;inset-inline-end:16px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--paper)}
.sheet__x .ico{width:20px;height:20px}
.field{display:grid;gap:6px}
.field span{font-size:.82rem;font-weight:500;color:var(--ink-2)}
.field input{height:52px;padding:0 16px;border-radius:14px;background:#F4F6FA;border:1.5px solid transparent;font-size:1rem;transition:border-color .3s,background .3s,box-shadow .3s}
.field input:focus{outline:0;border-color:var(--electric);background:#fff;box-shadow:0 0 0 4px rgba(25,81,252,.12)}
.field.is-bad input{border-color:#C0392B;box-shadow:0 0 0 4px rgba(192,57,43,.1)}
.sheet__err{font-size:.85rem;color:#B03024}
.sheet__ok{display:grid;gap:12px;justify-items:center;text-align:center;padding:18px 0 6px}
.sheet__ok h3{font:400 1.6rem/1.3 var(--f-display)}
.sheet__ok p{color:var(--ink-2)}
.sheet__badge{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;color:#fff;background:radial-gradient(circle at 35% 28%,#F6E2AE,#B38942 62%,#7A5520);box-shadow:0 0 0 10px rgba(179,137,66,.16)}
.sheet__badge .ico{width:30px;height:30px}

/* ---------------- FAQ ---------------- */
.faq{background:#fff;padding:104px 0 112px}
.faq__grid{display:grid;gap:40px}
.faq__head{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.faq__list{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:24px 0}
.faq summary::-webkit-details-marker{display:none}
.faq__n{font:400 .8rem var(--f-text);color:var(--mute);font-feature-settings:"tnum"}
.faq__q{font:400 clamp(1.15rem,4.8vw,1.5rem)/1.45 var(--f-display);transition:color .4s}
.faq summary:hover .faq__q{color:var(--electric)}
.faq summary .ico{width:26px;height:26px;transition:transform .7s var(--ease)}
.faq details[open] summary .ico{transform:rotate(135deg)}
.faq details p{padding:0 0 28px;padding-inline-start:46px;color:var(--ink-2);max-width:40em;animation:fadeUp .8s var(--ease) both}
@keyframes fadeUp{from{opacity:0;transform:translateY(-8px)}}

/* ---------------- FOOTER ---------------- */
.footer{position:relative;overflow:hidden;background:var(--navy-900);color:#fff;border-radius:40px 40px 0 0;padding-top:64px}
.footer::before{content:"";position:absolute;inset:auto -20% -30% -20%;height:70%;background:radial-gradient(50% 55% at 50% 60%,rgba(25,81,252,.4),transparent 70%);filter:blur(30px)}
.footer__in{position:relative}
.footer__top{display:grid;gap:32px;justify-items:start}
.footer__brand{display:flex;align-items:center;gap:16px}
.footer__tile{width:74px;height:58px;border-radius:16px;background:#fff;display:grid;place-items:center;flex:none}
.footer__tile svg{width:48px;height:37px}
.footer__brand p{display:grid;line-height:1.5}
.footer__brand b{font:500 1.15rem var(--f-display)}
.footer__brand span{font-size:.88rem;color:rgba(255,255,255,.6)}
.footer__nav{display:flex;flex-wrap:wrap;gap:10px 28px}
.footer__nav a{color:rgba(255,255,255,.78);font-weight:500;transition:color .3s}
.footer__nav a:hover{color:var(--gold-300)}
.footer__word{
  margin:40px 0 0;padding-bottom:.12em;text-align:center;font:200 clamp(7rem,33vw,28rem)/1.05 var(--f-display);user-select:none;
  background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,.04) 90%);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.footer__copy{position:relative;text-align:center;padding:0 0 calc(26px + env(safe-area-inset-bottom));font-size:.8rem;color:rgba(255,255,255,.45)}

/* ---------------- tablet / desktop ---------------- */
@media (min-width:600px){
  .tool p{display:block}
  .gi{width:104px;height:104px}
}
@media (min-width:760px){
  .join__in{padding-bottom:120px}
  .window__view{background-position:50% 48%}
  .pcards,.ideas__track{padding-inline:max(var(--gutter),calc((100% - 1200px)/2))}
  .pcard{flex-basis:330px}
  .icard{flex-basis:320px}
  .tools__grid{gap:64px 24px}
  .gi{width:120px;height:120px}
}
@media (min-width:900px){
  .hero2{--orb:min(27vw,470px);padding-top:calc(var(--nav-h) + 56px)}
  .hero2__title{display:grid;grid-template-columns:1fr calc(var(--orb)*.95) 1fr;gap:0;width:100%;font-size:clamp(6rem,11vw,13rem)}
  .hero2__w:nth-child(1){grid-column:1;justify-self:end}
  .hero2__w:nth-child(2){grid-column:3;justify-self:start}
  .hero2__meta{font-size:12.5px}
  .overview{padding:130px 0 120px}
  .overview__grid{grid-template-columns:1fr 2.3fr;gap:60px}
  .overview__text{font-size:clamp(1.9rem,2.7vw,2.7rem)}
  .svc__grid{grid-template-columns:36% 1fr;align-items:stretch}
  .svc__art{position:relative;top:auto;z-index:auto;margin-inline:0;min-height:100%}
  .meter{display:none}
  .dial{--dd:min(78%,330px);display:block}
  .svc__list{border-inline-start:1px solid var(--line)}
  .dial__c span{display:block}
  .svc__item{grid-template-columns:1fr 1.5fr;gap:44px;padding-block:48px 56px;padding-inline-start:34px}
  .svc__item:first-child{padding-top:20px}
  .svc__body p{font-size:.92rem}
  .fbar{grid-template-columns:1fr 1fr 1fr auto;align-items:stretch;padding:10px}
  .fbar__f:nth-child(1){grid-column:auto;border-bottom:0}
  .fbar__f:nth-child(2),.fbar__f:nth-child(3){border-inline-start:1px solid var(--line)}
  .fbar__go{grid-column:auto;margin:0;padding:0 34px}
  .faq__grid{grid-template-columns:.8fr 1.4fr;gap:90px}
  .faq__head{position:sticky;top:120px;align-self:start}
  .sheet[open]{place-items:center}
  .sheet__form{border-radius:28px;padding:38px}
  .footer__top{grid-template-columns:auto 1fr auto;align-items:center;gap:48px}
  .footer__nav{justify-content:center}
}
@media (max-width:380px){
  .btn{padding-inline:20px 6px}
}
