/* GIAN-AI Portfolio — real project media, progressive enhancement, no UI library. */
:root{--navy:#061727;--navy2:#0a2439;--ink:#132b3e;--paper:#f7f5f0;--gold:#e8c992;--goldLight:#fff0ce;--cyan:#91d9ed;--muted:#b8c9d4;--line:rgba(217,234,247,.16);--sans:"Segoe UI",Arial,Helvetica,sans-serif;--serif:Georgia,"Times New Roman",serif;--curve:cubic-bezier(.2,.65,.25,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--navy);color:var(--paper);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}h1,h2,h3,h4,p,figure,blockquote{margin:0}h1,h2,h3{line-height:1.08;letter-spacing:-.045em}h1,h2{font-weight:450}h1{font-size:clamp(46px,5.1vw,72px)}h2{font-size:clamp(37px,4.1vw,59px)}h3{font-size:26px}h1 em,h2 em{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;color:var(--goldLight)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}img{display:block;max-width:100%;height:auto}button,input,select,textarea,a{touch-action:manipulation}::selection{background:#e8c992;color:var(--navy)}:focus-visible{outline:3px solid #38afd3;outline-offset:5px}button:focus-visible{outline-offset:4px}[hidden]{display:none!important}.wrap{width:min(1240px,calc(100% - 88px));margin-inline:auto}.icon{display:inline-block;vertical-align:middle;width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.symbol-bank{position:absolute;width:0;height:0;overflow:hidden}.skip{position:fixed;top:-100px;left:16px;z-index:200;padding:12px 18px;border-radius:10px;background:var(--gold);color:var(--navy)}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.section{padding-block:96px}.eyebrow{display:flex;align-items:center;gap:12px;letter-spacing:.16em;font-size:10px;font-weight:700;text-transform:uppercase;margin-bottom:22px;color:var(--gold)}.eyebrow:before{content:"";width:23px;height:1px;background:currentColor}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:36px}.section-heading>p{color:var(--muted);max-width:405px;line-height:1.9;font-size:15px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:15px 22px;border:1px solid transparent;border-radius:11px;font-size:14px;font-weight:650;line-height:1.4;transition:transform .22s,box-shadow .22s,background .22s;position:relative;isolation:isolate;overflow:hidden}.btn:hover{transform:translateY(-2px)}.gold{color:#142638;background:linear-gradient(118deg,#efd5a4 0%,#ffefcd 27%,#d6ac67 55%,#f4dfb4 82%,#e7c58e);border:1px solid #ffe9b8;box-shadow:inset 0 1px 1px #fff9,0 6px 16px #0002}.gold:before{content:"";position:absolute;inset:-20% auto -20% -75%;width:45%;background:linear-gradient(90deg,transparent,#fff9,transparent);transform:skewX(-20deg);pointer-events:none;animation:gold-sweep 8s ease-in-out infinite}.gold:hover{box-shadow:inset 0 1px 1px #fff9,0 8px 25px #e8c99230}.outline{border-color:#d7e8f72a;background:#fff5ffff;color:var(--paper);background:rgba(255,255,255,.035)}.outline:hover{background:#ffffff0e}.text-link{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;border-bottom:1px solid currentColor;padding:6px 0;background:none}.text-link .icon{width:16px;height:16px}.button-reset{padding:0;border:0;background:transparent}.btn-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.tiny{font-size:11px;line-height:1.7}.pill{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border:1px solid currentColor;border-radius:100px;font-size:10px;letter-spacing:.055em;font-weight:650}.dot{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block;flex:none}
/* Header */
.header{position:sticky;top:0;z-index:40;height:80px;border-bottom:1px solid #ffffff12;background:#071726f2;backdrop-filter:blur(18px)}.nav-row{height:100%;display:flex;gap:26px;align-items:center;justify-content:space-between}.brand{flex:none;display:flex;align-items:center;gap:12px}.brand-orbit{width:39px;height:39px;border:1px solid #e8c99270;border-radius:50%;display:grid;place-items:center;color:var(--goldLight);font:italic 25px var(--serif)}.brand-title{font:24px var(--serif);letter-spacing:.1em;color:#f5dcad;line-height:1.2}.brand-title b{font-weight:400;color:var(--cyan)}.brand small{display:block;font-size:7px;letter-spacing:.15em;color:#b3bbc0;margin-top:4px}.desktop-nav{display:flex;align-items:center;gap:24px}.desktop-nav a{font-size:12px;color:#bed1dd;white-space:nowrap}.desktop-nav a:hover{color:var(--goldLight)}.nav-actions{display:flex;align-items:center;gap:16px}.lang{display:flex;gap:1px;border:1px solid #b1c8dc26;border-radius:8px;padding:3px}.lang button{min-width:32px;min-height:34px;border:0;background:transparent;border-radius:5px;font-size:10px;letter-spacing:.03em;font-weight:650;color:#c2d0db}.lang button[aria-pressed="true"]{background:#e8c992;color:#091d2e}.nav-cta{min-height:42px;padding:11px 15px;font-size:12px}.menu-button{display:none;width:40px;height:40px;background:none;border:1px solid #ffffff30;border-radius:8px}.mobile-nav{position:absolute;top:100%;left:0;width:100%;background:#0a2134;padding:20px 24px;border-bottom:1px solid var(--line);box-shadow:0 18px 30px #0004}.mobile-nav a{display:block;padding:12px 6px;border-bottom:1px solid #ffffff12}
/* Hero: the actual approved logo always remains complete and unobstructed. */
.hero{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 15% 30%,#184b714d,transparent 52%),radial-gradient(ellipse at 96% 60%,#1958672b,transparent 54%),#061727}.hero:after{content:"";position:absolute;width:900px;height:900px;border:1px solid #e8c99212;border-radius:50%;top:-660px;right:-180px;z-index:-1;box-shadow:0 0 0 85px #a8d9f502,0 0 0 165px #a8d9f502}.hero-grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1fr);gap:72px;align-items:center;padding:48px 0 54px}.identity{margin:0;min-width:0}.logo-bezel{padding:8px;border:1px solid #e8c9922b;border-radius:25px;box-shadow:0 28px 65px #0003;background:#03101d;position:relative}.logo-bezel img{width:100%;height:auto;object-fit:contain;border-radius:18px;aspect-ratio:1}.identity figcaption{display:flex;align-items:center;justify-content:center;gap:12px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#b1c5d5;padding-top:17px}.identity figcaption:before,.identity figcaption:after{content:"";height:1px;width:22px;background:#d1b78d55}.hero-copy .eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:22px}.hero h1{line-height:1.02}.hero-lead{color:#bfd0db;max-width:450px;font-size:16px;line-height:1.85;margin:25px 0 26px}.hero .btn-row{gap:18px}.hero .text-link{color:#d7e4eb;font-size:12px}.hero-slogan{font:italic 17px/1.7 var(--serif);color:#dbc39d;max-width:420px;margin-top:25px}.hero-signal{display:block;margin-top:15px;color:#99b2c3;letter-spacing:.06em;font-size:10px}.proof-strip{border-top:1px solid #ffffff10;border-bottom:1px solid #ffffff15;background:#0b2537}.proof-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;color:#afc5d4;font-size:11px}.proof-inner>span{display:inline-flex;gap:10px;align-items:center}.proof-inner .icon{color:#d7b986;width:17px}
/* Portfolio */
.portfolio{background:linear-gradient(165deg,#082034 0%,#0b2940 30%,#081c2d 100%);position:relative}.showcase{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:20px;align-items:center;padding:38px 34px 18px;margin-bottom:36px;position:relative;border:1px solid #9dbfe138;border-radius:26px;background:radial-gradient(ellipse at 75% 65%,#293f913b,transparent 50%),radial-gradient(ellipse at 95% 20%,#53d6c229,transparent 40%),#0b2b43;overflow:hidden;isolation:isolate}.showcase:before{content:"";position:absolute;width:450px;height:450px;border:1px solid #c5def715;border-radius:50%;left:45%;top:-5%;z-index:-1;box-shadow:0 0 0 55px #c5def702,0 0 0 110px #c5def702}.showcase-copy{padding-bottom:24px;position:relative;z-index:4}.showcase .pill{color:#b4f1df;border-color:#9de0d544;background:#9de0d508;margin-bottom:22px}.showcase h3{font-size:clamp(26px,3vw,40px);font-weight:450;letter-spacing:-.035em}.showcase h3 em{font-family:var(--serif);color:#d4ecf1;font-weight:400}.showcase-copy>p{font-size:13px;line-height:1.85;color:#adc7d6;margin:18px 0 21px;max-width:330px}.showcase .text-link{color:#f0d9ad}.collage{position:relative;min-width:0;aspect-ratio:1.65;isolation:isolate;margin:0 10px 10px}.phone{position:absolute;display:block;width:26%;padding:0;border:0;border-radius:18px;background:#06111c;box-shadow:0 20px 34px #0006,0 0 0 1px #c9def930;transition:transform .4s var(--curve),box-shadow .3s;transform:rotate(var(--angle)) translateY(0);animation:drift var(--duration,8s) ease-in-out infinite;animation-delay:var(--delay,0s);text-align:left;color:#fff}.phone:nth-child(1){left:1%;top:11%;--angle:-9deg;--duration:9s;z-index:1}.phone:nth-child(2){left:25%;top:1%;--angle:-3deg;--duration:10s;--delay:-3s;z-index:2}.phone:nth-child(3){left:48%;top:12%;--angle:5deg;--duration:11s;--delay:-4s;z-index:3}.phone:nth-child(4){left:72%;top:0;--angle:11deg;--duration:9.5s;--delay:-2s;z-index:2}.phone:hover,.phone:focus-visible{z-index:5;animation-play-state:paused;transform:translateY(-16px) rotate(0deg) scale(1.07);box-shadow:0 28px 46px #0008}.phone-inner{display:block;position:relative;padding:7px;background:linear-gradient(135deg,#315a7066,#030c16);border-radius:18px}.phone-inner>.media-slot{border-radius:12px;overflow:hidden;aspect-ratio:9/16;background:#102638;position:relative}.media-slot>img{width:100%;height:100%;object-fit:contain}.phone-label{position:absolute;bottom:13px;right:10px;display:grid;place-items:center;border-radius:50%;width:25px;height:25px;background:#082235e8;box-shadow:0 2px 6px #0003;color:white;pointer-events:none}.phone-label .icon{width:14px}.shot-num{position:absolute;top:-12px;right:10px;width:24px;height:24px;border-radius:50%;background:#e8c992;color:#091d2e;display:grid;place-items:center;font-size:10px;font-weight:700;z-index:2}.showcase-foot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #ffffff13;padding:15px 0 0;color:#a6c1d2;font-size:10px}.showcase-foot a{display:inline-flex;gap:7px;align-items:center}.showcase-foot .icon{width:13px;height:13px}.showcase-foot a:hover{color:#e8c992}.media-fallback{position:absolute;inset:0;display:grid;align-content:center;text-align:center;justify-items:center;gap:9px;padding:12px;background:linear-gradient(145deg,#163149,#091c2c);color:#bdd5e3;font-size:10px;line-height:1.5}.media-fallback .icon{width:26px;height:26px;color:#d9c398}.media-fallback strong{font-family:var(--serif);letter-spacing:.08em;font-size:14px;color:var(--goldLight)}.media-slot.loaded .media-fallback,.public-art.loaded .media-fallback{display:none}.media-slot.failed>img,.public-art.failed>img{visibility:hidden}.media-slot.loading>img{opacity:0}.media-slot.loaded>img{opacity:1}.fallback-error{display:none}.failed .fallback-error{display:block}.failed .fallback-loading{display:none}.filter-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:23px}.filters{display:flex;gap:7px;flex-wrap:wrap}.filters button{padding:9px 15px;border-radius:8px;border:1px solid #b5cadd25;background:none;color:#bfd1dc;font-size:12px;min-height:40px}.filters button[aria-pressed="true"]{background:#edf3f2;color:#0d263a;border-color:#edf3f2}.project-counter{color:#9fbbce;font-size:11px;font-variant-numeric:tabular-nums}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.project-card{background:#0d2b413d;border:1px solid #a9cde528;border-radius:22px;overflow:hidden;transition:box-shadow .3s,border-color .3s}.project-card:hover{border-color:#d8d5b470;box-shadow:0 18px 40px #0002}.project-visual{position:relative;min-height:292px;overflow:hidden}.project-content{padding:26px 28px 25px;border-top:1px solid #bddeff17}.project-status{font-size:10px;letter-spacing:.035em;display:inline-flex;align-items:center;gap:7px;color:#adcada;min-height:22px;margin-bottom:9px}.project-status .dot{color:var(--accent,#a1e6ca)}.project-content h3{font-size:28px;letter-spacing:-.04em;margin-bottom:5px}.project-type{font-size:11px;line-height:1.8;color:#9db9cb}.project-content>p{color:#b5cbd9;font-size:14px;line-height:1.75;margin-top:13px;max-width:475px;min-height:74px}.project-tags{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0 20px}.project-tags span{padding:4px 9px;border:1px solid #b2d2e81c;border-radius:5px;color:#abc3d2;font-size:10px}.project-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.project-actions .btn{min-height:44px;padding:11px 15px;font-size:12px}.project-actions .text-link{font-size:11px;color:#c4d9e6}.visual-note{position:absolute;bottom:13px;left:18px;right:18px;display:block;font-size:9px;color:#e9f7fd;letter-spacing:.035em;text-align:left;z-index:6}.site-visual{background:radial-gradient(ellipse at 80% 20%,#64d8d23d,transparent 62%),#10283b;display:flex;align-items:center;padding:29px;gap:22px}.site-brand-block{width:49%;position:relative;z-index:3;padding-bottom:10px}.site-brand-block>strong{font-size:37px;line-height:1;letter-spacing:-.05em;display:block;font-weight:800;color:#e8ffb1}.site-brand-block>span{display:block;margin-top:13px;font-size:10px;letter-spacing:.06em;color:#b4cbd4}.public-art{position:relative;width:48%;aspect-ratio:1;background:#08141e;border:1px solid #ebf9db44;border-radius:16px;transform:rotate(5deg);box-shadow:0 18px 30px #0005;overflow:hidden}.public-art img{width:100%;height:100%;object-fit:contain}.site-line{position:absolute;height:1px;left:10%;right:10%;top:16%;background:linear-gradient(90deg,transparent,#deff8d77,transparent);transform:rotate(-16deg)}.site-line:nth-child(2){top:85%;transform:rotate(9deg)}.app-visual{background:radial-gradient(ellipse at 50% 20%,#459bfd66,transparent 70%),linear-gradient(135deg,#244d83,#453678);height:292px}.app-visual .mini-shot{position:absolute;width:28%;padding:5px;background:#0e243d;border-radius:17px;box-shadow:0 18px 30px #0005;border:1px solid #b6d8ee55;transition:transform .35s}.mini-shot .media-slot{position:relative;aspect-ratio:9/16;overflow:hidden;border-radius:12px}.app-visual .mini-shot:nth-child(1){left:15%;top:22px;transform:rotate(-8deg);z-index:2}.app-visual .mini-shot:nth-child(2){left:38%;top:6px;transform:rotate(4deg);z-index:3}.app-visual .mini-shot:nth-child(3){left:61%;top:26px;transform:rotate(12deg);z-index:1}.app-visual .mini-shot:hover{transform:translateY(-5px) rotate(0);z-index:5}.edu-visual{background:radial-gradient(ellipse at 80% 20%,#ffd8e9c9,transparent 70%),linear-gradient(120deg,#e4dcfa,#b7d1ee);color:#282447;padding:26px 28px}.edu-visual .concept-label,.sales-visual .concept-label{font-size:10px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.edu-visual .concept-title{font-family:var(--serif);font-size:29px;line-height:1.12;position:relative;z-index:2;margin-top:16px;max-width:190px}.paper-stack{position:absolute;right:28px;top:50px;width:172px;height:148px;perspective:800px}.paper-sheet{position:absolute;inset:0;box-shadow:0 16px 25px #65538425;border:1px solid #fff9;border-radius:12px;background:#fffc;transform:rotate(9deg)}.paper-sheet:nth-child(2){transform:rotate(-6deg) translate(-14px,10px);background:#b6ddf1}.paper-sheet:nth-child(3){transform:rotate(2deg) translate(-9px,3px);background:#fffaf6;display:flex;flex-direction:column;padding:20px;gap:13px}.paper-sheet .icon{width:28px;height:28px;color:#7563b5}.paper-stroke{height:4px;background:#baa4e74d;width:100%;border-radius:4px}.paper-stroke:last-child{width:66%}.edu-chip-row{position:absolute;left:28px;bottom:48px;display:flex;gap:8px;flex-wrap:wrap;z-index:3}.edu-chip-row span{background:#fffc;padding:6px 10px;border-radius:7px;font-size:10px;color:#504578;box-shadow:0 4px 10px #1b1b3120}.edu-visual .visual-note{color:#584a76}.sales-visual{background:radial-gradient(ellipse at 80% 10%,#588ecd44,transparent 58%),linear-gradient(145deg,#142940,#1e344f);padding:27px 28px;color:#c6d6e5}.sales-visual .concept-title{font:30px/1.1 var(--serif);color:#f6ddb7;margin-top:12px}.sales-flow{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-top:32px;position:relative}.sales-node{width:30%;border:1px solid #75c2d056;border-radius:11px;background:#9de8df0e;padding:12px 7px;text-align:center;z-index:2;position:relative}.sales-node .icon{display:block;margin:0 auto 8px;width:23px;height:23px;color:#95e3d1}.sales-node span{font-size:10px;line-height:1.3;display:block;color:#cddfe9}.sales-node:last-child{border-color:#e2c08966;background:#e8c9920d}.sales-flow:before{content:"";position:absolute;left:6%;right:6%;height:1px;background:#6abcbe55;top:50%}.sales-flow:after{content:"";position:absolute;left:8%;width:6px;height:6px;border-radius:50%;background:#f2d091;top:calc(50% - 2px);animation:flow-dot 5s ease-in-out infinite;box-shadow:0 0 10px #e8c99266}.portfolio-note{max-width:790px;margin:25px auto 0;text-align:center;color:#90abbe;font-size:11px;line-height:1.85}
/* Services, person, contact */
.services{background:var(--paper);color:var(--ink)}.services h2 em,.about h2 em{color:#466d86}.services .eyebrow{color:#75613e}.services .section-heading>p{color:#607482}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.service{padding:28px;border:1px solid #142e431c;border-radius:19px;background:#fffdfa;box-shadow:0 10px 22px #17283904;display:flex;flex-direction:column;align-items:flex-start}.service .service-icon{width:57px;height:57px;display:grid;place-items:center;border-radius:17px;margin-bottom:25px;background:#e8eff4;color:#2b6682}.service:nth-child(2) .service-icon{background:#ede8f5;color:#715595}.service:nth-child(3) .service-icon{background:#e2eee7;color:#397961}.service-icon .icon{width:29px;height:29px}.service h3{font-size:25px;line-height:1.13;margin-bottom:15px;font-weight:600}.service p{color:#5b707e;line-height:1.8;font-size:14px;flex-grow:1;margin-bottom:24px}.service .btn{width:100%;font-size:12px;min-height:48px}.services-extra{font-size:13px;line-height:1.8;margin-top:24px;color:#466172}.commerce-note{font-size:11px;color:#687b86;margin-top:11px;max-width:825px}.about{background:#ecefea;color:var(--ink);padding-block:78px}.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:start}.about .eyebrow{color:#566e72}.about-copy>p{font-size:15px;line-height:1.9;color:#526875;max-width:570px;margin-top:24px}.signature{font:italic 25px var(--serif);color:#8d734d;margin-top:23px;display:block}.method-box{background:#fff8;border:1px solid #15384d1b;border-radius:19px;padding:29px}.method-box>p{font:italic 25px/1.25 var(--serif);color:#325568;margin-bottom:24px}.method-step{display:flex;gap:17px;padding:17px 0;border-top:1px solid #15384d17}.step-num{color:#a5895e;font-size:11px;margin-top:2px;font-variant-numeric:tabular-nums}.method-step h3{font-size:17px;margin-bottom:6px;letter-spacing:-.01em}.method-step p{font-size:12px;line-height:1.6;color:#637987}.contact{background:radial-gradient(ellipse at 76% 9%,#27507480,transparent 62%),radial-gradient(ellipse at 24% 78%,#46416f55,transparent 55%),#071e30;position:relative;overflow:hidden}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.contact h2{font-size:clamp(47px,6vw,83px)}.contact-copy>p{font-size:16px;line-height:1.85;color:#c0d2df;margin-bottom:25px;max-width:520px}.contact-copy>.btn-row{align-items:flex-start}.contact .btn{font-size:12px;min-height:51px}.contact .tiny{display:block;margin-top:16px;color:#adc2d2;max-width:460px}.here{font:italic 26px var(--serif);color:#f1d8aa;margin-top:26px;display:block}.footer{padding:30px 0 28px;border-top:1px solid #bed7ef17;background:#051522}.footer-row{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-brand{color:#e9d0aa;font:22px var(--serif);letter-spacing:.1em}.footer small{display:block;font-size:10px;color:#8eaabd;margin-top:5px}.footer-links{display:flex;gap:20px;align-items:center;flex-wrap:wrap;justify-content:flex-end;font-size:11px;color:#b0c7d7}.footer-links button{background:none;border:0;padding:7px 0;font-size:11px}.motion-button{display:inline-flex;align-items:center;gap:7px}.motion-button .icon{width:15px;height:15px}.wa-float{position:fixed;right:22px;bottom:22px;z-index:35;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1px solid #d5f8e23b;background:#e3c38f;color:#082535;box-shadow:0 6px 22px #0005;transition:transform .2s}.wa-float:hover{transform:translateY(-3px)}.wa-float .icon{width:26px;height:26px}
/* Dialogs: actual images are never cropped in the enlarged viewer. */
dialog{color:var(--ink);border:1px solid #b7c8d7;border-radius:21px;padding:0;background:#f8f7f3;box-shadow:0 30px 100px #0007;width:min(930px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overscroll-behavior:contain}dialog::backdrop{background:#020d1ce3;backdrop-filter:blur(7px)}dialog:focus{outline:none}.dialog-top{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:15px 23px;border-bottom:1px solid #1b324915;background:#f8f7f3f5;backdrop-filter:blur(15px)}.dialog-brand{font:19px var(--serif);color:#7e643d;letter-spacing:.07em}.dialog-close{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid #223c511f;background:#fff}.dialog-close .icon{width:18px}.dialog-body{padding:28px 34px 34px}.detail-header{display:flex;justify-content:space-between;gap:25px;align-items:flex-start;margin-bottom:26px}.detail-header .project-status{color:#527285;margin:0 0 9px}.detail-header h2{font-size:39px;color:#112f44;margin-bottom:5px}.detail-domain{font-size:12px;color:#5a778b}.detail-title p{font-size:15px;line-height:1.8;max-width:720px;color:#586e7a;margin-top:14px}.detail-visual{border-radius:15px;margin:20px 0 26px;overflow:hidden}.detail-visual .project-visual{max-width:100%;height:240px;min-height:240px}.detail-app-gallery{display:flex;gap:15px;background:linear-gradient(135deg,#3b577a,#284759);padding:21px;align-items:center;justify-content:center;flex-wrap:wrap}.detail-shot{position:relative;width:calc(25% - 12px);padding:4px;border:1px solid #c6e1ef4d;border-radius:12px;background:#082138;overflow:hidden}.detail-shot .media-slot{aspect-ratio:9/16;position:relative;border-radius:8px;overflow:hidden}.detail-shot .icon{position:absolute;right:9px;bottom:9px;width:22px;height:22px;color:white;background:#062239b3;border-radius:5px;padding:3px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 32px}.detail-block h3{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#8a7049;margin-bottom:10px}.detail-block p{font-size:13px;line-height:1.9;color:#4d6473}.detail-note{border-top:1px solid #1d3b551a;padding-top:17px;margin-top:22px;font-size:11px;line-height:1.85;color:#617887}.detail-source-links{display:flex;gap:17px;align-items:center;flex-wrap:wrap;margin-top:20px}.detail-source-links .text-link{font-size:11px;color:#365c76}.detail-cta{margin-top:25px;padding:21px;background:#e9edeb;border:1px solid #284b5c16;border-radius:12px;display:flex;justify-content:space-between;gap:18px;align-items:center}.detail-cta>p{font-size:15px;font-weight:600}.detail-cta .btn{min-height:45px;font-size:12px}.lightbox{width:min(1000px,calc(100vw - 28px));background:#091e30;color:#e9f4fa;border-color:#bad0e32b;max-height:calc(100dvh - 20px)}.lightbox .dialog-top{background:#091e30f5;border-color:#ffffff12}.lightbox .dialog-close{background:#ffffff08;border-color:#ffffff25;color:white}.lightbox-title{font-size:12px;color:#c3d9e7}.image-stage{height:min(69dvh,720px);overflow:auto;padding:18px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#31557655,transparent 65%)}.image-stage.zoomed{display:block}.lightbox-image-wrap{height:100%;max-width:100%;position:relative;aspect-ratio:9/16}.lightbox-image-wrap img{width:100%;height:100%;object-fit:contain}.image-stage.zoomed .lightbox-image-wrap{height:auto;max-width:none;width:min(720px,130vw);margin:auto}.image-stage.zoomed img{width:100%;height:auto}.lightbox-error{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:15px;padding:24px;color:#adc8db;text-align:center;background:#112c42;border-radius:12px;font-size:13px}.lightbox-image-wrap.loaded .lightbox-error{display:none}.lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 20px;border-top:1px solid #ffffff1a}.arrow-buttons{display:flex;gap:8px;align-items:center}.arrow-buttons button,.zoom-button{background:#ffffff07;border:1px solid #b9d5eb29;border-radius:7px;min-height:39px;color:#d6e6f0;padding:8px 12px}.arrow-buttons button{width:39px;padding:8px}.gallery-count{font-size:11px;padding:0 10px;color:#b7ccd8}.zoom-button{font-size:11px}.lightbox-source{font-size:10px;padding:0 20px 15px;color:#a4becf;display:flex;justify-content:space-between;gap:15px;align-items:center}.lightbox-source a{font-size:10px;color:#e8c992}.lightbox-source .icon{width:12px;height:12px}.request-dialog{width:min(730px,calc(100vw - 30px))}.form-heading h2{font-size:35px}.form-heading>.eyebrow{color:#8b734d;font-size:9px;margin-bottom:12px}.form-heading>p{font-size:13px;color:#5b7181;margin-top:15px;line-height:1.8}.request-form{margin-top:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:15px}.field label{font-size:12px;font-weight:600;color:#355264}.field input,.field textarea,.field select{background:#fff;border:1px solid #97adbd66;border-radius:9px;padding:11px 12px;min-height:46px;width:100%;color:#153748;font-size:14px}.field textarea{resize:vertical;min-height:95px;max-height:240px}.field input::placeholder,.field textarea::placeholder{color:#7d909e;font-size:12px}.team-check{display:flex;gap:10px;align-items:center;padding:12px 13px;background:#ecebf3;border-radius:9px;margin:3px 0 15px;font-size:12px;color:#46517e}.team-check input{width:17px;height:17px;accent-color:#796ea1;flex:none}.message-box{padding:15px;border:1px solid #bbcbd333;border-radius:12px;background:#eaf0ee;margin:18px 0}.message-box>label{display:block;color:#677a7d;font-size:9px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}.message-box pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.75 var(--sans);color:#345463;margin:0;max-height:180px;overflow:auto;user-select:text}.form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.form-actions .btn{font-size:12px;min-height:46px}.copy-button{border:1px solid #2849592b;background:transparent;color:#365269;border-radius:8px;padding:11px 13px;font-size:11px;min-height:44px}.form-note{font-size:10px;line-height:1.8;color:#6c7b80;margin-top:14px}.copy-status{min-height:17px;font-size:11px;color:#385e56;margin-top:8px}.info-dialog{width:min(650px,calc(100vw - 32px))}.info-dialog h2{font-size:30px;margin-bottom:20px}.info-dialog p{font-size:14px;line-height:1.9;color:#4c6473}
/* Opt-in movement: no content depends on animation. */
.js .reveal{transition:opacity .55s var(--curve),transform .55s var(--curve)}.js .reveal.waiting{opacity:0;transform:translateY(16px)}.reveal.in-view{opacity:1;transform:none}.motion-off *,.motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important}.motion-off{scroll-behavior:auto}.motion-off .waiting{opacity:1!important;transform:none!important}@keyframes gold-sweep{0%,75%{left:-75%}91%,100%{left:140%}}@keyframes drift{0%,100%{transform:rotate(var(--angle)) translateY(0)}50%{transform:rotate(var(--angle)) translateY(-7px)}}@keyframes flow-dot{0%,12%{left:8%;opacity:0}20%{opacity:1}85%{opacity:1}95%,100%{left:90%;opacity:0}}
@media(min-width:1650px){.hero-grid{gap:100px}.hero{padding-block:15px}}
@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.nav-row{gap:20px}.desktop-nav{gap:17px}.nav-actions{gap:10px}.nav-cta{display:none}.hero-grid{gap:43px}.hero h1{font-size:59px}.hero .btn-row{gap:12px}.hero .btn{font-size:12px;padding:14px 17px}.hero .text-link{font-size:11px}.section{padding-block:78px}.showcase{padding:30px 25px 17px;grid-template-columns:.8fr 1.3fr}.showcase h3{font-size:31px}.showcase-copy>p{font-size:12px}.collage{aspect-ratio:1.55;margin-inline:6px}.section-heading>p{max-width:345px}.project-content{padding:24px}.service{padding:23px}.service h3{font-size:23px}.about-grid{gap:45px}.contact-grid{gap:45px}}
@media(max-width:920px){.desktop-nav{display:none}.menu-button{display:grid;place-items:center}.hero-grid{gap:30px;padding-top:34px}.hero h1{font-size:51px}.hero-lead{font-size:14px;margin-top:20px}.hero .btn-row{align-items:flex-start;gap:11px}.hero-slogan{font-size:15px;margin-top:20px}.hero .eyebrow{font-size:8px;letter-spacing:.08em}.identity figcaption{font-size:8px;letter-spacing:.01em}.proof-inner{font-size:10px;gap:15px}.proof-inner>span{gap:7px}.section-heading h2{font-size:45px}.section-heading>p{font-size:13px;max-width:300px}.showcase{grid-template-columns:1fr;gap:8px}.showcase-copy{max-width:100%;padding-bottom:0}.showcase h3{font-size:35px}.showcase h3 br{display:none}.showcase h3 em{display:block;margin-top:3px}.showcase-copy>p{max-width:560px;margin:13px 0;font-size:13px}.collage{width:min(650px,94%);margin:20px auto 10px;aspect-ratio:1.65}.project-content>p{min-height:100px}.project-visual{min-height:264px}.app-visual{height:264px}.site-visual{padding:25px;gap:14px}.site-brand-block>strong{font-size:28px}.paper-stack{width:135px;right:18px;top:60px;height:126px}.edu-visual{padding:25px}.edu-visual .concept-title{font-size:26px;max-width:150px}.edu-chip-row{left:22px;gap:4px}.edu-chip-row span{font-size:9px;padding:5px 7px}.sales-visual{padding:24px}.sales-visual .concept-title{font-size:27px}.sales-flow{gap:6px;margin-top:30px}.sales-node{width:31%;padding:11px 3px}.sales-node span{font-size:9px}.service-grid{gap:14px}.service{padding:20px}.service h3{font-size:21px}.service p{font-size:13px}.service .btn{font-size:10px;padding:11px 10px}.service .btn .icon{width:15px}.about-grid{grid-template-columns:1fr 1fr;gap:30px}.about h2{font-size:38px}.about-copy>p{font-size:14px}.method-box{padding:23px}.contact .btn-row{flex-direction:column;align-items:stretch}.contact .btn{justify-content:center}.footer-links{gap:14px}}
@media(max-width:700px){.wrap{width:calc(100% - 36px)}.header{height:74px}.nav-row{gap:10px}.brand{gap:9px}.brand-orbit{width:33px;height:33px;font-size:23px}.brand-title{font-size:21px}.brand small{font-size:6px;letter-spacing:.06em}.nav-actions{gap:9px}.lang button{min-width:27px;min-height:33px;font-size:9px;padding:4px}.lang{padding:2px}.menu-button{width:35px;height:37px;border-radius:7px}.hero-grid{grid-template-columns:1fr;gap:31px;padding:30px 0 37px}.identity{width:min(320px,82%);margin:auto}.logo-bezel{padding:5px;border-radius:19px}.logo-bezel img{border-radius:14px}.identity figcaption{padding-top:11px;font-size:7px}.hero-copy{max-width:530px;margin:auto;width:100%}.hero h1{font-size:clamp(43px,9.5vw,57px);line-height:1.035}.hero h1 br:nth-child(2){display:none}.hero .eyebrow{font-size:8px;margin-bottom:17px;letter-spacing:.08em}.hero-lead{font-size:15px;margin:21px 0 23px;max-width:460px}.hero .btn-row{gap:17px;align-items:center}.hero .btn{min-height:51px;font-size:12px;padding:14px 17px}.hero .text-link{font-size:11px}.hero-slogan{max-width:430px;font-size:16px;margin-top:21px}.hero-signal{font-size:9px}.proof-inner{flex-direction:column;align-items:flex-start;gap:9px;padding:18px 0;font-size:11px}.proof-inner .icon{width:16px}.section{padding-block:62px}.section-heading{display:block;margin-bottom:28px}.section-heading h2{font-size:39px;line-height:1.06}.section-heading>p{max-width:540px;margin-top:19px;font-size:14px;line-height:1.8}.eyebrow{font-size:9px;margin-bottom:16px}.showcase{padding:25px 20px 15px;border-radius:20px;overflow:hidden}.showcase h3{font-size:32px}.showcase .pill{font-size:9px;margin-bottom:16px}.showcase-copy>p{font-size:12px}.showcase .text-link{font-size:12px}.collage{aspect-ratio:1.28;width:calc(100% - 14px);margin:23px auto 2px}.phone{width:29%;border-radius:13px}.phone-inner{border-radius:13px;padding:4px}.phone-inner>.media-slot{border-radius:9px}.phone:nth-child(1){left:0;top:17%;--angle:-9deg}.phone:nth-child(2){left:24%;top:3%;--angle:-4deg}.phone:nth-child(3){left:48%;top:21%;--angle:5deg}.phone:nth-child(4){left:70%;top:5%;--angle:10deg}.shot-num{width:19px;height:19px;right:6px;top:-9px;font-size:8px}.phone-label{width:20px;height:20px;right:6px;bottom:9px}.phone-label .icon{width:12px}.phone .media-fallback{font-size:7px;padding:5px}.phone .media-fallback strong{font-size:10px}.phone .media-fallback .icon{width:17px;height:17px}.showcase-foot{font-size:8px;align-items:flex-start;gap:8px}.showcase-foot>span{max-width:100px;text-align:right}.filter-bar{gap:10px}.filters{gap:5px}.filters button{font-size:10px;min-height:36px;padding:8px 10px}.project-counter{font-size:10px}.project-grid{grid-template-columns:1fr;gap:20px}.project-visual{min-height:280px}.project-content{padding:23px}.project-content h3{font-size:28px}.project-content>p{min-height:0;font-size:14px}.project-tags{margin:16px 0 19px}.project-actions .btn{font-size:11px}.site-visual{padding:30px;gap:24px}.site-brand-block>strong{font-size:35px}.public-art{max-width:210px}.app-visual{height:280px}.app-visual .mini-shot{width:26%;max-width:140px}.app-visual .mini-shot:nth-child(1){left:15%;top:25px}.app-visual .mini-shot:nth-child(2){left:38%;top:9px}.app-visual .mini-shot:nth-child(3){left:61%;top:32px}.edu-visual{padding:27px}.edu-visual .concept-title{font-size:29px;max-width:175px}.paper-stack{width:150px;height:142px;right:22px;top:54px}.edu-chip-row{left:26px;bottom:48px;gap:7px}.edu-chip-row span{font-size:10px;padding:6px 10px}.sales-visual{padding:26px}.sales-visual .concept-title{font-size:30px}.sales-flow{margin-top:30px;gap:8px}.sales-node span{font-size:10px}.service-grid{grid-template-columns:1fr;gap:17px}.service{padding:26px}.service .service-icon{margin-bottom:20px}.service h3{font-size:27px}.service p{font-size:14px}.service .btn{font-size:12px;min-height:48px}.services-extra{font-size:12px;margin-top:22px}.commerce-note{font-size:10px}.about-grid{grid-template-columns:1fr;gap:32px}.about h2{font-size:39px}.about-copy>p{max-width:none;font-size:14px}.method-box{padding:26px}.method-box>p{font-size:27px}.contact-grid{grid-template-columns:1fr;gap:27px}.contact h2{font-size:62px}.contact-copy>p{font-size:15px;margin-bottom:24px}.contact .btn-row{flex-direction:column;align-items:stretch;gap:12px}.contact .btn{font-size:13px}.contact .tiny{font-size:10px}.here{font-size:24px;margin-top:24px}.footer{padding:28px 0 85px}.footer-row{display:block}.footer-links{justify-content:flex-start;margin-top:22px;gap:13px 20px}.wa-float{width:47px;height:47px;right:15px;bottom:15px}.wa-float .icon{width:23px}.dialog-top{padding:12px 16px}.dialog-body{padding:23px 22px 26px}.detail-header h2{font-size:31px}.detail-header p{font-size:14px}.detail-grid{grid-template-columns:1fr;gap:23px}.detail-cta{align-items:flex-start;flex-direction:column}.detail-cta .btn{width:100%}.detail-app-gallery{gap:10px;padding:17px}.detail-shot{width:calc(50% - 10px);max-width:160px}.detail-visual .project-visual{height:270px;min-height:270px}.lightbox-controls{padding:12px;gap:9px}.gallery-count{font-size:10px;padding:0 4px}.zoom-button{font-size:10px;padding:8px}.lightbox-source{padding:0 14px 15px;font-size:8px;align-items:flex-start}.lightbox-source>span{max-width:50%}.image-stage{height:65dvh;padding:12px}.form-heading h2{font-size:30px}.form-grid{grid-template-columns:1fr;gap:0}.form-actions{align-items:stretch;flex-direction:column}.form-actions .btn{width:100%;font-size:12px}.copy-button{width:100%}.info-dialog h2{font-size:28px}}
@media(max-width:380px){.wrap{width:calc(100% - 28px)}.brand-orbit{display:none}.brand-title{font-size:20px}.brand small{font-size:5.5px;letter-spacing:0}.nav-actions{gap:7px}.lang button{min-width:25px}.identity{width:82%}.hero h1{font-size:43px}.hero .btn-row{gap:13px}.hero .btn{width:100%}.hero .text-link{font-size:12px}.showcase{padding-inline:16px}.filters button{font-size:9px;padding:8px}.paper-stack{width:121px;height:123px;right:14px;top:62px}.edu-visual .concept-title{font-size:25px;max-width:147px}.site-brand-block>strong{font-size:29px}.site-visual{gap:16px;padding:23px}.project-actions .text-link{font-size:10px}.dialog-body{padding-inline:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal.waiting{opacity:1;transform:none}}
@media print{.header,.wa-float,.footer-links,.showcase,.filters,dialog,.btn-row,.project-actions{display:none!important}.section{padding:25px 0}.hero-grid{padding-top:20px}.hero,.portfolio,.contact,.footer{background:white!important;color:#152a3b!important}h1,h2,p,.project-content h3,.project-content p,.hero-slogan{color:#152a3b!important}.reveal{opacity:1!important;transform:none!important}.project-card,.service{break-inside:avoid}.wrap{width:95%}}
.phone:hover,.phone:focus-visible{animation:none;transform:translateY(-12px) rotate(0deg) scale(1.04)}
/* Decorative gold remains slow and subtle; product images retain their original colours. */
.info-dialog .detail-source-links{padding-top:8px}.info-dialog .detail-source-links .text-link{font-size:11px}
