:root{--bg:#f4f4f2;--ink:#111213;--grey:#77797a;--line:#d8d9d8;--dark:#0c0d0e;--font:'Manrope','DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}::selection{background:#9dafba;color:#111}h1,h2,h3,p{margin:0}section{scroll-margin-top:90px}.skip-link{position:absolute;left:12px;top:-80px;background:#fff;color:#000;padding:12px;z-index:30}.skip-link:focus{top:12px}.header{height:104px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;z-index:15;background:var(--bg)}.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:25px;letter-spacing:-1.8px;white-space:nowrap}.brand sup,.footer-brand sup{font-size:9px;letter-spacing:0;vertical-align:top;margin-left:3px}.brand-icon{background:#0b0d10;color:#fff;width:42px;height:42px;border-radius:9px;display:grid;place-items:center}.brand-icon svg{width:25px;fill:currentColor}.desktop-nav{display:flex;gap:38px;font-size:13px;font-weight:700}.desktop-nav a:hover,.footer a:hover{opacity:.52}.header-cta{background:#111;color:#fff;border-radius:100px;padding:14px 19px;font-size:13px;font-weight:700;white-space:nowrap}.header-cta span{margin-left:22px}.menu-btn{display:none;border:0;background:none;width:44px;height:40px;flex-direction:column;justify-content:center;gap:8px}.menu-btn span{height:2px;width:100%;background:#111;transition:transform .2s}.mobile-menu{display:none}.hero{padding:0 2.1% 27px}.hero-photo{position:relative;height:min(790px,75vw);min-height:640px;border-radius:27px;overflow:hidden;color:#fff;background:linear-gradient(90deg,rgba(4,9,15,.78),rgba(7,13,22,.19) 69%),linear-gradient(0deg,rgba(3,7,13,.9),transparent 45%),url('assets/toronto-desktop.webp') center 46%/cover no-repeat}.hero-top{position:absolute;top:34px;left:40px;right:40px;display:flex;align-items:center;gap:10px;letter-spacing:.14em;font-size:10px;font-weight:700}.little-dot{height:7px;width:7px;background:#fff;border-radius:50%}.hero-top-right{margin-left:auto}.hero-content{position:absolute;inset:0 5.2% 14%;display:flex;flex-direction:column;justify-content:flex-end}.hero-side{font-size:12px;font-weight:600;margin-bottom:36px;letter-spacing:.04em}.hero-side span{color:#aaa;padding:0 7px}.hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:25px}.hero h1{font-size:clamp(75px,11.7vw,190px);letter-spacing:-.105em;line-height:.88;font-weight:800}.hero h1 em{font-style:normal;color:#dee1e3}.hero-bottom p{font-size:clamp(14px,1.5vw,20px);line-height:1.6;letter-spacing:-.04em;margin-bottom:13px;white-space:nowrap}.hero-foot{position:absolute;bottom:30px;left:40px;right:40px;border-top:1px solid #ffffff55;padding-top:19px;display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:700;letter-spacing:.12em}.hero-foot a{display:flex;gap:15px;align-items:center}.circle-arrow{height:30px;width:30px;display:grid;place-items:center;border:1px solid #ffffff8c;border-radius:50%;font-size:17px}.section-pad{padding:115px 5.2%}.eyebrow{font-size:15px;font-weight:700;display:flex;align-items:center;gap:12px;margin-bottom:50px;letter-spacing:-.03em}.plus{display:inline-grid;place-items:center;background:#101112;color:#fff;border-radius:50%;width:24px;height:24px;font-size:20px;font-weight:600;line-height:1}.muted{color:#858687}.intro-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:8%}.intro h2,.approach h2,.about h2{font-size:clamp(48px,7.15vw,105px);letter-spacing:-.083em;line-height:1.08;font-weight:700}.intro-aside{padding-top:13px;max-width:480px}.intro-aside p{font-size:clamp(19px,2vw,27px);letter-spacing:-.047em;line-height:1.5;font-weight:500}.intro-aside .muted-text{font-size:16px;line-height:1.7;margin-top:24px}.muted-text{color:#767878}.text-link{display:inline-flex;justify-content:space-between;gap:60px;border-bottom:1px solid #111;margin-top:32px;padding-bottom:10px;font-size:14px;font-weight:700}.section-heading{display:flex;align-items:end;justify-content:space-between}.section-heading .eyebrow{margin-bottom:27px}.section-heading h2,.faq h2{font-size:clamp(72px,10.5vw,160px);font-weight:800;letter-spacing:-.105em;line-height:1.05}.small-index{font-size:12px;color:#737474;font-weight:700;white-space:nowrap}.section-intro{margin:25px 0 55px;font-size:19px;color:#777;max-width:540px;letter-spacing:-.045em;line-height:1.65}.projects{display:grid;gap:23px}.project-bar{padding:20px 25px;display:flex;justify-content:space-between;gap:20px;background:#fff;border-radius:20px;font-weight:700;font-size:15px;letter-spacing:-.05em}.project-bar>span:last-child{color:#717171;font-size:12px;letter-spacing:0}.three-dots{margin-left:15px;color:#111;letter-spacing:.06em}.project-art{height:clamp(320px,49vw,650px);border-radius:22px;margin-top:9px;position:relative;overflow:hidden}.project-image{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.art-media{background:#0d1218;display:flex;align-items:center;justify-content:center}.art-web{background:#2d3237;display:flex;align-items:center;justify-content:center}.work-disclaimer{font-size:12px;color:#888;margin-top:20px}.approach{padding-top:125px}.approach h2{max-width:1100px}.approach-lead{display:grid;grid-template-columns:1fr 1fr;gap:7%;margin:85px 0}.approach-lead span{font-size:11px;font-weight:800;letter-spacing:.06em}.approach-lead p{font-size:clamp(20px,2.5vw,35px);line-height:1.45;letter-spacing:-.058em}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.benefit{min-height:375px;background:#fff;border-radius:23px;padding:28px;display:flex;flex-direction:column}.benefit .n{font-size:12px;color:#999;font-weight:800}.benefit-icon{margin-top:auto;font-size:47px;line-height:1.2}.benefit h3{font-size:25px;letter-spacing:-.06em;margin:25px 0 12px}.benefit p{max-width:285px;color:#777;line-height:1.55;font-size:14px}.services-wrap{padding:0 2.1%}.services{background:#0b0b0c;border-radius:28px;color:white;padding:90px 5.5% 55px}.eyebrow.light{color:#fff}.plus.inverse{background:#fff;color:#111}.services-heading{display:flex;gap:20px;align-items:start}.services h2{font-size:clamp(72px,11vw,160px);line-height:1;letter-spacing:-.11em}.services-heading>span{color:#818181;font-size:26px;font-weight:800;margin-top:8px}.period{color:inherit}.accordion{margin-top:75px}.service{border-bottom:1px solid #333;padding:30px 0}.service-toggle{background:none;border:0;color:#fff;padding:0;width:100%;text-align:left;display:grid;grid-template-columns:18% 1fr 52px;align-items:center;gap:15px}.service-num{font-size:16px;color:#a1a1a1}.service-name{font-size:clamp(23px,3.5vw,48px);font-weight:600;letter-spacing:-.065em}.toggle-mark{justify-self:end;width:45px;height:45px;border:1px solid #555;border-radius:50%;font-size:29px;display:grid;place-items:center;font-weight:400}.service-panel{margin:23px 0 10px 18%;max-width:660px}.service-panel p{color:#aaa;font-size:17px;line-height:1.7;letter-spacing:-.025em}.chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.chips span{background:#fff;color:#111;padding:12px 18px;border-radius:35px;font-size:13px;font-weight:800;letter-spacing:-.04em}.services-end{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:57px;font-size:12px;color:#9b9b9b;font-weight:700;letter-spacing:.04em}.services-end a{color:#fff;border-bottom:1px solid #aaa;padding-bottom:8px}.about-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:8%}.about h2{font-size:clamp(55px,7.5vw,110px)}.about-copy{display:flex;flex-direction:column;justify-content:end;padding-bottom:8px}.about-rule{height:1px;background:#bfc1c1;margin-bottom:30px}.about-copy p{font-size:19px;line-height:1.5;letter-spacing:-.03em;margin-bottom:18px}.about-copy p:first-of-type{font-size:27px;line-height:1.4;font-weight:600}.about-copy p.muted-text{font-size:16px}.location{font-size:10px;font-weight:800;letter-spacing:.08em;margin-top:35px}.location-pulse{display:inline-block;width:8px;height:8px;background:#292f34;border-radius:50%;margin-right:9px}.faq{padding-top:80px}.faq-top{display:flex;justify-content:space-between;align-items:end}.faq .eyebrow{margin-bottom:22px}.faq-top p{font-size:19px;color:#777;margin-top:14px}.faq-list{margin-top:65px;border-top:1px solid #d0d0d0}.faq-item{border-bottom:1px solid #d0d0d0}.faq-item button{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;padding:28px 0;border:0;background:none;color:#111;text-align:left;font-size:clamp(19px,2.1vw,29px);letter-spacing:-.05em;font-weight:650}.faq-item button span{background:#111;color:#fff;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-size:18px;flex-shrink:0}.faq-item p{max-width:770px;font-size:17px;line-height:1.65;color:#777;padding-bottom:30px}.faq-item:not(.open) p{display:none}.contact-wrap{padding:0 2.1% 25px}.contact{background:#0e1012;color:#fff;border-radius:27px;padding:95px 5.5% 100px}.contact-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:8%}.contact h2{font-size:clamp(59px,8vw,125px);line-height:1.05;letter-spacing:-.092em}.contact h2 span{color:#82878a}.contact-layout>div>p{margin-top:35px;font-size:20px;color:#aaa;max-width:350px;line-height:1.6}.contact-form{display:flex;flex-direction:column;padding-top:7px}.contact-form label{font-size:13px;margin-bottom:9px;font-weight:700}.contact-form input,.contact-form select,.contact-form textarea{background:transparent;border:0;border-bottom:1px solid #555;border-radius:0;color:#fff;outline:0;padding:10px 0 17px;margin-bottom:25px;width:100%;resize:vertical;font-size:15px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-bottom-color:#fff}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#777}.contact-form option{color:#111}.submit-btn{background:#fff;border:0;border-radius:50px;display:flex;justify-content:space-between;align-items:center;padding:18px 22px;font-size:14px;font-weight:800;color:#111;margin-top:10px}.form-note{color:#858585;font-size:11px;line-height:1.5;margin-top:14px}.footer{padding:42px 5.2% 35px}.footer-top,.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-brand{font-size:clamp(30px,5vw,60px);font-weight:800;letter-spacing:-.075em}.footer-top>a:last-child{font-size:11px;font-weight:800}.footer-bottom{margin-top:80px;border-top:1px solid #d0d0d0;padding-top:25px;color:#777;font-size:10px;font-weight:800;letter-spacing:.08em}@media(max-width:900px){.desktop-nav,.header-cta{display:none}.menu-btn{display:flex}.mobile-menu:not([hidden]){display:flex;position:absolute;top:86px;left:0;right:0;z-index:20;background:#f4f4f2;padding:23px 5% 35px;flex-direction:column;gap:0;box-shadow:0 15px 20px #0001}.mobile-menu a{font-size:27px;letter-spacing:-.05em;font-weight:700;border-bottom:1px solid #ddd;padding:14px 0}.header{height:86px}.hero-photo{min-height:650px;height:74vh}.intro-grid,.about-layout{grid-template-columns:1fr;gap:45px}.intro-aside{max-width:600px}.approach-lead{margin:55px 0}.benefits{gap:8px}.benefit{padding:19px}.contact-layout{gap:5%}}@media(max-width:640px){.header{height:82px;padding:0 5%}.brand{font-size:22px}.brand-icon{height:39px;width:39px}.hero{padding:0 1% 17px}.hero-photo{min-height:660px;height:calc(100svh - 130px);max-height:830px;border-radius:20px;background-position:51% 46%}.hero-top{top:26px;left:24px;right:24px;font-size:8px}.hero-top-right{font-size:8px}.hero-content{inset:0 24px 19%}.hero-side{font-size:11px;line-height:1.8;margin-bottom:20px}.hero-bottom{display:block}.hero h1{font-size:clamp(75px,17vw,118px);letter-spacing:-.11em}.hero-bottom p{margin-top:23px;font-size:16px}.hero-foot{left:24px;right:24px;bottom:23px;font-size:8px}.hero-foot>span{max-width:140px;line-height:1.5}.section-pad{padding:83px 5%}.eyebrow{font-size:13px;margin-bottom:35px}.intro h2,.approach h2,.about h2{font-size:clamp(46px,12vw,73px)}.intro-aside{padding-top:0}.intro-aside p{font-size:21px}.intro-aside .muted-text{font-size:15px}.section-heading h2,.faq h2{font-size:clamp(72px,16vw,100px)}.section-intro{font-size:16px;margin:23px 0 40px}.project-bar{padding:19px 17px;font-size:12px;border-radius:14px}.project-bar>span:last-child{font-size:9px}.project-art{height:350px;border-radius:16px}.interface-card{width:80%;padding:18px;transform:rotate(-4deg)}.mock-title{font-size:36px;margin:24px 0}.bar-chart{height:57px}.mock-kicker,.mock-footer{font-size:7px}.browser{width:84%;height:70%;border-width:5px}.browser-content strong{font-size:31px}.art-caption{font-size:8px}.approach-lead{grid-template-columns:1fr;gap:25px}.approach-lead p{font-size:24px}.benefits{grid-template-columns:1fr;gap:10px}.benefit{min-height:270px;padding:25px}.benefit-icon{font-size:40px}.benefit h3{margin:18px 0 8px}.services-wrap,.contact-wrap{padding:0 1%}.services,.contact{padding:77px 6% 55px;border-radius:21px}.services h2{font-size:clamp(70px,17vw,112px)}.services-heading>span{font-size:18px}.accordion{margin-top:45px}.service{padding:28px 0}.service-toggle{grid-template-columns:1fr 44px;gap:14px}.service-num{grid-column:1;grid-row:1;font-size:13px}.service-name{grid-column:1;grid-row:2;font-size:29px}.toggle-mark{grid-column:2;grid-row:1 / span 2;width:40px;height:40px}.service-panel{margin:21px 0 8px}.service-panel p{font-size:15px}.chips span{padding:10px 12px;font-size:12px}.services-end{font-size:10px;align-items:start;flex-direction:column;gap:17px}.about-copy p:first-of-type{font-size:23px}.faq-top p{font-size:16px}.faq-list{margin-top:45px}.faq-item button{font-size:20px}.faq-item p{font-size:15px}.contact-layout{grid-template-columns:1fr;gap:47px}.contact h2{font-size:clamp(62px,14vw,95px)}.contact-layout>div>p{font-size:17px;margin-top:25px}.footer{padding:35px 5% 28px}.footer-bottom{margin-top:60px;align-items:start;font-size:9px}.footer-bottom span:last-child{text-align:right}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* AI toolkit — human-led technology section */
.ai-stack{padding-top:120px;padding-bottom:120px}
.ai-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:8%;align-items:end;margin-bottom:52px}
.ai-heading h2{font-size:clamp(56px,8vw,125px);line-height:1.03;letter-spacing:-.09em;font-weight:800}
.ai-heading-side{max-width:450px;padding-bottom:12px}
.ai-index{display:block;font-size:10px;letter-spacing:.1em;font-weight:800;margin-bottom:23px;color:#777}
.ai-heading-side p{font-size:clamp(17px,1.6vw,22px);line-height:1.55;letter-spacing:-.035em;color:#666}
.ai-panel{background:#e8e9e8;border:1px solid #dedfdd;border-radius:26px;padding:34px}
.ai-panel-top{display:flex;justify-content:space-between;gap:20px;font-size:10px;font-weight:800;letter-spacing:.14em;color:#707274;padding-bottom:28px;border-bottom:1px solid #cbd0d0}
.ai-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.ai-category{padding:31px 0 35px;border-bottom:1px solid #cbd0d0}
.ai-category-head{min-height:113px}
.ai-category-index{font-size:11px;font-weight:800;color:#8b8d8d}
.ai-category h3{font-size:clamp(22px,2.2vw,31px);letter-spacing:-.055em;margin:10px 0 6px;font-weight:750}
.ai-category-head p{color:#757778;font-size:13px;line-height:1.5}
.ai-apps{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px}
.ai-app{display:inline-flex;align-items:center;gap:9px;padding:7px 11px 7px 7px;background:#fff;border:1px solid #dedede;border-radius:12px;color:#222;font-size:12px;font-weight:700;white-space:nowrap}
.ai-app-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:transparent;overflow:hidden;flex-shrink:0}
.ai-panel-footer{display:flex;justify-content:space-between;align-items:end;gap:20px;padding-top:36px}
.ai-panel-footer strong{font-size:clamp(25px,3vw,40px);line-height:1.18;letter-spacing:-.055em}
.ai-panel-footer span{font-size:10px;font-weight:800;color:#777;letter-spacing:.1em;text-align:right}
@media(max-width:900px){.ai-heading{grid-template-columns:1fr;gap:25px}.ai-heading-side{max-width:650px}.ai-category-grid{gap:0 22px}}
@media(max-width:640px){.ai-stack{padding-top:85px;padding-bottom:85px}.ai-heading{margin-bottom:33px}.ai-heading h2{font-size:clamp(51px,13vw,80px)}.ai-panel{padding:22px 18px;border-radius:20px}.ai-panel-top{font-size:8px}.ai-category-grid{grid-template-columns:1fr}.ai-category{padding:25px 0}.ai-category-head{min-height:0}.ai-app{font-size:11px;padding:6px 9px 6px 6px;gap:7px}.ai-app-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:transparent;overflow:hidden;flex-shrink:0}.ai-panel-footer{align-items:start;flex-direction:column}.ai-panel-footer span{text-align:left}}

.ai-app-icon img{width:100%;height:100%;display:block;object-fit:contain;border-radius:8px}

/* Supplied official artwork: show full marks, no cropping */
.ai-app-icon{background:#fff;overflow:hidden;border-radius:8px}
.ai-app-icon img{object-fit:contain;border-radius:6px}

.project-art picture{display:block;width:100%;height:100%}
.direct-email{display:inline-block;color:#fff;font-size:16px;font-weight:700;border-bottom:1px solid #777;padding-bottom:8px;margin-top:25px}
.honeypot{position:absolute!important;left:-10000px!important;opacity:0!important;pointer-events:none!important}
@media(max-width:640px){.art-media,.art-web{height:auto;aspect-ratio:900/1120}.project-art picture{aspect-ratio:900/1120}.project-image{width:100%;height:100%;object-fit:contain}.hero-photo{background-image:linear-gradient(90deg,rgba(4,9,15,.72),rgba(7,13,22,.13) 85%),linear-gradient(0deg,rgba(3,7,13,.88),transparent 54%),url('assets/toronto-mobile.webp');background-position:center center;background-size:cover}}

/* Royal Maple — motion system */
.header{transition:box-shadow .3s ease,background-color .3s ease}
.header.is-scrolled{box-shadow:0 10px 34px rgba(12,16,20,.07);background:rgba(244,244,242,.96)}
.hero-photo{isolation:isolate;animation:hero-appear 1.05s cubic-bezier(.18,.75,.2,1) both;will-change:auto}
.hero-photo:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 35%);z-index:0}
.hero-top,.hero-content,.hero-foot{z-index:1}
.hero h1{animation:hero-type 1s .16s cubic-bezier(.16,1,.3,1) both}
.hero-bottom p,.hero-side{animation:hero-type .9s .38s cubic-bezier(.16,1,.3,1) both}
@keyframes hero-appear{from{opacity:.65;transform:scale(1.015)}to{opacity:1;transform:scale(1)}}
@keyframes hero-type{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){
 .motion-ready .reveal{opacity:0;transform:translateY(27px);transition:opacity .78s ease,transform .78s cubic-bezier(.16,1,.3,1)}
 .motion-ready .reveal.is-visible{opacity:1;transform:translateY(0)}
 .motion-ready .reveal:nth-child(2){transition-delay:.08s}
 .motion-ready .reveal:nth-child(3){transition-delay:.13s}
}
.project-art{transition:box-shadow .4s ease,transform .5s cubic-bezier(.2,.7,.2,1)}
.project-image{transition:transform .8s cubic-bezier(.16,1,.3,1);transform-origin:center center}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .project:hover .project-art{box-shadow:0 26px 55px rgba(0,0,0,.13);transform:translateY(-3px)}
 .project:hover .project-image{transform:scale(1.025)}
 .ai-app{transition:transform .23s ease,box-shadow .23s ease,border-color .23s ease}
 .ai-app:hover{transform:translateY(-4px);box-shadow:0 10px 22px rgba(0,0,0,.09);border-color:#bfc3c4}
 .benefit{transition:transform .28s ease,box-shadow .28s ease}
 .benefit:hover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(0,0,0,.06)}
 .header-cta,.submit-btn,.text-link,.services-end a,.direct-email{transition:transform .24s ease,opacity .24s ease}
 .header-cta:hover,.submit-btn:hover{transform:translateY(-2px)}
 .text-link:hover,.services-end a:hover,.direct-email:hover{opacity:.67}
}
.service-toggle .toggle-mark,.faq-item button span{transition:transform .3s ease,background-color .3s ease}
.service.open .toggle-mark,.faq-item.open button span{transform:rotate(180deg)}
.service-panel{animation:panel-enter .35s ease both}
@keyframes panel-enter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.footer-email{display:inline-block;font-size:clamp(18px,2.5vw,30px);font-weight:700;letter-spacing:-.04em;margin-top:15px;border-bottom:1px solid #9a9c9d;padding-bottom:5px}
@media(max-width:640px){
 .hero-photo{background-position:50% 40%}
 .project-art{border-radius:17px}
 .project-image{object-fit:cover}
 .ai-app{min-height:42px}
 .footer-email{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){.hero-photo,.hero h1,.hero-bottom p,.hero-side,.service-panel{animation:none!important}.project-image,.project-art,.ai-app,.benefit,.service-toggle .toggle-mark,.faq-item button span{transition:none!important}}

/* Mobile-first refinements — final overrides, October 2026 */
html,body{max-width:100%;overflow-x:clip}
img,svg,picture{max-width:100%}
@media(max-width:767px){
 .header{height:74px;padding-inline:20px;gap:12px}
 .brand{font-size:20px;letter-spacing:-1.15px;gap:8px;min-width:0}
 .brand-icon{width:36px;height:36px;flex-shrink:0}
 .menu-btn{width:44px;min-width:44px;align-items:center;gap:6px}
 .menu-btn span{width:28px}
 .mobile-menu:not([hidden]){top:74px;padding:12px 22px 25px;position:absolute;max-height:calc(100dvh - 74px);overflow-y:auto}
 .hero{padding:0 10px 10px}
 .hero-photo{height:clamp(550px,calc(100svh - 100px),760px);min-height:0;max-height:none;border-radius:18px;background-position:center center;background-size:cover}
 .hero-top{left:20px;right:20px;top:23px;font-size:8px;gap:7px;letter-spacing:.08em}
 .hero-top-right{font-size:8px;max-width:115px;text-align:right;line-height:1.4}
 .hero-content{inset:auto 20px 105px;display:block}
 .hero-side{font-size:10px;line-height:1.55;max-width:280px;margin-bottom:22px;letter-spacing:.01em}
 .hero-side span{padding:0 3px}
 .hero h1{font-size:clamp(56px,15.6vw,100px);line-height:.95;letter-spacing:-.093em;overflow-wrap:normal}
 .hero-bottom p{font-size:14px;line-height:1.45;margin-top:16px;white-space:normal}
 .hero-foot{left:20px;right:20px;bottom:20px;padding-top:14px;gap:12px;line-height:1.4}
 .hero-foot a{gap:6px;text-align:right}
 .section-pad{padding:70px 21px}
 .intro-grid,.about-layout,.approach-lead,.contact-layout{grid-template-columns:minmax(0,1fr)}
 .intro h2,.approach h2,.about h2{font-size:clamp(39px,10.6vw,67px);line-height:1.07;letter-spacing:-.075em;overflow-wrap:anywhere}
 .intro-aside p{font-size:19px}
 .section-heading h2,.faq h2{font-size:clamp(52px,13vw,86px);letter-spacing:-.085em}
 .section-heading{gap:10px;align-items:end}
 .small-index{font-size:10px}
 .section-intro{font-size:15px;margin:18px 0 32px}
 .projects{gap:22px}
 .project-bar{padding:15px 14px;gap:8px;align-items:center;flex-wrap:wrap}
 .project-bar>span:last-child{font-size:9px}
 .project-art,.art-media,.art-web{height:auto!important;aspect-ratio:900 / 1120!important;overflow:hidden;border-radius:15px;margin-top:7px}
 .project-art picture{display:block;width:100%;height:100%;aspect-ratio:900 / 1120}
 .project-art .project-image{display:block;width:100%;height:100%;max-width:none;object-fit:contain!important;object-position:center;transform:none}
 .approach-lead{margin:40px 0}
 .approach-lead p{font-size:21px}
 .benefit{min-height:245px}
 .services-wrap,.contact-wrap{padding-inline:10px}
 .services,.contact{padding:62px 21px 55px;border-radius:18px}
 .services h2{font-size:clamp(58px,15vw,92px)}
 .service-name{font-size:clamp(22px,6.2vw,31px)}
 .service-panel p{font-size:15px}
 .chips{gap:7px}
 .chips span{font-size:11px}
 .about-copy{min-width:0}
 .faq-item button{line-height:1.3;padding:22px 0}
 .contact h2{font-size:clamp(46px,12vw,77px);overflow-wrap:anywhere}
 .contact-form{min-width:0}
 .contact-form input,.contact-form select,.contact-form textarea{font-size:16px;min-height:44px}
 .ai-stack{padding-top:70px;padding-bottom:70px}
 .ai-heading{gap:20px}
 .ai-heading h2{font-size:clamp(44px,11vw,75px);overflow-wrap:anywhere}
 .ai-panel{padding:18px 14px}
 .ai-panel-top{flex-wrap:wrap;gap:8px}
 .ai-category-grid{grid-template-columns:minmax(0,1fr)}
 .ai-category{min-width:0}
 .ai-apps{gap:7px}
 .ai-app{font-size:11px;white-space:normal;min-width:0;max-width:100%;padding:6px 8px 6px 6px}
 .ai-app-icon{flex-shrink:0;width:30px;height:30px}
 .ai-panel-footer strong{font-size:clamp(22px,6.5vw,32px)}
 .footer{padding:30px 21px}
 .footer-top{align-items:start;flex-wrap:wrap}
 .footer-bottom{gap:14px;flex-wrap:wrap}
 .footer-bottom span:last-child{text-align:left}
 .footer-email{max-width:100%;font-size:clamp(17px,5vw,24px)}
 .motion-ready .reveal{transition-duration:.45s;transform:translateY(12px)}
}
@media(max-width:375px){
 .brand{font-size:18px}
 .hero h1{font-size:clamp(52px,15vw,65px)}
 .hero-top-right{max-width:86px}
 .hero-side{font-size:9px}
 .hero-foot{font-size:7px}
 .section-pad{padding-inline:18px}
 .project-bar{font-size:11px}
 .ai-app{font-size:10px}
}

/* Keep mobile browsing on the vertical page axis, without clipping scroll content. */
html{width:100%;max-width:100%;overflow-x:clip}
body{width:100%;max-width:100%;overflow-x:clip;overscroll-behavior-x:none}
main,header,footer,section{max-width:100%;min-width:0}
@media(max-width:767px){
 .projects,.project,.project-art,.ai-panel,.ai-category-grid,.contact-layout,.intro-grid,.about-layout{min-width:0;max-width:100%}
 .project-art picture,.project-art img{width:100%;max-width:100%}
 .project-art .project-image{object-fit:cover!important;object-position:center}
 .project-bar>span{min-width:0;overflow-wrap:anywhere}
 .ai-panel-footer,.services-end,.footer-top,.footer-bottom{min-width:0;max-width:100%}
 .ai-panel-footer strong{overflow-wrap:anywhere}
}

/* Detailed services process */
.services-heading h2{font-size:clamp(55px,8vw,124px)}
.service-panel{max-width:none;margin-right:0}
.service-panel .service-summary{max-width:720px;font-size:clamp(16px,1.5vw,21px);color:#b8b8b8;line-height:1.65}
.process-caption{margin:36px 0 14px;font-size:10px;letter-spacing:.16em;font-weight:800;color:#848689}
.process-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:1080px}
.process-step{border:1px solid #323538;background:#171819;border-radius:14px;padding:22px;min-width:0}
.step-number{font-size:11px;font-weight:800;color:#8b9195;letter-spacing:.1em}
.process-step h3{font-size:clamp(17px,1.65vw,23px);line-height:1.3;letter-spacing:-.04em;font-weight:700;margin:14px 0 8px}
.process-step p{font-size:14px;line-height:1.65;letter-spacing:0;color:#a5a7a9}
.service-panel .chips{margin-top:12px}
@media(max-width:760px){.service-panel{margin-left:0}.process-grid{grid-template-columns:1fr}.process-step{padding:18px}.process-caption{margin-top:28px}.services-heading h2{font-size:clamp(48px,11vw,78px)}.service-panel .service-summary{font-size:16px}}

/* Consistent vector icons across mobile and desktop. */
.benefit-icon svg{width:46px;height:46px;display:block}
@media(max-width:640px){.benefit-icon svg{width:40px;height:40px}}

/* AI tool cards: compact expandable groups on phones, full collection on desktop. */
.ai-mobile-toggle{display:none}
@media(max-width:640px){
 .ai-category{padding:22px 0}
 .ai-mobile-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:14px;background:none;border:0;color:#202224;font-size:13px;font-weight:800;padding:13px 0 5px;text-align:left}
 .ai-toggle-symbol{border:1px solid #b5b8b8;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-size:17px;flex-shrink:0}
 .ai-category .ai-apps{display:none}
 .ai-category.ai-expanded .ai-apps{display:flex}
}
