/* Interior reference layouts: Services/Portfolio/About 946px,Contact 1024px,Privacy 926px.
   Shared components have one definition; composition is measured separately per page. */
@font-face{font-family:Outfit;src:url('/assets/outfit-400.ttf');font-weight:400;font-display:swap}
@font-face{font-family:Outfit;src:url('/assets/outfit-600.ttf');font-weight:600;font-display:swap}
@font-face{font-family:Outfit;src:url('/assets/outfit-700.ttf');font-weight:700;font-display:swap}
@font-face{font-family:Outfit;src:url('/assets/outfit-800.ttf');font-weight:800;font-display:swap}
:root{--bg:#10112e;--surface:#191d45;--cyan:#22d3ee;--violet:#7c3aed;--white:#f8fafc}
*{box-sizing:border-box}
body{margin:0;container-type:inline-size;background:#10112e;color:var(--white);font-family:Outfit,Arial,sans-serif;font-size:calc(16 * var(--u));line-height:1.4;font-synthesis:none}
p,h1,h2,h3{margin:0}
p{color:#e4e7f1}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.line-icon{display:block;width:calc(20 * var(--u));height:calc(20 * var(--u));flex:none;pointer-events:none}
.button{display:inline-flex;align-items:center;justify-content:center;gap:calc(12 * var(--u));height:calc(44 * var(--u));padding:0 calc(18 * var(--u));border:1px solid #aa6aef66;border-radius:calc(10 * var(--u));font-size:calc(15 * var(--u));font-weight:600;line-height:1.2;white-space:nowrap;background:linear-gradient(110deg,#ad35f5,#922df6 50%,#7c3aed)}
.button:hover{filter:brightness(1.08)}
.button.secondary{background:#0b122f80;border-color:#9689c9;font-weight:400}
.eyebrow{font-size:calc(10 * var(--u));line-height:calc(13 * var(--u));font-weight:600;letter-spacing:calc(2.4 * var(--u));text-transform:uppercase;color:var(--cyan)}
.hero{position:relative;isolation:isolate;padding-block-start:calc(50 * var(--u))}
.hero:before{content:"";position:absolute;z-index:-2;inset-block:calc(-10 * var(--u)) 0;pointer-events:none}
.hero-art{position:absolute;z-index:-1;object-fit:contain;mix-blend-mode:lighten;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 98%,transparent),linear-gradient(0deg,transparent,#000 4%,#000 97%,transparent);mask-composite:intersect}
.hero-copy{position:relative}
.hero .eyebrow{margin-bottom:calc(13 * var(--u))}
h1{font-size:calc(53 * var(--u));font-weight:800;line-height:calc(50 * var(--u));letter-spacing:calc(-.6 * var(--u));margin-bottom:calc(12 * var(--u))}
h1 em{font-style:normal;color:var(--cyan);white-space:nowrap}
.hero-copy>p:not(.eyebrow){font-size:calc(18 * var(--u));line-height:calc(22 * var(--u))}
.actions{display:flex;gap:calc(12 * var(--u));margin-top:calc(22 * var(--u))}
.actions:empty{display:none}
.round{display:inline-flex;align-items:center;justify-content:center;flex:none;width:calc(34 * var(--u));height:calc(34 * var(--u));border:1px solid #a16aea;border-radius:50%;color:#c281f5}
.round .line-icon{width:calc(18 * var(--u));height:calc(18 * var(--u))}
.icon{display:flex;align-items:center;justify-content:center;flex:none;color:var(--cyan);width:calc(63 * var(--u));height:calc(63 * var(--u));border:1px solid var(--cyan);border-radius:calc(11 * var(--u));background:#073b691a;box-shadow:0 0 calc(18 * var(--u)) #22d3ee0c}
.icon>.line-icon{width:calc(34 * var(--u));height:calc(34 * var(--u));stroke-width:1.5}
.card:nth-child(even)>.icon,.project-wide:nth-child(2) .icon,.contact-item:nth-of-type(2)>.icon,.privacy-panel:nth-child(even)>.icon{color:#b95df4;border-color:#bb50f3;background:#7c3aed0b}
.section-heading{text-align:center}
.section-heading .eyebrow{margin-bottom:calc(3 * var(--u))}
.section-heading h2{font-weight:800;font-size:calc(37.3 * var(--u));line-height:calc(43 * var(--u));letter-spacing:calc(-.1 * var(--u));margin-bottom:calc(6 * var(--u))}
.section-heading p:not(.eyebrow){font-size:calc(16 * var(--u));line-height:calc(23 * var(--u))}
.grid{display:grid;gap:calc(16 * var(--u))}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.card,.panel,.project-wide{min-width:0;border:1px solid #2e437c88;border-radius:calc(10 * var(--u));background:radial-gradient(ellipse at 20% 90%,#103b6d26,transparent 80%),linear-gradient(115deg,#17274d60,#111a3db3 55%,#191d4559)}
.card{position:relative}
.card h3{font-size:calc(21 * var(--u));font-weight:700;line-height:calc(25 * var(--u))}
.card p{font-size:calc(15 * var(--u));line-height:calc(21 * var(--u))}
.cta{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;background:#10112e;border:1px solid #8850eb;border-radius:calc(10 * var(--u))}
.cta:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--banner) center/100% 100% no-repeat}
.cta h2{font-weight:800;font-size:calc(34 * var(--u));line-height:calc(39 * var(--u));letter-spacing:calc(-.4 * var(--u));margin-bottom:calc(6 * var(--u))}
.cta p:not(.eyebrow){font-size:calc(16 * var(--u));line-height:calc(20 * var(--u))}
.cta .eyebrow{margin-bottom:calc(5 * var(--u));font-size:calc(9 * var(--u));letter-spacing:calc(2 * var(--u))}
.cta>.button{width:calc(170 * var(--u));height:calc(46 * var(--u));font-size:calc(15 * var(--u))}
/* Services — hero ends 549; service grid 710–1028; process 1172–1353. */
.page-services{background:radial-gradient(ellipse calc(460 * var(--u)) calc(160 * var(--u)) at 75% calc(550 * var(--u)),#22449a55,transparent),radial-gradient(ellipse calc(440 * var(--u)) calc(450 * var(--u)) at 15% calc(800 * var(--u)),#0e3b641f,transparent),linear-gradient(#06132e80,#06132e80),#10112e}
.page-services .hero{min-height:calc(387 * var(--u))}
.page-services .hero-art{--art-size:calc(506 * var(--u));top:calc(6 * var(--u))}
.page-services .hero:before{background:linear-gradient(164deg,transparent 20%,#14376e26 32%,transparent 37%),radial-gradient(ellipse 40% 75% at 40% 42%,#143e7e33,transparent)}
.page-services h1 em{font-size:calc(48 * var(--u));letter-spacing:0;position:relative;top:calc(-4 * var(--u))}
.service-word{font-style:italic}
.page-services .hero-copy>p:not(.eyebrow){width:calc(265 * var(--u));font-size:calc(17 * var(--u));line-height:calc(21 * var(--u))}
.page-services .actions{margin-top:calc(21 * var(--u))}
.page-services .actions>.button:first-child{width:calc(159 * var(--u))}
.page-services .actions>.secondary{width:calc(149 * var(--u));font-size:calc(13 * var(--u));gap:calc(9 * var(--u))}
.page-services .actions>.secondary .line-icon{width:calc(30 * var(--u));height:calc(30 * var(--u))}
.page-services .actions>.secondary circle{fill:#2c347b;stroke:#4353ae;stroke-width:1}
.page-services .actions>.secondary path{fill:#f8fafc;stroke:none}
.benefits{height:calc(82 * var(--u));position:relative;display:flex;align-items:center;gap:calc(18 * var(--u));padding-bottom:calc(12 * var(--u));font-size:calc(12 * var(--u))}
.benefits:before{content:"";position:absolute;top:0;left:0;width:calc(540 * var(--u));height:1px;background:linear-gradient(90deg,#465386b3,#46538680 78%,transparent)}
.benefits:after{content:"";position:absolute;bottom:0;left:calc(50% - 50cqw);width:100cqw;height:1px;background:linear-gradient(90deg,#34477499,#5361b0a6)}
.benefits>span{display:flex;align-items:center;gap:calc(13 * var(--u));white-space:nowrap}
.benefits>span+span:before{content:"";width:3px;height:3px;border-radius:50%;background:#f8fafc;margin-right:calc(1 * var(--u))}
.benefits .line-icon{color:#bc70f1;width:calc(20 * var(--u));height:calc(20 * var(--u))}
.page-services main>section:nth-of-type(2){padding-top:calc(38 * var(--u))}
.page-services .section-heading{margin-bottom:calc(12 * var(--u))}
.service-grid .card{height:calc(151 * var(--u));padding:calc(22 * var(--u)) calc(56 * var(--u)) calc(18 * var(--u)) calc(123 * var(--u));display:flex;flex-direction:column;justify-content:center}
.service-grid .icon{position:absolute;left:calc(23 * var(--u));top:calc(22 * var(--u));width:calc(75 * var(--u));height:calc(75 * var(--u));border-radius:calc(13 * var(--u))}
.service-grid .icon>.line-icon{width:calc(39 * var(--u));height:calc(39 * var(--u))}
.service-grid h3{margin-bottom:calc(9 * var(--u));white-space:nowrap}
.service-grid p{font-size:calc(15 * var(--u));line-height:calc(21 * var(--u));max-width:100%}
.service-grid .card:nth-child(1) p{max-width:calc(216 * var(--u))}
.service-grid .card:nth-child(3) p{max-width:calc(185 * var(--u))}
.service-grid .card:nth-child(4) p{max-width:calc(205 * var(--u))}
.service-grid .round{position:absolute;right:calc(21 * var(--u));top:calc(57 * var(--u));width:calc(35 * var(--u));height:calc(35 * var(--u))}
.page-services main>section:nth-of-type(3){padding-top:calc(43 * var(--u))}
.page-services main>section:nth-of-type(3) .section-heading h2{font-size:calc(34 * var(--u));line-height:calc(43 * var(--u));margin-bottom:calc(5 * var(--u))}
.page-services main>section:nth-of-type(3) .section-heading .eyebrow{margin-bottom:calc(4 * var(--u))}
.page-services main>section:nth-of-type(3) .section-heading{margin-bottom:calc(13 * var(--u))}
.page-services .grid.four{gap:calc(32 * var(--u));grid-template-columns:196fr 192fr 192fr 192fr}
.process{height:calc(181 * var(--u));text-align:center;padding:calc(73 * var(--u)) calc(13 * var(--u)) calc(16 * var(--u))}
.process>.icon{position:absolute;top:calc(19 * var(--u));left:calc(81 * var(--u));border:0;background:transparent;box-shadow:none;width:calc(40 * var(--u));height:calc(40 * var(--u));color:#ae5aef}
.process>.icon .line-icon{width:100%;height:100%}
.process>.step{position:absolute;left:calc(20 * var(--u));top:calc(19 * var(--u));width:calc(33 * var(--u));height:calc(33 * var(--u));border:1px solid var(--cyan);border-radius:50%;color:var(--cyan);background:#043b6526;font-size:calc(12 * var(--u));display:flex;align-items:center;justify-content:center}
.process h3{font-size:calc(17 * var(--u));line-height:calc(22 * var(--u));margin-bottom:calc(8 * var(--u))}
.process p{font-size:calc(14 * var(--u));line-height:calc(20 * var(--u))}
.process:not(:last-child):after{content:"";position:absolute;right:calc(-20 * var(--u));top:calc(74 * var(--u));width:calc(8 * var(--u));height:calc(16 * var(--u));background:#ad53f5;clip-path:polygon(0 0,100% 50%,0 100%,0 83%,70% 50%,0 17%)}
.page-services .cta{--banner:url('/assets/banner-services.svg');margin-block-start:calc(33 * var(--u));height:calc(144 * var(--u));padding-block:calc(19 * var(--u))}
.page-services .cta>div{max-width:calc(440 * var(--u))}
.page-services .cta p:not(.eyebrow){max-width:calc(345 * var(--u));font-size:calc(15 * var(--u))}
.page-services .cta>.button{width:calc(204 * var(--u));height:calc(49 * var(--u));font-size:calc(16 * var(--u))}
/* Portfolio — original preview aspect ratio 492:225 remains intact. */
.page-portfolio{background:radial-gradient(ellipse calc(430 * var(--u)) calc(160 * var(--u)) at 70% calc(540 * var(--u)),#26429347,transparent),radial-gradient(ellipse calc(500 * var(--u)) calc(520 * var(--u)) at 30% calc(950 * var(--u)),#0d315b1f,transparent),linear-gradient(#06132e80,#06132e80),#10112e}
.page-portfolio .hero{min-height:calc(458 * var(--u))}
.page-portfolio h1{font-size:calc(70 * var(--u));font-weight:800;line-height:calc(61 * var(--u));letter-spacing:calc(.1 * var(--u));margin-bottom:calc(18 * var(--u))}
.page-portfolio .hero-copy>p:not(.eyebrow){font-size:calc(20 * var(--u));line-height:calc(25 * var(--u));width:calc(290 * var(--u))}
.page-portfolio .hero-art{--art-size:calc(506 * var(--u));top:calc(6 * var(--u))}
.page-portfolio .hero:before{background:linear-gradient(165deg,transparent 19%,#194c9b2e 31%,transparent 37%),linear-gradient(164deg,transparent 67%,#10427729 79%,transparent 85%),radial-gradient(ellipse 45% 60% at 40% 52%,#244eaa47,transparent)}
.page-portfolio .hero:after,.page-about .hero:after{content:"";position:absolute;bottom:0;height:1px;background:#364a9e88}
.page-portfolio main>section:nth-child(2){padding-top:calc(31 * var(--u))}
.page-portfolio .section-heading{margin-bottom:calc(13 * var(--u))}
.page-portfolio .section-heading .eyebrow{margin-bottom:calc(3 * var(--u))}
.page-portfolio .section-heading h2{font-size:calc(39 * var(--u));line-height:calc(43 * var(--u));letter-spacing:calc(-.3 * var(--u));margin-bottom:calc(4 * var(--u))}
.project-list{display:grid;gap:calc(16 * var(--u))}
.project-wide{display:grid;grid-template-columns:calc(314 * var(--u)) minmax(0,1fr);gap:0;min-height:calc(255 * var(--u));padding:calc(16 * var(--u)) calc(17 * var(--u)) calc(12 * var(--u)) calc(28 * var(--u))}
.project-wide>div{min-width:0}
.project-wide .icon{width:calc(64 * var(--u));height:calc(63 * var(--u));margin:calc(5 * var(--u)) 0 calc(10 * var(--u))}
.project-wide h2{font-size:calc(30 * var(--u));line-height:calc(34 * var(--u));font-weight:700;letter-spacing:calc(-.7 * var(--u));margin-bottom:calc(1 * var(--u))}
.project-wide p{font-size:calc(16 * var(--u));line-height:calc(22 * var(--u));margin-bottom:calc(7 * var(--u))}
.site-link{display:inline-flex;gap:calc(18 * var(--u));align-items:center;justify-content:space-between;padding:0 calc(18 * var(--u));height:calc(33 * var(--u));border:1px solid #9860e5;border-radius:calc(18 * var(--u));font-size:calc(14 * var(--u));line-height:1.2;max-width:100%}
.site-link .line-icon{width:calc(14 * var(--u));height:calc(14 * var(--u));color:#bc7efa}
.project-wide .round{display:flex;margin-top:calc(11 * var(--u));width:calc(35 * var(--u));height:calc(35 * var(--u))}
.project-wide>img{width:100%;height:auto;aspect-ratio:492/225;object-fit:contain;align-self:center;border:1px solid #5a6dbe;border-radius:calc(10 * var(--u))}
.page-portfolio .cta{--banner:url('/assets/banner-portfolio.svg');margin-block-start:calc(16 * var(--u));height:calc(107 * var(--u));padding-block:calc(20 * var(--u))}
.page-portfolio .cta h2{font-size:calc(34 * var(--u));line-height:calc(39 * var(--u));margin-bottom:calc(3 * var(--u))}
/* About — preserve the approved 486x420 and 590x390 illustrations. */
.page-about{background:radial-gradient(ellipse calc(500 * var(--u)) calc(250 * var(--u)) at 45% calc(450 * var(--u)),#0a49884d,transparent),radial-gradient(ellipse calc(400 * var(--u)) calc(330 * var(--u)) at 15% calc(1200 * var(--u)),#1738a32b,transparent),linear-gradient(#06132e80,#06132e80),#10112e}
.page-about .hero{min-height:calc(440 * var(--u))}
.page-about h1{font-size:calc(57 * var(--u));line-height:calc(51 * var(--u));letter-spacing:calc(.1 * var(--u));margin-bottom:calc(14 * var(--u))}
.page-about h1 em{font-size:calc(55.5 * var(--u));letter-spacing:0;position:relative;top:calc(-4 * var(--u))}
.page-about .hero-copy>p:not(.eyebrow){width:calc(360 * var(--u));font-size:calc(18 * var(--u));line-height:calc(24 * var(--u))}
.page-about .actions{margin-top:calc(25 * var(--u))}
.page-about .actions>.button{width:calc(160 * var(--u))}
.page-about .hero-art{--art-size:calc(486 * var(--u));top:calc(10 * var(--u));mask-image:linear-gradient(90deg,transparent,#000 1%,#000),linear-gradient(0deg,transparent,#000 12%,#000 98%,transparent);mask-composite:intersect}
.page-about .hero:before{background:linear-gradient(161deg,transparent 20%,#21488d26 35%,transparent 40%),radial-gradient(ellipse 45% 17% at 45% 85%,#166eb459,transparent)}
.page-about main>section:nth-child(2){padding-top:calc(38 * var(--u))}
.page-about .section-heading{margin-bottom:calc(24 * var(--u))}
.page-about .section-heading .eyebrow{margin-bottom:calc(4 * var(--u))}
.page-about .section-heading h2{font-size:calc(36.6 * var(--u));line-height:calc(45 * var(--u));letter-spacing:calc(-.15 * var(--u));margin-bottom:calc(7 * var(--u))}
.page-about .section-heading p:not(.eyebrow){font-size:calc(16 * var(--u));line-height:calc(21 * var(--u))}
.page-about .grid.three{gap:calc(15 * var(--u))}
.page-about .card{height:calc(245 * var(--u));padding:calc(19 * var(--u)) calc(23 * var(--u)) calc(16 * var(--u));display:flex;flex-direction:column}
.page-about .card .icon{margin-bottom:calc(13 * var(--u))}
.page-about .card h3{font-size:calc(21 * var(--u));margin-bottom:calc(8 * var(--u))}
.page-about .card p{font-size:calc(15 * var(--u));line-height:calc(20 * var(--u))}
.page-about .card .round{margin-top:auto;width:calc(32 * var(--u));height:calc(32 * var(--u))}
.about-approach{padding-block-start:calc(60 * var(--u))}
.about-approach>.eyebrow{margin-bottom:calc(4 * var(--u))}
.about-approach>h2{font-size:calc(34 * var(--u));line-height:calc(37 * var(--u));font-weight:700;letter-spacing:0;margin-bottom:calc(5 * var(--u))}
.about-approach>p:not(.eyebrow){font-size:calc(17 * var(--u));line-height:calc(22 * var(--u))}
.approach{position:relative;isolation:isolate;display:grid;margin-top:calc(25 * var(--u))}
.approach>img{width:calc(590 * var(--u));height:calc(390 * var(--u));transform:translateY(calc(-16 * var(--u)));object-fit:contain;mix-blend-mode:lighten;mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent),linear-gradient(0deg,transparent,#000 3%,#000 98%,transparent);mask-composite:intersect}
.approach:before{content:"";z-index:-1;position:absolute;top:calc(-45 * var(--u));bottom:calc(-35 * var(--u));background:linear-gradient(170deg,transparent 76%,#0e49a026 84%,transparent 97%),radial-gradient(ellipse 60% 25% at 23% 80%,#1853ae4d,transparent),radial-gradient(ellipse 60% 70% at 36% 40%,#14349c47,transparent)}
.approach>div{padding-top:calc(28 * var(--u))}
.approach .eyebrow{margin-bottom:calc(5 * var(--u))}
.approach h2{font-size:calc(33 * var(--u));line-height:calc(35 * var(--u));font-weight:700;letter-spacing:calc(-.4 * var(--u));margin-bottom:calc(16 * var(--u))}
.approach p:not(.eyebrow){font-size:calc(17 * var(--u));line-height:calc(23 * var(--u));margin-bottom:calc(25 * var(--u))}
.approach .button{width:calc(241 * var(--u));font-size:calc(14 * var(--u))}
/* Contact — native 1024px composition,393/524px panels. */
.contact-page{background:radial-gradient(ellipse calc(440 * var(--u)) calc(260 * var(--u)) at 80% calc(430 * var(--u)),#3929ba33,transparent),radial-gradient(ellipse calc(550 * var(--u)) calc(650 * var(--u)) at 60% calc(800 * var(--u)),#102b682b,transparent),linear-gradient(#06132e80,#06132e80),#10112e}
.contact-page .hero{min-height:calc(414 * var(--u));padding-block-start:calc(67 * var(--u))}
.contact-page .hero .eyebrow{font-size:calc(11 * var(--u));letter-spacing:calc(2.5 * var(--u));margin-bottom:calc(14 * var(--u))}
.contact-page h1{font-size:calc(70 * var(--u));line-height:calc(61 * var(--u));font-weight:800;letter-spacing:calc(.4 * var(--u));margin-bottom:calc(23 * var(--u))}
.contact-page .hero-copy>p:not(.eyebrow){font-size:calc(22 * var(--u));line-height:calc(28 * var(--u));max-width:calc(360 * var(--u))}
.contact-page .hero-art{--art-size:calc(584 * var(--u));top:0;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 99%,transparent),linear-gradient(0deg,transparent,#000 3%,#000 92%,transparent);mask-composite:intersect}
.contact-page .hero:before{inset-block:0 0;background:radial-gradient(ellipse 35% 65% at 65% 35%,#1c39bc55,transparent),radial-gradient(ellipse 25% 50% at 92% 50%,#6a1db629,transparent)}
.contact-grid{display:grid;grid-template-columns:393fr 524fr;gap:calc(20 * var(--u));align-items:stretch}
.contact-grid>.panel{height:calc(719 * var(--u));padding:calc(37 * var(--u)) calc(30 * var(--u));border-color:#3a4e8c9c;border-radius:calc(9 * var(--u))}
.contact-grid h2{font-size:calc(34 * var(--u));line-height:calc(40 * var(--u));font-weight:800;letter-spacing:calc(-.5 * var(--u));margin-bottom:calc(8 * var(--u))}
.contact-grid>.panel>p{font-size:calc(19 * var(--u));line-height:calc(25 * var(--u));margin-bottom:calc(30 * var(--u))}
.contact-item{display:grid;grid-template-columns:calc(68 * var(--u)) minmax(0,1fr);gap:calc(25 * var(--u));align-items:center;padding:0 0 calc(27 * var(--u));margin-bottom:calc(27 * var(--u));border-bottom:1px solid #41558f9c}
.contact-item:last-child{border:0;margin:0}
.contact-item .icon{width:calc(68 * var(--u));height:calc(68 * var(--u));border-radius:calc(13 * var(--u))}
.contact-item .icon .line-icon{width:calc(36 * var(--u));height:calc(36 * var(--u))}
.contact-item h3{font-size:calc(19 * var(--u));line-height:calc(24 * var(--u));font-weight:700;margin-bottom:calc(2 * var(--u))}
.contact-item a,.contact-item p{font-size:calc(17 * var(--u));line-height:calc(23 * var(--u));overflow-wrap:anywhere}
.contact-item a[href^="mailto:"]{font-size:calc(14.5 * var(--u));letter-spacing:0;white-space:nowrap}
.contact-grid form.panel{padding:calc(25 * var(--u)) calc(24 * var(--u)) calc(18 * var(--u)) calc(28 * var(--u))}
.contact-grid form h2{font-size:calc(32 * var(--u));line-height:calc(38 * var(--u));letter-spacing:calc(-.35 * var(--u));margin-bottom:calc(3 * var(--u))}
.contact-grid form>p:first-of-type{font-size:calc(16 * var(--u));line-height:calc(23 * var(--u));margin-bottom:calc(14 * var(--u))}
label{display:block;font-size:calc(15 * var(--u));line-height:calc(21 * var(--u));margin-bottom:calc(16.5 * var(--u));color:var(--white)}
.field-control{display:block;position:relative;margin-top:calc(6 * var(--u))}
.field-control>.line-icon{position:absolute;left:calc(15 * var(--u));top:50%;transform:translateY(-50%);width:calc(20 * var(--u));height:calc(20 * var(--u));color:#b9b8f0}
.field-control>.select-indicator{left:auto;right:calc(13 * var(--u));width:calc(18 * var(--u))}
.field-control.multiline>.line-icon{top:calc(16 * var(--u));transform:none}
input,select,textarea{display:block;width:100%;max-width:100%;height:calc(44 * var(--u));padding:0 calc(40 * var(--u)) 0 calc(51 * var(--u));border:1px solid #6778c6b3;border-radius:calc(9 * var(--u));background:linear-gradient(115deg,#1b285a70,#191d45b3);color:#ccd4ef;font-size:calc(15 * var(--u));line-height:calc(21 * var(--u));box-shadow:none}
input::placeholder,textarea::placeholder{color:#adb9e2;opacity:1}
select{appearance:none;cursor:pointer}
select option{background:#191d45;color:#f8fafc}
textarea{height:calc(107 * var(--u));font-size:calc(14 * var(--u));padding-right:calc(14 * var(--u));padding-top:calc(12 * var(--u));resize:vertical}
.contact-grid form label:last-of-type{margin-bottom:calc(21 * var(--u))}
.contact-grid form>.button{width:100%;height:calc(49 * var(--u));font-size:calc(18 * var(--u));margin:0 0 calc(7 * var(--u))}
.contact-grid form .form-note{font-size:calc(11 * var(--u));line-height:calc(15 * var(--u));color:#bfc9e5;margin:0 0 calc(6 * var(--u))}
.privacy-link{display:inline-flex;align-items:center;gap:calc(8 * var(--u));font-size:calc(13 * var(--u));line-height:calc(20 * var(--u));text-decoration:underline}
.privacy-link .line-icon{width:calc(18 * var(--u));height:calc(18 * var(--u))}
#form-status{font-size:calc(13 * var(--u));line-height:1.4}
#form-status:empty{display:none}
.contact-page .cta{--banner:url('/assets/banner-contact.svg');height:calc(179 * var(--u));margin-top:calc(26 * var(--u));padding-block:calc(35 * var(--u))}
.contact-page .cta h2{font-size:calc(40 * var(--u));line-height:calc(46 * var(--u));letter-spacing:calc(-.5 * var(--u));margin-bottom:calc(10 * var(--u))}
.contact-page .cta p{font-size:calc(20 * var(--u));line-height:calc(26 * var(--u))}
/* Privacy — native illustration ends before the first panel at y395. */
.page-privacy-policy{background:radial-gradient(ellipse calc(450 * var(--u)) calc(600 * var(--u)) at 30% calc(700 * var(--u)),#13356629,transparent),linear-gradient(#06132e80,#06132e80),#10112e}
.page-privacy-policy .hero{min-height:calc(315 * var(--u));padding-block-start:calc(52 * var(--u))}
.page-privacy-policy .hero .eyebrow{font-size:calc(12 * var(--u));line-height:calc(16 * var(--u));letter-spacing:calc(2.8 * var(--u));margin-bottom:calc(12 * var(--u))}
.page-privacy-policy h1{font-size:calc(70 * var(--u));line-height:calc(61 * var(--u));letter-spacing:calc(.8 * var(--u));margin-bottom:calc(18 * var(--u))}
.page-privacy-policy .hero-art{--art-size:calc(486 * var(--u));top:calc(-20 * var(--u));mask-image:linear-gradient(90deg,transparent,#000 4%,#000 98%,transparent),linear-gradient(0deg,transparent,#000 5%,#000 98%,transparent);mask-composite:intersect}
.page-privacy-policy .hero:before{inset-block:calc(-15 * var(--u)) 0;background:radial-gradient(ellipse 32% 65% at 70% 30%,#173a9c47,transparent),radial-gradient(ellipse 32% 40% at 90% 30%,#6024a92b,transparent)}
.draft{display:inline-flex;align-items:center;gap:calc(12 * var(--u));width:calc(369 * var(--u));height:calc(45 * var(--u));padding:0 calc(13 * var(--u));border:1px solid #a551ed;border-radius:calc(9 * var(--u));background:#11152e80;color:#f0edfc;font-size:calc(13 * var(--u));line-height:calc(18 * var(--u));white-space:nowrap}
.draft .line-icon{width:calc(26 * var(--u));height:calc(26 * var(--u));color:#b95cf2}
.privacy-panels{display:grid;gap:calc(17 * var(--u))}
.privacy-panel{display:grid;grid-template-columns:calc(83 * var(--u)) minmax(0,1fr);gap:calc(46 * var(--u));padding:calc(24 * var(--u)) calc(25 * var(--u));min-height:calc(150 * var(--u));border-radius:calc(11 * var(--u))}
.privacy-panel .icon{width:calc(83 * var(--u));height:calc(82 * var(--u));border-radius:calc(14 * var(--u))}
.privacy-panel .icon .line-icon{width:calc(43 * var(--u));height:calc(43 * var(--u))}
.privacy-panel h2{font-size:calc(26 * var(--u));line-height:calc(32 * var(--u));font-weight:700;letter-spacing:calc(-.3 * var(--u));margin-bottom:calc(7 * var(--u))}
.privacy-panel p{font-size:calc(15.5 * var(--u));line-height:calc(21 * var(--u))}
.privacy-panel p+p{margin-top:calc(10 * var(--u))}
.privacy-panel:nth-child(1){height:calc(178 * var(--u))}
.privacy-panel:nth-child(2){height:calc(150 * var(--u))}
.privacy-panel:nth-child(3),.privacy-panel:nth-child(4){height:calc(173 * var(--u))}
.privacy-panel:nth-child(5){height:calc(167 * var(--u))}
.privacy-panel:nth-child(6){height:calc(140 * var(--u));min-height:0}
.privacy-panel:last-child p+p{margin-top:0}
.privacy-panel a{color:var(--cyan);font-weight:600;overflow-wrap:anywhere}
.page-privacy-policy .cta{--banner:url('/assets/banner-privacy.svg');margin-block-start:calc(17 * var(--u));height:calc(135 * var(--u));padding-block:calc(16 * var(--u))}
.page-privacy-policy .cta h2{font-size:calc(34 * var(--u));line-height:calc(36 * var(--u));margin-bottom:calc(4 * var(--u))}
.page-privacy-policy .cta p:not(.eyebrow){font-size:calc(15 * var(--u));line-height:calc(21 * var(--u))}
.page-privacy-policy .cta>.button{width:calc(156 * var(--u));height:calc(44 * var(--u))}

@media(max-width:900px){.desktop-break{display:none}
body{font-size:16px}
.page-services .hero,.page-portfolio .hero,.page-about .hero,.contact-page .hero,.page-privacy-policy .hero{min-height:auto;padding-block-start:35px;display:flex;flex-direction:column}
.hero:before,.contact-page .hero:before,.page-privacy-policy .hero:before{inset-block:0 0}
.hero:after{display:none}
.hero .eyebrow{font-size:10px;letter-spacing:2.5px}
.page-services h1,.page-portfolio h1,.page-about h1,.contact-page h1,.page-privacy-policy h1{font-size:clamp(38px,10.4vw,62px);line-height:1.03;letter-spacing:-.7px}
.page-services h1 em,.page-about h1 em{font-size:clamp(33px,8.8vw,52px);letter-spacing:-.7px}
.hero h1 em{white-space:normal;top:auto}
.page-services .hero-copy>p:not(.eyebrow),.page-portfolio .hero-copy>p:not(.eyebrow),.page-about .hero-copy>p:not(.eyebrow),.contact-page .hero-copy>p:not(.eyebrow){width:auto;max-width:360px;font-size:18px;line-height:1.4}
.actions{flex-wrap:wrap}
.page-services .hero-art,.page-portfolio .hero-art,.page-about .hero-art,.contact-page .hero-art,.page-privacy-policy .hero-art{position:relative;order:2;top:auto;--art-size:calc(100% + 44px);object-fit:contain}
.benefits{height:auto;padding:18px 0;flex-wrap:wrap;gap:14px 16px;font-size:11px}
.benefits>span{gap:8px}
.benefits>span+span:before{display:none}
.benefits:before{width:100%}
.benefits:after{display:none}
.page-services main>section:nth-of-type(2),.page-services main>section:nth-of-type(3),.page-portfolio main>section:nth-child(2),.page-about main>section:nth-child(2){padding-top:35px}
.section-heading h2,.page-services main>section:nth-of-type(3) .section-heading h2,.page-portfolio .section-heading h2,.page-about .section-heading h2{font-size:30px;line-height:1.12;letter-spacing:-.5px;margin-bottom:12px}
.section-heading .eyebrow,.page-about .section-heading .eyebrow{margin-bottom:9px}
.section-heading p:not(.eyebrow),.page-about .section-heading p:not(.eyebrow){font-size:16px;line-height:1.4}
.section-heading br{display:none}
.page-services .section-heading,.page-portfolio .section-heading,.page-about .section-heading{margin-bottom:22px}
.grid.two,.grid.three,.grid.four,.page-services .grid.four{grid-template-columns:1fr;margin:0;gap:17px;grid-auto-rows:1fr}
.service-grid .card{height:auto;min-height:230px;padding:24px 24px 65px 104px;justify-content:flex-start}
.service-grid .icon{left:20px;top:24px;width:64px;height:64px}
.service-grid h3{font-size:21px;line-height:1.2;white-space:normal}
.service-grid p,.service-grid .card:nth-child(n) p{font-size:16px;line-height:1.4;max-width:100%}
.service-grid .round{top:auto;bottom:20px;right:22px}
.process{height:auto;min-height:210px;padding:82px 25px 25px}
.process>.icon{left:calc(50% - 20px)}
.process p{font-size:16px;line-height:1.4}
.process h3{font-size:20px;line-height:1.2}
.process:not(:last-child):after{display:none}
.page-services .cta,.page-portfolio .cta,.contact-page .cta,.page-privacy-policy .cta{height:auto;margin-block-start:35px;padding-block:28px;display:block}
.cta h2,.page-portfolio .cta h2,.contact-page .cta h2,.page-privacy-policy .cta h2{font-size:29px;line-height:1.15;letter-spacing:-.5px}
.cta p:not(.eyebrow),.page-services .cta p:not(.eyebrow),.contact-page .cta p,.page-privacy-policy .cta p:not(.eyebrow){font-size:16px;line-height:1.4}
.cta br{display:none}
.cta>.button,.page-services .cta>.button,.page-privacy-policy .cta>.button{margin-top:20px;width:170px;height:46px;font-size:15px}
.project-wide{grid-template-columns:1fr;min-height:auto;padding:23px;gap:22px}
.project-wide>img{width:100%;height:auto}
.project-wide .icon{margin-top:0}
.project-wide h2{font-size:28px;line-height:1.2}
.site-link{font-size:13px;gap:12px;padding:0 13px}
.project-wide .round{margin-top:15px}
.page-about .card{height:auto;min-height:280px;padding:24px}
.page-about .card h3{font-size:23px;line-height:1.2}
.page-about .card p{font-size:16px;line-height:1.4;margin-bottom:18px}
.about-approach{padding-block-start:40px}
.about-approach>h2{font-size:31px;line-height:1.15}
.about-approach>p:not(.eyebrow){font-size:17px;line-height:1.4}
.about-approach br{display:none}
.approach h2 br{display:initial}
.approach{display:flex;flex-direction:column;margin:25px 0 0}
.approach>img{width:100%;height:auto;transform:none}
.approach>div{padding:0}
.approach h2{font-size:30px;line-height:1.15}
.approach .button{width:auto;max-width:100%;font-size:14px}
.approach:before{inset-block:-15px -15px}
.contact-grid{grid-template-columns:1fr;gap:20px}
.contact-grid>.panel,.contact-grid form.panel{height:auto;padding:25px;min-height:0}
.contact-grid h2,.contact-grid form h2{font-size:29px;line-height:1.15}
.contact-grid>.panel>p{font-size:17px;line-height:1.4}
.contact-item{grid-template-columns:55px minmax(0,1fr);gap:16px}
.contact-item .icon{width:55px;height:55px}
.contact-item h3{font-size:18px}
.contact-item a[href^="mailto:"]{font-size:15px;letter-spacing:0;white-space:normal;overflow-wrap:anywhere}
.contact-item a,.contact-item p{font-size:17px}
.contact-item:last-child{padding-bottom:0}
.contact-grid form>p:first-of-type{font-size:16px;line-height:1.4;margin-bottom:20px}
label{font-size:15px}
input,select,textarea{font-size:16px;height:46px}
textarea{height:125px}
.contact-grid form .form-note{font-size:12px;line-height:1.4}
.contact-grid form>.button{font-size:17px}
.privacy-link{font-size:14px}
#form-status{margin-top:12px}
.draft{width:auto;max-width:100%;height:auto;min-height:45px;padding:10px 12px;white-space:normal;font-size:12px;line-height:1.4}
.draft .line-icon{width:24px;height:24px}
.privacy-panel{grid-template-columns:56px minmax(0,1fr);gap:18px;padding:22px 20px}
.privacy-panel:nth-child(n){height:auto;min-height:0}
.privacy-panel .icon{width:56px;height:56px;border-radius:11px}
.privacy-panel .icon .line-icon{width:31px;height:31px}
.privacy-panel h2{font-size:23px;line-height:1.2;margin-bottom:10px}
.privacy-panel p{font-size:16px;line-height:1.45}
.privacy-panel p+p{margin-top:12px}

}

