@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,500;12..96,600;12..96,700;12..96,800&family=DM+Mono:ital,wght@0,300;0,400;0,500;1,400&family=Work+Sans:wght@300;400;500;600;700&display=swap');

/* ─────────────────────────────────────
   LOGO: #28a8e0 sky-blue · #0a0a0a ink
   LIGHT VERSION — white/sky-pale base
───────────────────────────────────── */
:root{
  --sky:#28a8e0;--sky-hi:#3dbef5;--sky-lo:#1a8cbd;--sky-deep:#0e5f85;
  --sky-pale:#e4f6fd;--sky-xpale:#f0faff;--sky-mid:rgba(40,168,224,.12);
  --sky-glow:rgba(40,168,224,.15);--sky-edge:rgba(40,168,224,.3);--sky-edge2:rgba(40,168,224,.5);

  --ink:#09090b;--ink2:#12161d;--ink3:#1a1f28;

  --white:#ffffff;--offwhite:#f8fafc;--cool50:#eef4f8;--cool100:#d6eaf5;--cool200:#a8cfe5;
  --smoke:#f3f7fa;--warm50:#f9fbfd;--offwhite:#f8fafc;

  --text:#0d1a24;--text2:#2a4055;--text3:#4a6a80;--text4:#7a9ab0;
  --border:#d0e0ec;--border2:#c0d4e4;--borderS:rgba(40,168,224,.22);--borderS2:rgba(40,168,224,.45);

  --gS:linear-gradient(135deg,#3dbef5,#28a8e0,#1a8cbd);
  --gSt:linear-gradient(90deg,#28a8e0,#3dbef5,#1a8cbd);
  --gSv:linear-gradient(180deg,#3dbef5,#28a8e0);
  --gPale:linear-gradient(135deg,#f0faff,#e4f6fd);
  --gHero:linear-gradient(155deg,#e8f5fc 0%,#f0faff 40%,#fafcff 70%,#ffffff 100%);
  --gCard:linear-gradient(135deg,#ffffff,#f4f9fc);

  --sS:0 6px 32px rgba(40,168,224,.22);--sM:0 4px 18px rgba(13,26,36,.1);
  --sL:0 12px 44px rgba(13,26,36,.14);--sSky:0 8px 40px rgba(40,168,224,.3);

  --fD:'Bricolage Grotesque',sans-serif;--fB:'Work Sans',sans-serif;--fM:'DM Mono',monospace;
  --clip:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));
  --clip-sm:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));
  --clip-ico:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,0 100%);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--fB);background:var(--white);color:var(--text);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}

/* Subtle dot-paper texture on white sections */
.tex-dots{background-image:radial-gradient(rgba(40,168,224,.08) 1px,transparent 1px);background-size:24px 24px}
/* Fine grid on pale sections */
.tex-grid{background-image:linear-gradient(rgba(40,168,224,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(40,168,224,.06) 1px,transparent 1px);background-size:40px 40px}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--fD);font-weight:700;font-size:.8rem;letter-spacing:.06em;padding:.78rem 1.9rem;border:none;cursor:pointer;transition:all .22s;text-transform:uppercase;clip-path:var(--clip-sm)}
.btn-sky{background:var(--gS);color:#fff;box-shadow:var(--sS)}
.btn-sky:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 14px 44px rgba(40,168,224,.42)}
.btn-outline{background:transparent;color:var(--sky-lo);border:1.5px solid var(--sky-edge2)}
.btn-outline:hover{background:var(--sky-pale);border-color:var(--sky);color:var(--sky);transform:translateY(-2px)}
.btn-outline-ink{background:transparent;color:var(--ink);border:1.5px solid rgba(13,26,36,.3)}
.btn-outline-ink:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}
.btn-white{background:#fff;color:var(--ink);box-shadow:var(--sM)}
.btn-white:hover{background:var(--sky-xpale);transform:translateY(-2px)}
.arr::after{content:' →'}

/* NAV — light, always visible */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:64px;display:flex;align-items:center;padding:0 2.5rem;justify-content:space-between;background:rgba(255,255,255,.96);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);transition:all .3s}
.nav::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gSt)}
.nav.scrolled{background:rgba(255,255,255,.99);box-shadow:0 4px 24px rgba(13,26,36,.09)}
.nav-logo img{height:28px}
.nav-links{display:flex;align-items:center;gap:1.75rem}
.nav-links a{font-family:var(--fM);font-weight:400;font-size:.7rem;color:var(--text3);letter-spacing:.12em;text-transform:uppercase;transition:color .2s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1.5px;background:var(--sky);transition:width .28s}
.nav-links a:hover,.nav-links a.active{color:var(--ink)}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-cta{background:var(--sky)!important;color:#fff!important;padding:.38rem 1.1rem;font-family:var(--fM)!important;font-size:.65rem!important;letter-spacing:.12em;clip-path:var(--clip-sm)}
.nav-cta:hover{filter:brightness(1.08);transform:translateY(-1px)}
.nav-cta::after{display:none!important}
.hamburger{display:none;flex-direction:column;gap:4px;cursor:pointer;padding:4px}
.hamburger span{display:block;width:20px;height:1.5px;background:var(--text3);transition:all .3s}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}
.mobile-menu{display:none;flex-direction:column;background:var(--white);border-bottom:1px solid var(--border);padding:1.5rem 2.5rem;gap:.4rem}
.mobile-menu.open{display:flex}
.mobile-menu a{font-family:var(--fM);font-size:.72rem;color:var(--text3);padding:.6rem 0;border-bottom:1px solid var(--border);letter-spacing:.1em;text-transform:uppercase;transition:color .2s}
.mobile-menu a:hover{color:var(--sky)}

/* HERO — light sky gradient */
.hero{min-height:100vh;background:var(--gHero);position:relative;overflow:hidden;padding-top:64px;display:flex;flex-direction:column}
.hero-dots{position:absolute;inset:0;background-image:radial-gradient(rgba(40,168,224,.1) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}
/* Diagonal sky-blue right accent — much lighter now */
.hero-accent{position:absolute;top:0;right:0;width:45%;height:100%;background:linear-gradient(160deg,rgba(40,168,224,.05),rgba(40,168,224,.12));clip-path:polygon(12% 0,100% 0,100% 100%,0 100%);pointer-events:none}
/* Thin sky-blue vertical divider line */
.hero-vline{position:absolute;top:0;bottom:0;left:50%;width:1px;background:linear-gradient(to bottom,transparent,rgba(40,168,224,.3) 30%,rgba(40,168,224,.3) 70%,transparent);pointer-events:none}

.hero-body{display:grid;grid-template-columns:1fr 1fr;flex:1;align-items:center;max-width:1400px;margin:0 auto;width:100%;padding:4rem 5rem;gap:5rem;position:relative;z-index:1}

.h-tag{font-family:var(--fM);font-size:.6rem;color:var(--sky-lo);letter-spacing:.22em;text-transform:uppercase;margin-bottom:1.2rem;display:flex;align-items:center;gap:.6rem;animation:fU .5s both}
.h-tag::before{content:'';width:22px;height:1.5px;background:var(--sky)}

.hero-h1{font-family:var(--fD);font-weight:800;font-size:clamp(3rem,5vw,6.8rem);line-height:.93;color:var(--ink);letter-spacing:-.04em;margin-bottom:1.5rem;animation:fU .5s .08s both}
.hero-h1 .sky{background:var(--gS);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-h1 .ghost{-webkit-text-stroke:2px rgba(13,26,36,.15);color:transparent}

.hero-sub{font-family:var(--fB);font-size:.97rem;line-height:1.8;color:var(--text2);max-width:430px;margin-bottom:2.5rem;animation:fU .5s .15s both}
.hero-btns{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:3.5rem;animation:fU .5s .22s both}

/* HUD strip — on light bg: bordered panel */
.hero-hud{display:flex;gap:2rem;border-top:1.5px solid var(--border2);padding-top:2rem;animation:fU .5s .3s both}
.hud-item{display:flex;flex-direction:column;gap:.2rem}
.hud-key{font-family:var(--fM);font-size:.56rem;color:var(--text4);letter-spacing:.18em;text-transform:uppercase}
.hud-val{font-family:var(--fM);font-size:.8rem;color:var(--ink);font-weight:500}

.hero-right{display:flex;flex-direction:column;gap:1.25rem;animation:fU .55s .2s both}
.hero-plane{width:100%;height:300px;overflow:hidden;clip-path:var(--clip);border:1.5px solid var(--border2);position:relative;background:var(--cool50)}
.hero-plane::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 82%,rgba(232,245,252,.9) 100%)}
.hero-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.hc{background:var(--white);border:1.5px solid var(--border);padding:1.1rem;clip-path:var(--clip-sm);transition:all .3s;box-shadow:var(--sM)}
.hc:hover{border-color:var(--borderS2);box-shadow:var(--sS)}
.hc-val{font-family:var(--fD);font-weight:700;font-size:1.65rem;color:var(--ink);line-height:1;letter-spacing:-.04em}
.hc-dot{width:5px;height:5px;border-radius:50%;background:var(--sky);display:inline-block;vertical-align:middle;margin-right:.3rem;animation:bl 2s infinite}
@keyframes bl{0%,100%{opacity:1}50%{opacity:.15}}
.hc-lbl{font-family:var(--fM);font-size:.54rem;color:var(--text4);letter-spacing:.16em;text-transform:uppercase;margin-top:.25rem}
@keyframes fU{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

/* TICKER — sky blue band, kept same */
.ticker{background:var(--sky);height:40px;overflow:hidden;display:flex;align-items:center}
.ticker-track{display:flex;white-space:nowrap;animation:tick 38s linear infinite}
.ticker-track:hover{animation-play-state:paused}
.t-item{display:inline-flex;align-items:center;gap:.65rem;padding:0 2rem;font-family:var(--fM);font-size:.63rem;font-weight:500;color:rgba(255,255,255,.85);letter-spacing:.12em;text-transform:uppercase}
.t-div{width:4px;height:4px;background:rgba(255,255,255,.4);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);flex-shrink:0}
@keyframes tick{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* LAYOUT */
.container{max-width:1280px;margin:0 auto;padding:0 2.5rem}
.container-n{max-width:1060px;margin:0 auto;padding:0 2.5rem}
.sp{padding:7rem 0}
.s-tag{font-family:var(--fM);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.5rem;margin-bottom:.75rem}
.s-tag::before{content:'▸';font-size:.52rem;opacity:.7}
.s-tag.lt{color:var(--sky-lo)}.s-tag.lt::before{color:var(--sky)}
.s-tag.dk{color:var(--sky)}.s-tag.dk::before{color:var(--sky-hi)}
.s-title{font-family:var(--fD);font-weight:800;font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.03;letter-spacing:-.04em;margin-bottom:1rem}
.s-title.lt{color:var(--ink)}.s-title.dk{color:#fff}
.s-title em{font-style:normal;color:var(--sky)}
.s-sub{font-family:var(--fB);font-size:.97rem;line-height:1.8;max-width:510px}
.s-sub.lt{color:var(--text2)}.s-sub.dk{color:rgba(255,255,255,.6)}

/* BENTO SERVICES */
.bento{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:auto auto;gap:.75rem;margin-top:3rem}
.bento-feat{grid-row:1/3;background:var(--white);border:1.5px solid var(--border);clip-path:var(--clip);padding:3.5rem;position:relative;overflow:hidden;transition:all .35s;box-shadow:var(--sM)}
.bento-feat::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--gSt)}
.bento-feat:hover{border-color:var(--borderS2);box-shadow:var(--sSky)}
.bfn{font-family:var(--fM);font-size:.56rem;color:var(--sky-edge2);letter-spacing:.22em;margin-bottom:.85rem}
.bfi{font-size:2.8rem;margin-bottom:1.25rem}
.bft{font-family:var(--fD);font-weight:700;font-size:1.7rem;color:var(--ink);letter-spacing:-.03em;margin-bottom:.75rem;line-height:1.08}
.bfd{font-family:var(--fB);font-size:.95rem;color:var(--text2);line-height:1.75;margin-bottom:1.5rem}
.bftags{display:flex;flex-wrap:wrap;gap:.4rem}
.bftag{font-family:var(--fM);font-size:.56rem;color:var(--sky-lo);background:var(--sky-xpale);border:1px solid var(--borderS);padding:.15rem .55rem;letter-spacing:.06em}
.bento-card{background:var(--white);border:1.5px solid var(--border);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);padding:2rem;position:relative;overflow:hidden;transition:all .3s;box-shadow:var(--sM)}
.bento-card::after{content:'';position:absolute;top:0;left:0;right:0;height:1.5px;background:var(--gSt);transform:scaleX(0);transform-origin:left;transition:transform .4s}
.bento-card:hover{border-color:var(--borderS2);box-shadow:var(--sS)}
.bento-card:hover::after{transform:scaleX(1)}
.bcn{font-family:var(--fM);font-size:.54rem;color:var(--sky-edge);letter-spacing:.2em;margin-bottom:.4rem}
.bci{font-size:1.5rem;margin-bottom:.5rem}
.bct{font-family:var(--fD);font-weight:700;font-size:1rem;color:var(--ink);letter-spacing:-.02em;margin-bottom:.3rem}
.bcd{font-family:var(--fB);font-size:.82rem;color:var(--text2);line-height:1.6}

/* ABOUT — dark strip with top diagonal cut, kept dark for contrast */
.about-section{background:var(--ink2);position:relative;overflow:hidden}
.about-section::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(40,168,224,.05) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}
.about-diag{position:absolute;top:-1px;left:0;right:0;height:70px;background:var(--smoke);clip-path:polygon(0 0,100% 0,100% 15%,0 100%)}
.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;position:relative;z-index:1;padding:9rem 0 7rem}
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:2rem}
.stat-box{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);clip-path:var(--clip-sm);padding:1.4rem;transition:all .3s}
.stat-box:hover{background:rgba(40,168,224,.08);border-color:rgba(40,168,224,.28)}
.sbn{font-family:var(--fD);font-weight:800;font-size:2.6rem;color:#fff;line-height:1;letter-spacing:-.06em}
.sbl{font-family:var(--fM);font-size:.54rem;color:rgba(255,255,255,.28);letter-spacing:.18em;text-transform:uppercase;margin-top:.3rem}
.ill-panel{position:relative;overflow:hidden;clip-path:var(--clip);border:1px solid rgba(255,255,255,.1);min-height:380px;display:flex;align-items:stretch}
.ill-panel svg,.ill-panel img{width:100%;height:100%}

/* SKYLINE SECTION */
.skyline-section{background:var(--cool50);position:relative;overflow:hidden}

/* FEATURE GRID — white cards on light grey */
.feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1.5px solid var(--border);margin-top:3rem;overflow:hidden}
.feat-cell{padding:2.5rem 2rem;border-right:1.5px solid var(--border);position:relative;overflow:hidden;transition:all .32s;background:var(--white)}
.feat-cell:last-child{border-right:none}
.feat-cell::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gSt);transform:scaleX(0);transform-origin:left;transition:transform .4s}
.feat-cell:hover{background:var(--sky-xpale)}
.feat-cell:hover::after{transform:scaleX(1)}
.fcn{font-family:var(--fM);font-size:.52rem;color:var(--sky-edge);letter-spacing:.2em;margin-bottom:.6rem}
.fci{font-size:1.6rem;margin-bottom:.7rem}
.fct{font-family:var(--fD);font-weight:700;font-size:.94rem;color:var(--ink);letter-spacing:-.02em;margin-bottom:.35rem}
.fcd{font-family:var(--fB);font-size:.82rem;color:var(--text2);line-height:1.6}

/* SKY BAND — same, it's already blue */
.sky-band{background:var(--gS);padding:4.5rem 0;position:relative;overflow:hidden}
.sky-band::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent,transparent 24px,rgba(255,255,255,.025) 24px,rgba(255,255,255,.025) 25px);pointer-events:none}
.sky-band::after{content:'';position:absolute;top:-1px;left:0;right:0;height:70px;background:var(--smoke);clip-path:polygon(0 0,100% 0,100% 20%,0 100%)}
.skb-inner{display:grid;grid-template-columns:repeat(4,1fr);position:relative;z-index:1}
.skb-cell{text-align:center;padding:1.5rem 1rem;border-right:1px solid rgba(255,255,255,.2)}
.skb-cell:last-child{border-right:none}
.skb-num{font-family:var(--fD);font-weight:800;font-size:3rem;color:#fff;line-height:1;letter-spacing:-.06em}
.skb-lbl{font-family:var(--fM);font-size:.58rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-top:.3rem}

/* INDUSTRIES */
.ind-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:3rem}
.ind-card{background:var(--white);border:1.5px solid var(--border);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);padding:2rem;position:relative;overflow:hidden;transition:all .3s;box-shadow:var(--sM)}
.ind-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--gSt);transform:scaleX(0);transform-origin:left;transition:transform .4s}
.ind-card:hover{border-color:var(--borderS2);box-shadow:var(--sS)}
.ind-card:hover::before{transform:scaleX(1)}
.icn{font-family:var(--fM);font-size:.54rem;color:var(--sky-edge);letter-spacing:.2em;margin-bottom:.5rem}
.ici{font-size:1.6rem;margin-bottom:.6rem}
.icname{font-family:var(--fD);font-weight:700;font-size:.95rem;color:var(--ink);letter-spacing:-.02em;margin-bottom:.3rem}
.icd{font-family:var(--fB);font-size:.82rem;color:var(--text2);line-height:1.6}

/* SERVICE ROWS */
.svc-rows{background:var(--white)}
.svc-row{display:grid;grid-template-columns:1fr 1fr;border-bottom:1.5px solid var(--border)}
.svc-row:last-child{border-bottom:none}
.sr-text{padding:4.5rem;background:var(--white)}
.sr-visual{background:var(--cool50);display:flex;align-items:center;justify-content:center;min-height:320px;position:relative;overflow:hidden;border-left:1.5px solid var(--border)}
.sr-scan{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 10px,rgba(40,168,224,.025) 10px,rgba(40,168,224,.025) 11px)}
.sr-gn{position:absolute;bottom:-10px;right:10px;font-family:var(--fD);font-weight:800;font-size:7rem;color:rgba(40,168,224,.07);line-height:1;letter-spacing:-.05em}
.sr-ico-big{font-size:5rem;position:relative;z-index:1}
.sr-stag{font-family:var(--fM);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sky-lo);display:inline-flex;align-items:center;gap:.5rem;margin-bottom:.7rem}
.sr-stag::before{content:'▸';font-size:.5rem;color:var(--sky)}
.sr-h2{font-family:var(--fD);font-weight:800;font-size:clamp(1.7rem,2.8vw,2.3rem);color:var(--ink);margin-bottom:1rem;line-height:1.04;letter-spacing:-.04em}
.sr-desc{font-family:var(--fB);font-size:.96rem;line-height:1.8;color:var(--text2);margin-bottom:1.5rem}
.sr-list{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.75rem}
.sr-list li{display:flex;align-items:center;gap:.7rem;font-family:var(--fB);font-size:.9rem;color:var(--text)}
.sr-list li::before{content:'▸';color:var(--sky);font-size:.52rem;flex-shrink:0}
.tag-row{display:flex;flex-wrap:wrap;gap:.4rem}
.stag{background:var(--sky-xpale);border:1px solid var(--borderS);color:var(--sky-lo);padding:.18rem .65rem;font-family:var(--fM);font-size:.58rem;letter-spacing:.06em}
.svc-row:nth-child(even) .sr-text{order:2}
.svc-row:nth-child(even) .sr-visual{order:1;border-left:none;border-right:1.5px solid var(--border)}

/* CTA — sky blue, same energy */
.cta-section{background:var(--gS);padding:8rem 2.5rem;position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent,transparent 28px,rgba(255,255,255,.035) 28px,rgba(255,255,255,.035) 29px);pointer-events:none}
.cta-dtop{position:absolute;top:-1px;left:0;right:0;height:70px}
.cta-dtop.from-white{background:var(--white);clip-path:polygon(0 0,100% 0,100% 20%,0 100%)}
.cta-dtop.from-smoke{background:var(--smoke);clip-path:polygon(0 0,100% 0,100% 20%,0 100%)}
.cta-dtop.from-cool{background:var(--cool50);clip-path:polygon(0 0,100% 0,100% 20%,0 100%)}
.cta-inner{text-align:center;position:relative;z-index:1;max-width:680px;margin:0 auto}
.cta-title{font-family:var(--fD);font-weight:800;font-size:clamp(2.4rem,4.5vw,4.5rem);line-height:1.02;color:#fff;letter-spacing:-.05em;margin-bottom:.8rem;text-shadow:0 4px 24px rgba(0,0,0,.12)}
.cta-sub{font-family:var(--fB);font-size:1rem;color:rgba(255,255,255,.8);margin-bottom:2.25rem}
.cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* PAGE HERO — light sky gradient */
.page-hero{background:var(--gHero);padding:9.5rem 2.5rem 6.5rem;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(40,168,224,.09) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}
.page-hero::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:70px}
.page-hero.aw::after{background:var(--white);clip-path:polygon(0 80%,100% 0,100% 100%,0 100%)}
.page-hero.as::after{background:var(--smoke);clip-path:polygon(0 80%,100% 0,100% 100%,0 100%)}
.page-hero.ac::after{background:var(--cool50);clip-path:polygon(0 80%,100% 0,100% 100%,0 100%)}
.ph-bar{position:absolute;top:0;left:0;right:0;height:2px;background:var(--gSt)}
.ph-inner{max-width:1280px;margin:0 auto;position:relative;z-index:1}
.bc{display:flex;gap:.4rem;font-family:var(--fM);font-size:.58rem;color:var(--text4);margin-bottom:1.5rem;letter-spacing:.1em;text-transform:uppercase}
.bc a{color:var(--text4);transition:color .2s}
.bc a:hover{color:var(--sky)}
.bc .sep{color:var(--cool200)}
.page-hero h1{font-family:var(--fD);font-weight:800;font-size:clamp(3rem,6vw,6.5rem);line-height:.96;color:var(--ink);margin-bottom:1rem;letter-spacing:-.05em}
.page-hero h1 em{font-style:normal;color:var(--sky)}
.page-hero .phsub{font-family:var(--fB);font-size:1.05rem;color:var(--text2);max-width:520px;line-height:1.75}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.ci-block{display:flex;gap:1rem;align-items:flex-start;padding:1.2rem;border:1.5px solid var(--border);background:var(--white);clip-path:var(--clip-sm);transition:all .25s;margin-bottom:1rem;box-shadow:var(--sM)}
.ci-block:hover{border-color:var(--borderS2);box-shadow:var(--sS)}
.ci-ico{width:38px;height:38px;background:var(--sky-xpale);clip-path:var(--clip-ico);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--borderS)}
.ci-lbl{font-family:var(--fM);font-size:.57rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sky-lo);margin-bottom:.25rem}
.ci-val{font-family:var(--fB);font-size:.91rem;color:var(--text);line-height:1.55}
.ci-val a{color:var(--sky-lo);transition:color .2s}
.ci-val a:hover{color:var(--sky)}
.faq-item{border-bottom:1.5px solid var(--border)}
.faq-q{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 0;cursor:pointer;font-family:var(--fD);font-weight:700;font-size:.93rem;color:var(--ink);transition:color .2s}
.faq-q:hover{color:var(--sky-lo)}
.faq-tog{width:26px;height:26px;background:var(--sky-xpale);clip-path:var(--clip-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--sky-lo);font-size:.82rem;border:1px solid var(--borderS);transition:all .25s}
.faq-item.open .faq-tog{background:var(--sky);color:#fff;transform:rotate(45deg)}
.faq-ans{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-item.open .faq-ans{max-height:220px}
.faq-ans p{font-family:var(--fB);font-size:.91rem;color:var(--text2);line-height:1.7;padding-bottom:1.2rem}

/* POLICY */
.pol-layout{display:grid;grid-template-columns:200px 1fr;gap:5rem}
.pol-sidebar{position:sticky;top:84px}
.pol-nav-ttl{font-family:var(--fM);font-size:.56rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--text4);margin-bottom:1rem}
.pol-nav a{display:block;font-family:var(--fB);font-size:.84rem;color:var(--text2);padding:.3rem 0 .3rem .8rem;border-left:2px solid var(--border);transition:all .2s;margin-bottom:.2rem}
.pol-nav a:hover{color:var(--sky-lo);border-left-color:var(--sky)}
.pol-body h2{font-family:var(--fD);font-weight:700;font-size:1.2rem;color:var(--ink);margin:3rem 0 .8rem;padding-bottom:.5rem;border-bottom:2px solid var(--sky-pale);letter-spacing:-.02em}
.pol-body p,.pol-body li{font-family:var(--fB);font-size:.92rem;line-height:1.8;color:var(--text2);margin-bottom:.85rem}
.pol-body ul{margin:.5rem 0 .85rem 1.2rem}
.pol-body strong{color:var(--ink)}
.pol-body a{color:var(--sky-lo)}

/* FOOTER — dark strip at base (kept dark for visual anchor) */
footer{background:var(--ink);border-top:2px solid var(--sky)}
.f-stripe{height:0}
.f-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:4rem;padding:5rem 0 3.5rem;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:2rem}
.f-brand img{height:26px;margin-bottom:1.25rem}
.f-brand p{font-family:var(--fB);font-size:.86rem;line-height:1.7;color:rgba(255,255,255,.38);margin-bottom:1rem}
.f-brand address{font-style:normal;font-family:var(--fB);font-size:.8rem;color:rgba(255,255,255,.26);line-height:1.8}
.f-col-ttl{font-family:var(--fM);font-size:.54rem;letter-spacing:.26em;text-transform:uppercase;color:rgba(255,255,255,.22);margin-bottom:1.2rem}
.f-links{display:flex;flex-direction:column;gap:.5rem}
.f-links a{font-family:var(--fB);font-size:.86rem;color:rgba(255,255,255,.38);transition:color .2s}
.f-links a:hover{color:var(--sky)}
.f-btm{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding-bottom:2.5rem}
.f-btm p,.f-btm a{font-family:var(--fM);font-size:.58rem;color:rgba(255,255,255,.18);letter-spacing:.08em}
.f-btm a:hover{color:var(--sky)}
.f-btm-links{display:flex;gap:2rem}
.f-accent{color:var(--sky)}

/* BACK TO TOP */
.btt{position:fixed;bottom:2rem;right:2rem;width:44px;height:44px;background:var(--sky);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--sSky);opacity:0;transform:translateY(12px);transition:opacity .3s,transform .3s;z-index:999;pointer-events:none;clip-path:var(--clip-sm)}
.btt.visible{opacity:1;transform:translateY(0);pointer-events:auto}
.btt:hover{filter:brightness(1.08);transform:translateY(-4px)!important}
.btt svg{width:18px;height:18px;stroke:#fff;stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* SCROLL REVEAL */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}

/* RESPONSIVE */
@media(max-width:1100px){
  .hero-body{grid-template-columns:1fr;padding:3rem 3rem 5rem}.hero-right{display:none}
  .about-inner{grid-template-columns:1fr;gap:3rem;padding:6rem 0 5rem}.about-diag{display:none}
  .contact-grid{grid-template-columns:1fr;gap:2.5rem}.pol-layout{grid-template-columns:1fr}.pol-sidebar{display:none}
  .f-grid{grid-template-columns:1fr 1fr;gap:3rem}
  .svc-row{grid-template-columns:1fr}.sr-visual{min-height:150px;border:none!important;border-top:1.5px solid var(--border)!important}
  .svc-row:nth-child(even) .sr-text,.svc-row:nth-child(even) .sr-visual{order:unset}.sr-text{padding:3rem 2rem}
  .bento{grid-template-columns:1fr}.bento-feat{grid-row:auto}
  .feat-grid{grid-template-columns:1fr 1fr}.ind-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .nav-links{display:none}.hamburger{display:flex}
  .skb-inner{grid-template-columns:1fr 1fr}.skb-cell{border-right:none;border-bottom:1px solid rgba(255,255,255,.15)}
  .skb-cell:nth-child(odd){border-right:1px solid rgba(255,255,255,.15)}
  .f-grid{grid-template-columns:1fr}.f-btm{flex-direction:column;text-align:center}
  .sp{padding:4.5rem 0}.feat-grid{grid-template-columns:1fr 1fr}.ind-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .feat-grid{grid-template-columns:1fr}.ind-grid{grid-template-columns:1fr}.skb-inner{grid-template-columns:1fr}
}
