.hero{position:relative;overflow:hidden;padding:clamp(54px,6.5vw,88px) 0 74px;background:
radial-gradient(circle at 82% 18%,rgba(54,215,208,.15),transparent 25%),
linear-gradient(180deg,#f7fbfb 0%,#edf8f9 100%)}
.hero::before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(8,127,189,.14);border-radius:50%;right:-180px;top:-210px;box-shadow:0 0 0 46px rgba(8,127,189,.03),0 0 0 92px rgba(8,127,189,.025)}
.hero-waterline{position:absolute;left:-8%;right:-8%;bottom:34px;height:82px;opacity:.24;background:
radial-gradient(80px 28px at 80px 5px,transparent 67%,rgba(8,127,189,.32) 69%,transparent 72%) 0 0/160px 70px repeat-x;animation:waterDrift 14s linear infinite}
@keyframes waterDrift{to{transform:translateX(160px)}}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(480px,1.05fr);align-items:center;gap:clamp(42px,5vw,76px)}
.hero-copy{padding:22px 0}
.hero h1{max-width:700px;margin:0;font-size:clamp(3.5rem,4.8vw,5.15rem);line-height:1.10;letter-spacing:-.065em;font-weight:790}
.hero h1 em,.story-copy h2 em,.portfolio-head h2 em{font-family:Georgia,"Times New Roman",serif;font-weight:500;color:var(--blue)}
.hero h1 em{font-size:.82em;letter-spacing:-.045em}
.hero-lead{max-width:600px;margin:26px 0 0;color:#4b6872;font-size:clamp(1rem,1.3vw,1.14rem)}
.hero-actions{display:flex;align-items:center;gap:22px;margin-top:32px}
.hero-areas{display:flex;flex-wrap:wrap;gap:9px;margin-top:30px}
.hero-areas span{padding:7px 11px;border:1px solid rgba(11,37,49,.13);border-radius:999px;color:#53707a;font-size:.78rem;font-weight:700;background:rgba(255,255,255,.58)}
.hero-media{position:relative;min-height:590px;transition:transform .45s var(--ease)}
.hero-media-main{position:absolute;inset:0 46px 46px 0;border-radius:36px 8px 36px 36px;overflow:hidden;background:#c7e9ed;box-shadow:var(--shadow)}
.hero-media-main::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(3,24,34,.55))}
.hero-media-main img{width:100%;height:100%;object-fit:cover;object-position:50% center;transform:scale(1.035);transition:transform .9s var(--ease)}
.hero-media:hover .hero-media-main img{transform:scale(1.055)}
.hero-media-main figcaption{position:absolute;left:22px;bottom:20px;z-index:2;display:flex;align-items:center;gap:9px;color:white;font-size:.8rem;font-weight:700;letter-spacing:.03em}
.hero-media-float{position:absolute;right:0;bottom:0;width:36%;aspect-ratio:1/1.18;border:8px solid var(--paper);border-radius:24px 24px 6px 24px;overflow:hidden;box-shadow:0 18px 45px rgba(6,27,41,.22)}
.hero-media-float img{width:100%;height:100%;object-fit:cover}
.hero-orbit{position:absolute;left:-26px;bottom:86px;width:108px;height:108px;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:5px;background:var(--navy);color:#fff;font-size:.61rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;transform:rotate(-12deg);box-shadow:0 18px 40px rgba(6,27,41,.2)}
.hero-orbit i{color:var(--aqua)}
.trust-strip{position:relative;z-index:3;background:var(--navy);color:#fff}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-grid>div{display:flex;align-items:center;gap:14px;min-height:100px;padding:18px 24px;border-right:1px solid rgba(255,255,255,.09)}
.trust-grid>div:first-child{padding-left:0}
.trust-grid>div:last-child{border-right:0}
.trust-grid i{color:var(--aqua);font-size:1.1rem}
.trust-grid span{display:flex;flex-direction:column;line-height:1.2}
.trust-grid strong{font-size:.9rem}
.trust-grid small{margin-top:5px;color:#9db7bf;font-size:.78rem;line-height:1.3}


.story-grid{display:grid;grid-template-columns:minmax(440px,1.04fr) minmax(0,.96fr);align-items:center;gap:clamp(50px,7vw,96px)}
.story-media{position:relative;min-height:520px}
.story-image-main{position:absolute;left:0;right:15%;top:0;height:390px;border-radius:8px 32px 32px 32px;overflow:hidden;background:#d6eef0}
.story-image-main img{width:100%;height:100%;object-fit:cover;object-position:center}
.story-image-detail{position:absolute;right:0;bottom:0;width:38%;height:310px;border:8px solid var(--paper);border-radius:26px 26px 8px 26px;overflow:hidden;box-shadow:var(--shadow)}
.story-image-detail img{width:100%;height:100%;object-fit:cover}
.story-label{position:absolute;left:22px;top:326px;padding:9px 13px;border-radius:999px;background:rgba(6,27,41,.9);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.story-copy h2{max-width:620px;margin:0;font-size:clamp(2.8rem,4.3vw,4.6rem);line-height:1.10;letter-spacing:-.055em}
.story-copy>p{max-width:570px;margin:24px 0 0;color:var(--muted);font-size:1.04rem}
.story-list{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin:30px 0}
.story-list span{display:flex;align-items:center;gap:9px;min-height:44px;padding:10px 0;border-bottom:1px solid var(--line);font-weight:690;font-size:.9rem}
.story-list i{color:var(--blue);font-size:.78rem}


.offer-rows{border-top:1px solid var(--line)}
.offer-row{display:grid;grid-template-columns:70px minmax(0,.9fr) minmax(420px,1.1fr);gap:32px;align-items:center;padding:48px 0;border-bottom:1px solid var(--line)}
.offer-row-reverse{grid-template-columns:70px minmax(420px,1.1fr) minmax(0,.9fr)}
.offer-row-reverse .offer-copy{grid-column:3}
.offer-row-reverse .offer-image{grid-column:2;grid-row:1}
.offer-index{align-self:start;padding-top:5px;color:var(--blue);font-family:Georgia,serif;font-size:1.25rem}
.offer-tag{display:inline-flex;padding:6px 10px;border-radius:999px;background:#dff5f6;color:#20606e;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.offer-copy h3{max-width:540px;margin:16px 0 14px;font-size:clamp(1.7rem,2.7vw,2.6rem);line-height:1.08;letter-spacing:-.04em}
.offer-copy p{max-width:560px;margin:0;color:var(--muted)}
.offer-image{height:310px;border-radius:26px 8px 26px 26px;overflow:hidden;background:#d8edf0}
.offer-image img{width:100%;height:100%;object-fit:cover;object-position:center 42%}


.portfolio-section{background:var(--navy);color:#fff}
.portfolio-head{display:grid;grid-template-columns:1.2fr .65fr;gap:60px;align-items:end;margin-bottom:48px}
.portfolio-head h2{max-width:760px;margin:0;font-size:clamp(2.8rem,5vw,5.1rem);line-height:1.10;letter-spacing:-.055em}
.portfolio-head h2 em{color:var(--aqua)}
.portfolio-head>p{margin:0;color:#9bb5be}
.portfolio-mosaic{display:grid;grid-template-columns:1.3fr .7fr;grid-template-rows:270px 270px;gap:14px}
.portfolio-item{position:relative;overflow:hidden;border-radius:20px;background:#123644}
.portfolio-wide{grid-row:1/3}
.portfolio-tall{grid-column:2;grid-row:1}
.portfolio-item:last-child{grid-column:2;grid-row:2}
.portfolio-item img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform .7s var(--ease)}
.portfolio-item:hover img{transform:scale(1.075)}
.portfolio-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(3,23,33,.72))}
.portfolio-item figcaption{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.portfolio-item figcaption strong{font-size:.98rem}
.portfolio-item figcaption span{color:#c2d6dc;font-size:.78rem}


.technical-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(50px,8vw,105px);align-items:center}
.technical-copy h2{max-width:600px;margin:0;font-size:clamp(2.65rem,4.4vw,4.8rem);line-height:1.10;letter-spacing:-.055em}
.technical-copy>p{max-width:580px;margin:24px 0;color:var(--muted)}
.technical-points{margin:30px 0 18px;border-top:1px solid var(--line)}
.technical-points>div{display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:center;min-height:58px;border-bottom:1px solid var(--line)}
.technical-points span{font-family:Georgia,serif;color:var(--blue)}
.technical-points p{margin:0}
.technical-gallery{position:relative;min-height:610px}
.tech-main{position:absolute;inset:0 17% 60px 0;border-radius:30px 8px 30px 30px;overflow:hidden;background:#cadadd}
.tech-main img{width:100%;height:100%;object-fit:cover}
.tech-side{position:absolute;right:0;bottom:0;width:36%;height:360px;border:8px solid var(--paper);border-radius:22px 22px 7px 22px;overflow:hidden;box-shadow:var(--shadow)}
.tech-side img{width:100%;height:100%;object-fit:cover}
.tech-caption{position:absolute;left:22px;bottom:82px;padding:9px 12px;border-radius:999px;background:var(--aqua);color:#06313a;font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}


.process-heading{display:flex;justify-content:space-between;align-items:end;gap:40px}
.process-track{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}
.process-track li{position:relative;padding:30px 26px 10px 0;border-right:1px solid var(--line)}
.process-track li+li{padding-left:26px}
.process-track li:last-child{border-right:0}
.process-track>li>span{font-family:Georgia,serif;font-size:1.3rem;color:var(--blue)}
.process-track strong{display:block;margin-top:34px;font-size:1.05rem}
.process-track p{margin:8px 0 0;color:var(--muted);font-size:.9rem}


.area-section{position:relative;overflow:hidden;padding:110px 0;background:linear-gradient(135deg,#06202d,#0c3b4b);color:#fff}
.area-word{position:absolute;left:50%;top:50%;transform:translate(-50%,-53%);font-size:clamp(6rem,15vw,15rem);font-weight:900;letter-spacing:-.07em;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.08)}
.area-content{position:relative;z-index:1;max-width:820px;text-align:center}
.area-content h2{margin:0;font-size:clamp(2.6rem,5vw,5rem);line-height:1.10;letter-spacing:-.055em}
.area-content p{max-width:640px;margin:20px auto 0;color:#abc3ca}
.area-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:30px}
.area-chips span{padding:9px 15px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.04);font-weight:700;font-size:.82rem}


.hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:
linear-gradient(118deg,transparent 0 48%,rgba(255,255,255,.2) 49%,transparent 51%) 0 0/280px 100%,
radial-gradient(ellipse at 72% 92%,rgba(54,215,208,.08),transparent 34%);opacity:.42}
@keyframes heroLight{to{background-position:560px 0,0 0}}
.hero-copy,.hero-media{position:relative;z-index:2}
.hero-media::before{content:"";position:absolute;inset:8% 2% 3% 11%;border-radius:46%;background:rgba(54,215,208,.16);z-index:-1}
.hero-media-code{position:absolute;right:15px;top:18px;z-index:3;display:flex;align-items:center;gap:8px;padding:8px 11px;border-radius:999px;background:rgba(6,27,41,.72);color:#fff;backdrop-filter:blur(8px);font-size:.62rem;letter-spacing:.08em}
.hero-media-code span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--aqua);color:var(--navy);font-family:Georgia,serif;font-weight:700}
.hero-media-code strong{font-size:.62rem}
.trust-strip{box-shadow:0 18px 48px rgba(6,27,41,.12)}
.trust-strip::after{content:"";position:absolute;left:0;right:0;bottom:-25px;height:25px;background:linear-gradient(180deg,rgba(6,27,41,.08),transparent);pointer-events:none}
.service-marquee{position:relative;z-index:2;overflow:hidden;border-bottom:1px solid var(--line);background:rgba(255,255,255,.94)}
.service-marquee-track{display:flex;align-items:center;gap:24px;width:max-content;padding:14px 0;color:#6c858e;font-size:.69rem;font-weight:850;letter-spacing:.18em}
.service-marquee.is-active .service-marquee-track{animation-play-state:running}
.service-marquee-track i{font-style:normal;color:var(--aqua);font-size:1rem}
.service-marquee-track span{white-space:nowrap}
@keyframes serviceMarquee{to{transform:translateX(-50%)}}
.service-story{position:relative;overflow:hidden;background:
radial-gradient(circle at 88% 18%,rgba(54,215,208,.1),transparent 24%),
linear-gradient(180deg,var(--paper),#f2f9fa)}
.service-story::before{content:"FLOW";position:absolute;left:-.04em;bottom:-.24em;font-size:clamp(8rem,18vw,17rem);font-weight:900;letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px rgba(8,127,189,.045);pointer-events:none}
.story-grid{position:relative;z-index:1}
.offer-section{position:relative;overflow:hidden;background:
linear-gradient(90deg,transparent 0 49.94%,rgba(8,127,189,.055) 50%,transparent 50.06%),
radial-gradient(circle at 10% 8%,rgba(8,127,189,.07),transparent 22%),
var(--ice)}
.offer-section::after{content:"";position:absolute;right:-160px;bottom:-180px;width:430px;height:430px;border:1px solid rgba(8,127,189,.1);border-radius:50%;box-shadow:0 0 0 48px rgba(8,127,189,.018),0 0 0 96px rgba(8,127,189,.012);pointer-events:none}
.offer-rows{position:relative;z-index:1}
.portfolio-section{position:relative;overflow:hidden;background:
radial-gradient(circle at 18% 0%,rgba(54,215,208,.12),transparent 24%),
radial-gradient(circle at 86% 100%,rgba(8,127,189,.15),transparent 28%),
var(--navy)}
.portfolio-section::before{content:"REAL WORK";position:absolute;right:-.03em;top:-.12em;font-size:clamp(6rem,14vw,13rem);font-weight:900;letter-spacing:-.07em;color:rgba(255,255,255,.025);pointer-events:none}
.portfolio-head,.portfolio-mosaic{position:relative;z-index:1}
.technical-section{position:relative;overflow:hidden;background:
linear-gradient(115deg,var(--paper) 0 55%,#eaf6f7 55% 100%)}
.technical-section::before{content:"SYSTEM";position:absolute;left:-.03em;top:5%;writing-mode:vertical-rl;transform:rotate(180deg);font-size:.68rem;font-weight:900;letter-spacing:.28em;color:rgba(8,127,189,.28)}
.process-section{position:relative;background:#fff}
.process-track li::before{content:"";position:absolute;top:-4px;left:0;width:8px;height:8px;border-radius:50%;background:var(--aqua);box-shadow:0 0 0 6px rgba(54,215,208,.11)}
.process-track li+li::before{left:26px}

@media(max-width:1100px){
  .hero-grid{grid-template-columns:.92fr 1.08fr;gap:38px}
  .hero h1{font-size:clamp(3.4rem,5.8vw,4.7rem)}
  .hero-media{min-height:520px}
  .trust-grid>div{padding-inline:17px}
  .offer-row{grid-template-columns:52px 1fr 1fr}
  .offer-row-reverse{grid-template-columns:52px 1fr 1fr}
  .technical-grid{gap:54px}
}
@media(max-width:820px){
  .hero{padding-top:42px}
  .hero-grid{grid-template-columns:1fr;gap:34px}
  .hero-copy{padding:8px 0 0}
  .hero h1{max-width:700px;font-size:clamp(3.6rem,10.2vw,5rem);line-height:1.10}
  .hero-lead{max-width:660px}
  .hero-media{min-height:470px}
  .hero-media-main{inset:0 70px 36px 0}
  .trust-grid{grid-template-columns:1fr 1fr}
  .trust-grid>div{padding:18px;border-bottom:1px solid rgba(255,255,255,.09)}
  .trust-grid>div:nth-child(2){border-right:0}
  .story-grid{grid-template-columns:1fr}
  .story-copy{order:1}
  .story-media{order:2;min-height:500px}
  .story-image-main{height:360px}
  .story-label{top:296px}
  .offer-row,.offer-row-reverse{grid-template-columns:50px 1fr;gap:24px}
  .offer-row .offer-copy,.offer-row-reverse .offer-copy{grid-column:2;grid-row:1}
  .offer-row .offer-image,.offer-row-reverse .offer-image{grid-column:1/3;grid-row:2;height:300px}
  .portfolio-head{grid-template-columns:1fr;gap:22px}
  .portfolio-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:390px 230px}
  .portfolio-wide{grid-column:1/3;grid-row:1}
  .portfolio-tall{grid-column:1;grid-row:2}
  .portfolio-item:last-child{grid-column:2;grid-row:2}
  .technical-grid{grid-template-columns:1fr}
  .technical-gallery{min-height:540px}
  .process-heading{align-items:flex-start;flex-direction:column}
  .process-track{grid-template-columns:1fr 1fr}
  .process-track li:nth-child(2){border-right:0}
  .process-track li:nth-child(n+3){border-top:1px solid var(--line)}
}
@media(max-width:560px){
  .hero{padding:30px 0 48px}
  .hero h1{font-size:clamp(3rem,14vw,3.7rem);line-height:1.10}
  .hero-lead{margin-top:20px}
  .hero-actions{align-items:stretch;flex-direction:column;gap:8px;margin-top:26px}
  .hero-actions .button{width:100%}
  .hero-actions .text-link{justify-content:center}
  .hero-areas{margin-top:18px;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;padding:0 0 4px;scrollbar-width:none}
  .hero-areas::-webkit-scrollbar{display:none}
  .hero-areas span{flex:0 0 auto;scroll-snap-align:start}
  .hero-media{min-height:365px}
  .hero-media-main{inset:0 22px 28px 0;border-radius:24px 8px 24px 24px}
  .hero-media-float{width:40%;border-width:5px}
  .hero-orbit{left:-2px;bottom:48px;width:76px;height:76px;font-size:.46rem}
  .hero-media-code{display:none}
  .service-marquee-track{gap:18px;padding-block:11px;font-size:.62rem}
  .hero-media-main figcaption{font-size:.73rem}
  .trust-grid{grid-template-columns:1fr}
  .trust-grid>div{border-right:0;min-height:82px;padding:14px 0}
  .story-copy h2{font-size:clamp(2.6rem,12vw,3.35rem);line-height:1.10}
  .story-list{grid-template-columns:1fr}
  .story-media{min-height:390px}
  .story-image-main{right:9%;height:280px}
  .story-image-detail{width:40%;height:230px;bottom:0;border-width:5px}
  .story-label{top:226px}
  .offer-row,.offer-row-reverse{grid-template-columns:42px 1fr;padding:38px 0}
  .offer-row .offer-image,.offer-row-reverse .offer-image{height:230px}
  .portfolio-mosaic{display:grid;grid-template-columns:1fr;grid-template-rows:300px 220px 220px}
  .portfolio-wide,.portfolio-tall,.portfolio-item:last-child{grid-column:1;grid-row:auto}
  .portfolio-item figcaption{align-items:flex-start;flex-direction:column;gap:2px}
  .technical-copy h2{font-size:clamp(2.45rem,11vw,3.35rem)}
  .technical-gallery{min-height:420px}
  .tech-main{right:10%;bottom:45px}
  .tech-side{width:41%;height:245px;border-width:5px}
  .tech-caption{bottom:58px}
  .process-track{grid-template-columns:1fr}
  .process-track li,.process-track li+li{padding:24px 0;border-right:0;border-top:1px solid var(--line)}
  .process-track strong{margin-top:16px}
  .area-section{padding:82px 0}
}
