:root{--bg: #f8fafc;--bg-elevated: #ffffff;--text: #0f172a;--text-muted: rgba(15, 23, 42, .58);--accent-start: #2563eb;--accent-end: #0891b2;--border: rgba(15, 23, 42, .09);--glass: rgba(255, 255, 255, .92);--ease-out: cubic-bezier(.22, 1, .36, 1);--header-h: 5.25rem;--focus-ring: #0284c7;--focus-ring-offset: #ffffff;color-scheme:light}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}.skip-link{position:fixed;left:1rem;top:1rem;z-index:10001;padding:.65rem 1.1rem;font-size:.875rem;font-weight:600;font-family:inherit;color:var(--text);background:var(--focus-ring-offset);border:2px solid var(--focus-ring);border-radius:.5rem;box-shadow:0 8px 24px #0f172a1f;transform:translateY(-160%);transition:transform .2s var(--ease-out);pointer-events:none}.skip-link:focus,.skip-link:focus-visible{transform:translateY(0);pointer-events:auto;outline:3px solid var(--focus-ring);outline-offset:3px}body{font-family:DM Sans,system-ui,sans-serif;font-optical-sizing:auto;color:var(--text);line-height:1.6;overflow-x:hidden;background-color:var(--bg);background-image:radial-gradient(ellipse 100% 55% at 50% -20%,rgba(255,255,255,.95),transparent 50%),radial-gradient(ellipse 55% 45% at 100% 0%,rgba(59,130,246,.09),transparent 52%),radial-gradient(ellipse 50% 42% at 0% 85%,rgba(6,182,212,.07),transparent 48%),radial-gradient(ellipse 90% 50% at 50% 100%,rgba(241,245,249,.95),transparent 58%);background-attachment:scroll}html.reduce-motion .reveal,html.reduce-motion .reveal-stagger .reveal-child{opacity:1;transform:none;transition:none}html.reduce-motion .title-line{width:100%;transition:none}@media(prefers-reduced-motion:reduce){.service-card{transition:border-color .2s,box-shadow .2s}.project-card-inner{transition:none}.project-card:hover .project-card-inner{transform:none}}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.grain{position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.04;mix-blend-mode:multiply}.ambient-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.ambient-shape{position:absolute;transform:translateZ(0);will-change:transform}.ambient-shape--1{width:min(85vw,720px);height:min(85vw,720px);top:-22%;right:-18%;border-radius:50%;background:radial-gradient(circle at 38% 38%,rgba(37,99,235,.2),rgba(125,211,252,.14) 48%,rgba(224,242,254,.4) 65%,transparent 78%);filter:blur(48px);opacity:.75}.ambient-shape--2{width:min(100vw,600px);height:min(58vw,480px);bottom:5%;left:-30%;border-radius:50%;background:radial-gradient(ellipse at 55% 48%,rgba(6,182,212,.16),rgba(59,130,246,.1) 52%,transparent 72%);filter:blur(56px);opacity:.65}.ambient-shape--3{width:min(90vw,420px);height:min(90vw,420px);top:32%;left:5%;border-radius:50%;background:radial-gradient(circle at 50% 45%,rgba(37,99,235,.12),rgba(148,163,184,.12) 58%,transparent 74%);filter:blur(52px);opacity:.65}.ambient-shape--4{width:min(75vw,520px);height:min(75vw,520px);bottom:-24%;right:0%;border-radius:48% 52% 50% 50%;background:radial-gradient(circle at 32% 58%,rgba(6,182,212,.14),rgba(37,99,235,.08) 54%,transparent 76%);filter:blur(58px);opacity:.7}.ambient-shape--5{width:min(45vw,380px);height:min(70vw,520px);top:8%;left:-12%;border-radius:42% 58% 50% 50%;background:linear-gradient(155deg,rgba(37,99,235,.12),rgba(186,230,253,.2) 55%,transparent 85%);filter:blur(44px);opacity:.55}.ambient-shape--6{width:min(55vw,400px);height:min(55vw,400px);top:52%;right:10%;border-radius:50%;background:radial-gradient(circle,rgba(6,182,212,.14),rgba(37,99,235,.06) 62%,transparent 78%);filter:blur(48px);opacity:.6}.ambient-geo-wrap{background:none!important;filter:none!important;opacity:1;pointer-events:none;perspective:900px}.ambient-geo-wrap--ring-a{width:min(48vw,380px);height:min(48vw,380px);top:6%;right:-6%}.ambient-geo-wrap--ring-b{width:min(38vw,300px);height:min(38vw,300px);bottom:10%;left:-7%}.ambient-geo-wrap--plane{width:min(92vw,560px);height:200px;top:42%;left:50%;margin-left:max(-280px,-46vw);opacity:.9}.ambient-geo-wrap--facet{width:220px;height:220px;top:18%;left:12%}.geo-3d{position:absolute;inset:0;transform-style:preserve-3d;pointer-events:none}.geo-ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(37,99,235,.22);background:radial-gradient(circle at 32% 26%,#60a5fa24,#ffffff80 58%);box-shadow:0 0 45px #06b6d41a,0 0 80px #2563eb0d,inset 0 0 40px #fff9;transform:rotateX(78deg) rotate(-16deg)}.geo-ring:after{content:"";position:absolute;inset:14%;border-radius:50%;border:1px solid rgba(6,182,212,.2);box-shadow:inset 0 0 24px #3b82f60f}.geo-ring--b{border-color:#06b6d459;background:radial-gradient(circle at 62% 58%,#06b6d41a,#ffffff80 55%);transform:rotateX(72deg) rotate(22deg)}.geo-plane{position:absolute;inset:0;border-radius:4px;background:linear-gradient(125deg,#2563eb0f,#ffffffd9 35%,#06b6d414);border:1px solid rgba(15,23,42,.08);box-shadow:0 12px 40px #0f172a14,inset 0 1px #ffffffe6;transform:rotateX(62deg) rotateY(-18deg) rotate(6deg);transform-origin:center center}.geo-plane:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-28deg,transparent,transparent 7px,rgba(15,23,42,.04) 7px,rgba(15,23,42,.04) 8px);border-radius:inherit;opacity:.5;pointer-events:none}.geo-facet{position:absolute;inset:12%;background:linear-gradient(148deg,#3b82f61f,#06b6d414);clip-path:polygon(50% 0%,95% 28%,95% 72%,50% 100%,5% 72%,5% 28%);border:1px solid rgba(165,243,252,.45);box-shadow:0 0 40px #06b6d426,inset 0 0 30px #ffffffb3;transform:rotateX(68deg) rotate(18deg)}@media(prefers-reduced-motion:no-preference){html:not(.reduce-motion) .geo-ring--motion{animation:geo-drift-ring 24s ease-in-out infinite alternate}html:not(.reduce-motion) .geo-ring--b.geo-ring--motion{animation:geo-drift-ring-b 30s ease-in-out infinite alternate}html:not(.reduce-motion) .geo-plane--motion{animation:geo-drift-plane 32s ease-in-out infinite alternate}html:not(.reduce-motion) .geo-facet--motion{animation:geo-drift-facet 26s ease-in-out infinite alternate}}@keyframes geo-drift-ring{0%{transform:rotateX(78deg) rotate(-16deg) scale(1);opacity:.55}to{transform:rotateX(82deg) rotate(-22deg) scale(1.03);opacity:.82}}@keyframes geo-drift-ring-b{0%{transform:rotateX(72deg) rotate(22deg) scale(1);opacity:.45}to{transform:rotateX(68deg) rotate(16deg) scale(1.04);opacity:.72}}@keyframes geo-drift-plane{0%{transform:rotateX(62deg) rotateY(-18deg) rotate(6deg) translateZ(0);opacity:.5}to{transform:rotateX(58deg) rotateY(-22deg) rotate(4deg) translateZ(12px);opacity:.78}}@keyframes geo-drift-facet{0%{transform:rotateX(68deg) rotate(18deg);filter:brightness(1)}to{transform:rotateX(72deg) rotate(12deg);filter:brightness(1.15)}}main{position:relative;z-index:1;background-color:transparent}main#top:focus-visible{outline:3px solid var(--focus-ring);outline-offset:6px;border-radius:.35rem}.footer{position:relative;z-index:1}.container{width:min(1120px,calc(100% - 3rem));margin-inline:auto}.section{padding-block:clamp(4.5rem,10vw,7.5rem);position:relative}.reveal{opacity:0;transform:translate3d(0,28px,0);transition:opacity .75s var(--ease-out),transform .75s var(--ease-out)}.reveal.visible{opacity:1;transform:translateZ(0)}.reveal-stagger .reveal-child{opacity:0;transform:translate3d(0,24px,0);transition:opacity .65s var(--ease-out),transform .65s var(--ease-out)}.reveal-stagger.visible .reveal-child:nth-child(1){transition-delay:.05s}.reveal-stagger.visible .reveal-child:nth-child(2){transition-delay:.15s}.reveal-stagger.visible .reveal-child:nth-child(3){transition-delay:.25s}.reveal-stagger.visible .reveal-child{opacity:1;transform:translateZ(0)}.header{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--header-h);display:flex;align-items:center;border-bottom:1px solid transparent;transition:background .35s var(--ease-out),border-color .35s var(--ease-out),backdrop-filter .35s}.header.is-scrolled{background:#ffffffe0;border-bottom-color:var(--border);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px #0f172a0a}.header-inner{width:min(1200px,calc(100% - 2.5rem));margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.brand{display:flex;align-items:center;gap:.75rem}.brand .brand-logo{height:40px;width:auto;max-width:120px;aspect-ratio:1;object-fit:contain;display:block;filter:drop-shadow(0 2px 8px rgba(37,99,235,.12))}.brand-fallback{font-family:Syne,sans-serif;font-weight:800;font-size:1.35rem;letter-spacing:-.02em;background:linear-gradient(135deg,#7eb3fc,#2dd4bf);-webkit-background-clip:text;background-clip:text;color:transparent;display:none}.brand .brand-logo:not([src]),.brand .brand-logo[src=""]{display:none}.brand .brand-logo:not([src])+.brand-fallback,.brand .brand-logo[src=""]+.brand-fallback,.brand--no-logo .brand-fallback{display:block}.brand--no-logo .brand-logo{display:none}.nav{display:flex;align-items:center;gap:clamp(1.25rem,4vw,2.25rem)}.nav a{font-size:.875rem;font-weight:500;letter-spacing:.02em;color:var(--text-muted);transition:color .25s}.nav a:hover{color:var(--text)}.nav a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px;border-radius:.35rem;color:var(--text)}.brand:focus-visible{outline:3px solid var(--focus-ring);outline-offset:6px;border-radius:.5rem}.hero{min-height:100svh;position:relative;display:flex;flex-direction:column;padding-top:var(--header-h);overflow:hidden}.hero-canvas{position:absolute;inset:0;z-index:0;perspective:1200px;perspective-origin:50% 40%}.hero-grid-wrap{position:absolute;inset:-20% -15% -10%;display:flex;align-items:center;justify-content:center;transform-style:preserve-3d;will-change:transform}.hero-grid{width:140%;height:80%;background-image:linear-gradient(rgba(37,99,235,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(6,182,212,.1) 1px,transparent 1px);background-size:56px 56px;transform:rotateX(68deg) translateZ(-120px);mask-image:radial-gradient(ellipse 55% 70% at 50% 45%,black 20%,transparent 72%);-webkit-mask-image:radial-gradient(ellipse 55% 70% at 50% 45%,black 20%,transparent 72%);opacity:.55}.hero-orb{position:absolute;width:min(480px,80vw);height:min(480px,80vw);border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(37,99,235,.22),rgba(6,182,212,.16) 45%,rgba(224,242,254,.5) 58%,transparent 72%);filter:blur(80px);pointer-events:none;mix-blend-mode:multiply;opacity:.85;will-change:left,top,transform;transform:translate3d(-50%,-50%,0);left:50%;top:45%;z-index:1}.hero-vignette{position:absolute;inset:0;background:radial-gradient(ellipse 90% 78% at 50% 38%,transparent 0%,transparent 28%,rgba(255,255,255,.45) 62%,rgba(248,250,252,.92) 88%,var(--bg) 100%);pointer-events:none;z-index:2}.hero-content{position:relative;z-index:3;flex:1;display:flex;flex-direction:column;justify-content:center;width:min(920px,calc(100% - 3rem));margin-inline:auto;text-align:center;padding-block:3rem 4rem;will-change:transform}.hero-eyebrow{font-size:.8125rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-end);margin-bottom:1.25rem}.hero h1{font-family:Syne,sans-serif;font-weight:800;font-size:clamp(2.35rem,5.5vw,4rem);line-height:1.08;letter-spacing:-.03em;margin-bottom:1.5rem}.hero h1 .gradient-text{background:linear-gradient(110deg,#1d4ed8,#0e7490,#0369a1);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-sub{font-size:clamp(1rem,1.35vw,1.2rem);color:var(--text-muted);max-width:34rem;margin-inline:auto;margin-bottom:2.25rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.75rem;font-family:inherit;font-size:.9375rem;font-weight:600;border:none;border-radius:999px;cursor:pointer;transition:transform .25s var(--ease-out),box-shadow .25s var(--ease-out);will-change:transform}.btn-primary{background:linear-gradient(135deg,var(--accent-start),var(--accent-end));color:#fff;box-shadow:0 0 0 1px #fff3 inset,0 10px 28px -8px #2563eb73}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 0 1px #ffffff40 inset,0 16px 36px -8px #06b6d466}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.68;cursor:not-allowed;transform:none;box-shadow:0 0 0 1px #ffffff2e inset,0 6px 18px -10px #2563eb80}.btn:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.btn-primary:focus-visible{outline-offset:4px}.hero-cta-wrap{display:flex;justify-content:center}.section-head{margin-bottom:3rem}.section-head h2{font-family:Syne,sans-serif;font-weight:800;font-size:clamp(1.85rem,3.2vw,2.5rem);letter-spacing:-.02em;margin-bottom:1rem}.section-head p{color:var(--text-muted);max-width:32rem}.title-line{height:3px;width:0;max-width:120px;border-radius:999px;background:linear-gradient(90deg,var(--accent-start),var(--accent-end));margin-top:1rem;box-shadow:0 0 16px #06b6d440;transition:width 1s var(--ease-out)}.title-line.visible{width:100%}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.service-card{position:relative;padding:2rem 1.75rem;border-radius:1.25rem;background:var(--glass);border:1px solid var(--border);box-shadow:0 4px 24px #0f172a0f;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transform-style:preserve-3d;perspective:800px;transition:transform .5s var(--ease-out),border-color .35s,box-shadow .35s}.service-card:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,#2563eb59,#06b6d438);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .35s;pointer-events:none}.service-card:hover{border-color:#06b6d459;box-shadow:0 20px 50px -24px #2563eb33,0 0 0 1px #06b6d41f}.service-card:hover:before{opacity:1}.service-icon{width:48px;height:48px;margin-bottom:1.25rem;color:#0284c7}.service-card h3{font-family:Syne,sans-serif;font-weight:700;font-size:1.2rem;margin-bottom:.65rem}.service-card p{font-size:.9375rem;color:var(--text-muted);line-height:1.65}.portfolio-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:1.25rem;align-items:stretch;min-height:420px}.portfolio-right{display:flex;flex-direction:column;gap:1.25rem}.project-card{position:relative;border-radius:1.1rem;overflow:hidden;border:1px solid var(--border);min-height:100%;cursor:pointer;isolation:isolate}a.project-card{display:block;text-decoration:none;color:inherit}a.project-card:focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px;border-radius:1.15rem}.project-card-inner{height:100%;min-height:200px;padding:1.5rem;display:flex;flex-direction:column;justify-content:flex-end;transition:transform .6s var(--ease-out)}.project-card:hover .project-card-inner{transform:scale(1.04)}.project-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,23,42,.75) 0%,transparent 55%);display:flex;align-items:flex-end;justify-content:center;padding:1.5rem;opacity:0;transition:opacity .35s var(--ease-out)}.project-card:hover .project-overlay{opacity:1}.project-overlay span{font-size:.875rem;font-weight:600;padding:.65rem 1.25rem;border-radius:999px;background:#fffffff2;border:1px solid rgba(15,23,42,.08);color:var(--text);backdrop-filter:blur(8px)}.project-meta h3{font-family:Syne,sans-serif;font-weight:700;font-size:1.15rem;margin-bottom:.35rem;color:#0f172a;text-shadow:0 1px 0 rgba(255,255,255,.5)}.project-domain{font-size:.8125rem;font-weight:500;color:#0f172a8f;margin-top:.2rem;letter-spacing:.02em}.project-tag{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#0f172a;padding:.3rem .65rem;border-radius:6px;background:#ffffffbf;border:1px solid rgba(15,23,42,.08)}.mock-card.mock-travaypei{background:#ecfdf5;min-height:420px}.mock-card.mock-travaypei:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to top,#f8fafc 0%,rgba(248,250,252,.94) 20%,rgba(248,250,252,.5) 42%,transparent 70%)}.mock-card.mock-travaypei .project-shot{position:absolute;inset:0;z-index:0;overflow:hidden}.mock-card.mock-travaypei .project-shot img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}.mock-card.mock-travaypei .mock-decor{z-index:2}.mock-card.mock-travaypei .project-card-inner{position:relative;z-index:2}.mock-card.mock-travaypei .project-overlay{z-index:3}.mock-card.mock-mia{background:#0f172a;min-height:280px}.mock-card.mock-mia:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to top,#f8fafc 0%,rgba(248,250,252,.94) 22%,rgba(248,250,252,.48) 45%,transparent 72%)}.mock-card.mock-mia .project-shot{position:absolute;inset:0;z-index:0;overflow:hidden}.mock-card.mock-mia .project-shot img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}.mock-card.mock-mia .mock-decor{z-index:2}.mock-card.mock-mia .project-card-inner{position:relative;z-index:2}.mock-card.mock-mia .project-overlay{z-index:3}.mock-card.mock-c{background:#f1f5f9;min-height:280px}.mock-card.mock-c:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to top,#f8fafc 0%,rgba(248,250,252,.94) 22%,rgba(248,250,252,.48) 45%,transparent 72%)}.mock-card.mock-c .project-shot{position:absolute;inset:0;z-index:0;overflow:hidden}.mock-card.mock-c .project-shot img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}.mock-card.mock-c .mock-decor{z-index:2}.mock-card.mock-c .project-card-inner{position:relative;z-index:2}.mock-card.mock-c .project-overlay{z-index:3}.mock-decor{position:absolute;top:1.25rem;right:1.25rem;width:40%;height:8px;border-radius:999px;background:linear-gradient(90deg,var(--accent-start),var(--accent-end));opacity:.65}.trust-row{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(1.5rem,4vw,3rem);padding:2.5rem 2rem;border-radius:1.25rem;border:1px solid var(--border);background:#f1f5f9;box-shadow:0 1px #0f172a0a inset}.trust-item{display:flex;align-items:center;gap:1rem;max-width:280px}.trust-icon{flex-shrink:0;width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#2563eb1f,#06b6d41a);border:1px solid rgba(6,182,212,.25);color:#0284c7}.trust-item strong{display:block;font-family:Syne,sans-serif;font-weight:700;font-size:1rem;margin-bottom:.2rem}.trust-item span{font-size:.875rem;color:var(--text-muted)}.contact-section{background:linear-gradient(180deg,var(--bg) 0%,#f1f5f9 50%,#ffffff 100%);position:relative}.contact-section:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");opacity:.04;pointer-events:none}.contact-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.contact-head h2{font-family:Syne,sans-serif;font-weight:800;font-size:clamp(2rem,4vw,2.85rem);letter-spacing:-.03em;line-height:1.1;margin-bottom:1rem}.contact-head p{color:var(--text-muted);font-size:1.05rem;max-width:28rem}.contact-form{padding:2rem 2rem 2.25rem;border-radius:1.25rem;border:1px solid var(--border);background:#fff;box-shadow:0 8px 40px #0f172a14;backdrop-filter:blur(16px)}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.8125rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.45rem}.form-group input,.form-group textarea{width:100%;padding:.9rem 1rem;border-radius:.65rem;border:1px solid rgba(15,23,42,.12);background:#f8fafc;color:var(--text);font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#06b6d48c;background:#fff;box-shadow:0 0 0 3px #2563eb1f}.form-group input:focus-visible,.form-group textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.form-group textarea{min-height:140px;resize:vertical}.form-footer{margin-top:.5rem}.form-hint{font-size:.8125rem;color:var(--text-muted);margin-top:1rem}.form-success{display:none;padding:1.25rem;border-radius:.75rem;background:#06b6d41a;border:1px solid rgba(6,182,212,.35);color:#0e7490;font-size:.925rem;margin-top:1rem}.form-success.is-show{display:block}.footer{padding:3rem 0 2.5rem;border-top:1px solid var(--border)}.footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem}.footer-brand .brand-logo{height:30px;width:auto;max-width:100px;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(37,99,235,.1))}.footer-links{display:flex;flex-wrap:wrap;gap:1.25rem 2rem;font-size:.875rem;color:var(--text-muted)}.footer-links a:hover{color:var(--text)}.footer-links a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px;border-radius:.3rem;color:var(--text)}.footer-heart{font-size:.875rem;color:var(--text-muted)}@media(max-width:768px){.header-inner{width:calc(100% - 1.25rem)}.nav{gap:.65rem}.nav a{font-size:.7rem;letter-spacing:.01em}.services-grid{grid-template-columns:1fr}.portfolio-layout{grid-template-columns:1fr;min-height:0}.portfolio-right{flex-direction:column}.project-card-inner{min-height:220px}.contact-grid{grid-template-columns:1fr}.trust-row{flex-direction:column;align-items:flex-start}.hero-grid{opacity:.35}body{background-attachment:scroll}.ambient-geo-wrap--plane,.ambient-geo-wrap--facet{opacity:.4}.ambient-geo-wrap--ring-a{opacity:.85}}.faq-list{max-width:760px;margin-inline:auto;display:flex;flex-direction:column;gap:.75rem}.faq-item{border:1px solid var(--border);border-radius:1rem;background:var(--bg-elevated);overflow:hidden;transition:border-color .25s,box-shadow .25s}.faq-item[open]{border-color:#2563eb40;box-shadow:0 4px 20px -4px #2563eb1a}.faq-item summary{list-style:none;cursor:pointer;padding:1.125rem 1.5rem;font-size:1rem;font-weight:600;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:1rem;user-select:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-size:1.25rem;font-weight:400;color:var(--text-muted);flex-shrink:0;transition:transform .25s var(--ease-out);line-height:1}.faq-item[open] summary:after{transform:rotate(45deg)}.faq-item summary:hover{color:#2563eb}.faq-answer{padding:0 1.5rem 1.25rem;color:var(--text-muted);line-height:1.7;font-size:.9375rem}.faq-answer strong{color:var(--text)}.footer-address{font-style:normal;font-size:.8125rem;color:var(--text-muted);line-height:1.6;text-align:center}.footer-address a{color:var(--text-muted);text-decoration:underline;text-underline-offset:2px}.footer-address a:hover{color:var(--text)}.footer-siret{font-size:.75rem;color:var(--text-muted);opacity:.55;text-align:center;letter-spacing:.03em}
