/* Blade Flow — champagne metal & cobalt, drawn from the logo */
@font-face{font-family:IRANYekanX;src:url(../fonts/iranyekanx/woff2/IRANYekanX-Regular.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:IRANYekanX;src:url(../fonts/iranyekanx/woff2/IRANYekanX-Medium.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:IRANYekanX;src:url(../fonts/iranyekanx/woff2/IRANYekanX-Bold.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:IRANYekanX;src:url(../fonts/iranyekanx/woff2/IRANYekanX-ExtraBold.woff2) format('woff2');font-weight:800;font-display:swap}
:root{--ink:#0c1a2d;--ink2:#12253f;--ink3:#08121f;--cobalt:#2457a0;--cobalt-d:#173f78;--glow:#5c9be0;--champ:#e6cd9f;--bronze:#9a6b38;--bronze-d:#7a5226;--cream:#f6ede0;--ivory:#fbf6ec;--sand:#efe2cc;--line:#dcc9ac;--text:#14243a;--muted:#5a5650;--soft:#b4c0d3;
--gold-l:linear-gradient(100deg,#6b441d,#a8763a 30%,#7d5223 55%,#9a6a31 80%,#6b441d);
--gold-d:linear-gradient(100deg,#c9a066,#f6e6bf 30%,#d2a762 55%,#f3e2ba 80%,#c9a066);
--metal:linear-gradient(150deg,#e6cd9f,#2457a0 38%,#e6cd9f66 66%,#5c9be0);
--lat:"Segoe UI",Arial,sans-serif;--ease:cubic-bezier(.2,.8,.2,1);--container:1200px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%}
body{margin:0;min-width:320px;background:var(--cream);color:var(--text);font:400 16px/1.9 IRANYekanX,Tahoma,sans-serif;overflow-x:hidden}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}
svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
img{max-width:100%}::selection{background:var(--champ);color:var(--ink)}
:focus-visible{outline:3px solid var(--glow);outline-offset:4px;border-radius:6px}
.container{width:min(calc(100% - 64px),var(--container));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:1000;top:-90px;right:12px;padding:10px 20px;background:var(--ink);color:var(--champ);border-radius:10px;transition:top .2s}.skip-link:focus{top:12px}
/* header */
.site-header{position:sticky;z-index:100;top:0;background:#f6ede0eb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.header-inner{height:84px;display:flex;align-items:center;gap:28px}
.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;border-radius:12px}
.brand-logo{width:52px;height:52px;object-fit:cover;border-radius:14px;border:1px solid #dcc9ac;box-shadow:0 6px 16px -8px #7a5226aa}
.brand-copy{direction:ltr;display:flex;flex-direction:column;line-height:1.2}
.brand-copy strong{font:800 16px var(--lat);letter-spacing:.14em;color:var(--ink)}
.brand-copy small{margin-top:5px;font:600 8px var(--lat);letter-spacing:.2em;color:var(--bronze-d)}
.desktop-nav{display:flex;gap:30px;margin-inline-start:auto}
.desktop-nav a{position:relative;padding:10px 0;font-size:14px;font-weight:500;color:#3d4a5c;transition:color .2s}
.desktop-nav a::after{content:"";position:absolute;bottom:3px;right:0;width:0;height:2px;background:var(--gold-l);transition:width .3s var(--ease)}
.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--ink)}.desktop-nav a:hover::after,.desktop-nav a[aria-current]::after{width:100%}
.header-cta{display:inline-flex;align-items:center;gap:12px;padding:11px 20px;border-radius:999px;background:var(--ink);color:var(--champ);font-size:13px;font-weight:700;box-shadow:inset 0 0 0 1px #e6cd9f66,0 10px 22px -12px #0c1a2d;transition:transform .25s,box-shadow .25s}
.header-cta:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px var(--champ),0 14px 26px -12px #0c1a2d}.header-cta svg{width:16px}
.menu-toggle{display:none;width:46px;height:46px;background:var(--ink);border:0;border-radius:12px;color:var(--champ)}
.menu-toggle span:not(.sr-only){display:block;width:20px;height:2px;background:currentColor;margin:5px auto;transition:transform .25s}
.menu-toggle[aria-expanded=true] span:nth-child(2){transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-3.5px) rotate(-45deg)}
.mobile-menu{display:none}

:root{--brush:repeating-linear-gradient(100deg,#ffffff07 0 1px,transparent 1px 4px);--gold-d:linear-gradient(100deg,#c9a066,#f6e6bf 30%,#d2a762 55%,#f3e2ba 80%,#c9a066)}
body{line-height:2;font-size:15px}
h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}
.skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden;white-space:nowrap}
main{overflow-x:clip}
.button:active,.header-cta:active{transform:translateY(0) scale(.98)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:54px;padding:12px 26px;border-radius:14px;font-size:14px;font-weight:700;border:1.5px solid transparent;transition:transform .25s var(--ease),box-shadow .25s,background .25s}
.button:hover{transform:translateY(-3px)}.button svg{width:18px}
/* ---------- hero: the one bold move — blade-cut stage ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden;color:#fff;padding:72px 0 150px;background:var(--brush),radial-gradient(55% 80% at 82% 10%,#2457a066,transparent 70%),linear-gradient(180deg,var(--ink),var(--ink3))}
.hero-grid,.hero-glow-two,.hero-glow-one,.eyebrow,.hero-proof{display:none}
.hero::after{content:"";position:absolute;z-index:-1;inset:0 auto 0 0;width:50%;background:linear-gradient(160deg,#f6ead7,#e3caab);clip-path:polygon(0 0,100% 0,72% 100%,0 100%)}
.hero-layout{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center}
.hero h1{margin:0 0 18px;font-size:clamp(34px,4vw + 14px,60px);font-weight:800;line-height:1.5;color:#fff}
.gradient-text{display:inline-block;background:var(--gold-d);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-copy>p{max-width:46ch;margin:0;font-size:15px;color:var(--soft)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.button-primary{color:#2a1a08;background:var(--gold-d);box-shadow:0 16px 34px -14px #e6cd9faa,inset 0 1px 0 #fff9}.button-primary:hover{box-shadow:0 22px 40px -14px #e6cd9fcc,inset 0 1px 0 #fff}
.button-ghost{color:var(--champ);border-color:#e6cd9f88;background:transparent}.button-ghost:hover{background:#ffffff14}.button-dot{background:var(--champ)}
.hero-shortcuts{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:22px}
.hero-shortcuts>span{font-size:13px;color:var(--soft);margin-inline-end:4px}
.hero-shortcuts a{display:inline-flex;align-items:center;min-height:44px;padding:4px 16px;border:1px solid #e6cd9f44;border-radius:999px;background:#ffffff0d;font-size:13px;font-weight:500;color:var(--champ);transition:background .2s,border-color .2s}
.hero-shortcuts a:hover{background:#ffffff1c;border-color:var(--champ)}.hero-shortcuts b{display:none}
.hero-brand{position:relative;margin:0;width:100%;max-width:520px;justify-self:center;display:flex;flex-direction:column;align-items:center}
.hero-brand>img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent),linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent),linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent);-webkit-mask-composite:source-in}
.hero-brand figcaption{display:flex;flex-direction:column;text-align:center;margin-top:-6px}.hero-brand figcaption strong{font-size:15px;color:var(--ink)}.hero-brand figcaption span{font-size:12px;color:#5b4630}
/* the single orchestrated moment: hero entrance */
@keyframes enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.hero-copy>*{animation:enter .8s var(--ease) both}.hero-copy>:nth-child(2){animation-delay:.08s}.hero-copy>:nth-child(3){animation-delay:.16s}.hero-copy>:nth-child(4){animation-delay:.24s}
.hero-brand{animation:enter 1s var(--ease) .15s both}
/* blade-cut dividers (static) */
.slash{position:relative;height:64px;margin-block:-1px;background:var(--from);overflow:hidden}
.slash::before{content:"";position:absolute;inset:0;background:var(--to);clip-path:polygon(0 100%,100% 0,100% 100%)}
.slash::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bronze),var(--champ) 50%,var(--glow));clip-path:polygon(0 calc(100% - 3px),100% 0,100% 3px,0 100%)}
.to-ink{--from:var(--cream);--to:var(--ink)}.to-cream{--from:var(--ink);--to:var(--cream)}
/* ribbon */
.tech-strip{position:relative;z-index:5;margin:-48px -4% 0;background:var(--gold-d);color:var(--ink);transform:rotate(-1.4deg);box-shadow:0 22px 40px -20px #000b,inset 0 1px #fffa}
.tech-inner{width:100%;max-width:none;margin:0;padding-block:13px}
.marquee{overflow:hidden;direction:ltr}.marquee-track{display:flex;width:max-content;animation:drift 70s linear infinite}
.marquee:hover .marquee-track,.marquee:focus-within .marquee-track{animation-play-state:paused}
@keyframes drift{to{transform:translateX(-50%)}}
.tech-group{display:flex;flex-shrink:0}
.tech-group span{position:relative;padding-inline:22px 44px;font:700 14px var(--lat);white-space:nowrap}
.tech-group span::after{content:"";position:absolute;right:16px;top:50%;width:6px;height:6px;background:var(--ink);transform:translateY(-50%) rotate(45deg)}
/* ---------- sections: quiet ---------- */
.section{padding:88px 0}
.section-index{display:none}
.section-head{display:grid;grid-template-columns:1.6fr 1fr;gap:48px;align-items:end;margin-bottom:40px}
.section-head h2{margin:0;font-size:clamp(26px,3vw + 10px,40px);font-weight:800;line-height:1.6;color:var(--ink)}
.section-head h2 em{font-style:normal}
.section-head>p{margin:0;max-width:46ch;font-size:14px;color:var(--muted)}
.services{padding-top:120px}
.services-grid{border-top:1px solid var(--line)}
.service-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,.8fr) 40px;align-items:center;gap:6px 28px;padding:22px 20px;border-bottom:1px solid var(--line);background:linear-gradient(var(--ink),var(--ink)) no-repeat 0 100%/100% 0;transition:background-size .45s var(--ease)}
.service-card:hover,.service-card:focus-within{background-size:100% 100%}
.service-card h3{grid-column:1;grid-row:1;margin:0;font-size:clamp(17px,1.2vw + 7px,21px);font-weight:800;color:var(--ink);transition:color .3s}
.service-card p{grid-column:2;grid-row:1;margin:0;font-size:13px;line-height:2;color:var(--muted);transition:color .3s}
.tags{grid-column:3;grid-row:1;display:flex;flex-wrap:wrap;gap:6px;direction:ltr;justify-content:flex-start}
.tags span{font:600 11px var(--lat);color:#5b3f1d;background:var(--sand);border:1px solid #e3cfae;border-radius:6px;padding:4px 9px;transition:all .3s}
.service-icon{grid-column:4;grid-row:1;width:40px;height:40px;padding:10px;border:1px solid var(--bronze);border-radius:50%;color:var(--bronze-d);transition:all .3s}
.service-card:hover h3{color:#fff}.service-card:hover p{color:var(--soft)}.service-card:hover .tags span{background:#ffffff12;color:var(--champ);border-color:#e6cd9f55}.service-card:hover .service-icon{background:var(--champ);color:var(--ink);border-color:var(--champ)}
/* projects: strip */
.projects{background:var(--brush),radial-gradient(50% 55% at 85% 0,#2457a050,transparent 70%),var(--ink);color:#e9eef6}
.projects .section-head h2{color:#fff}.projects .section-head>p{color:var(--soft)}
.project-list{--edge:max(32px,calc((100vw - 1200px)/2));display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(var(--edge)*-1);padding:8px var(--edge) 30px;scroll-padding-inline:var(--edge);scrollbar-width:thin;scrollbar-color:var(--bronze) transparent}
.project-row{display:contents}
.project-card{position:relative;overflow:hidden;flex:0 0 min(88vw,820px);min-height:380px;scroll-snap-align:start;background:#0f2038;border:1px solid #e6cd9f22;border-radius:22px}
.project-small{flex-basis:min(82vw,560px)}
.project-featured{display:grid;grid-template-columns:.85fr 1.15fr}
.project-info{display:flex;flex-direction:column;padding:34px}
.project-kicker{font-size:13px;font-weight:700;color:var(--champ)}
.project-info h3{direction:ltr;text-align:right;margin:30px 0 12px;font:800 30px/1.2 var(--lat);color:#fff}.project-small .project-info h3{font-size:24px;margin:22px 0 10px}
.project-info p{margin:0;font-size:13px;line-height:2.1;color:var(--soft)}
.project-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:24px;direction:ltr;justify-content:flex-end}
.project-meta span{font:600 11px var(--lat);color:#cfe0f6;border:1px solid #5c9be055;border-radius:6px;padding:4px 9px}
.project-small{display:grid;grid-template-columns:1fr 1fr}.project-small .project-info{padding:28px 24px}
.project-canvas{position:relative;overflow:hidden;min-width:0}
.commerce-canvas{display:grid;place-items:center;padding:40px 0 40px 40px;background:radial-gradient(#e6cd9f33 1px,transparent 1px) 0 0/20px 20px,linear-gradient(140deg,#1b3a68,#0b1a30)}
.browser-frame{direction:ltr;width:100%;height:300px;border-radius:14px 0 0 14px;background:var(--ivory);box-shadow:-18px 24px 40px #00000066;transform:rotate(-3deg) translateX(6px);overflow:hidden}
.browser-bar{height:34px;padding:0 12px;display:flex;align-items:center;gap:5px;background:#efe3cf;border-bottom:1px solid #e0cfb2}
.browser-bar>span{width:7px;height:7px;border-radius:50%;background:var(--bronze)}.browser-bar>span:nth-child(2){background:var(--champ)}.browser-bar>span:nth-child(3){background:var(--glow)}
.browser-bar small{margin-left:auto;font:700 8px var(--lat);letter-spacing:.1em;color:var(--bronze-d)}
.dashboard-layout{display:grid;grid-template-columns:48px 1fr;height:calc(100% - 34px)}
.dash-side{display:flex;flex-direction:column;align-items:center;gap:15px;padding-top:18px;background:var(--ink)}
.dash-side b{font:800 13px var(--lat);color:var(--champ)}.dash-side i{width:17px;height:17px;border:1px solid #e6cd9f66;border-radius:5px}.dash-side i:nth-child(2){background:var(--cobalt)}
.dash-main{padding:20px;min-width:0}.dash-title{display:flex;align-items:center;justify-content:space-between;gap:8px}
.dash-title strong{font:800 13px var(--lat);color:var(--ink)}
.mock-button{display:inline-block;padding:7px 10px;font:700 7px var(--lat);letter-spacing:.08em;background:var(--cobalt);color:#fff;border-radius:5px}
.dash-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}
.dash-stats>div{padding:10px;background:#fff;border:1px solid #e6d6bb;border-radius:9px}
.dash-stats small{display:block;font:600 8px var(--lat);color:var(--muted)}.dash-stats b{display:block;margin-top:6px;font:800 19px var(--lat);color:var(--cobalt-d)}
.dash-chart{position:relative;height:112px;margin-top:12px;background:repeating-linear-gradient(0deg,transparent,transparent 27px,#e9dcc4 28px);border:1px solid #e6d6bb;border-radius:9px;overflow:hidden}
.dash-chart svg{position:absolute;inset:10px 0 0;width:100%;height:90px}.dash-chart path{stroke:var(--cobalt);stroke-width:2.6;vector-effect:non-scaling-stroke}
.project-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.project-small{display:grid;grid-template-columns:1fr 1fr;min-height:300px}.project-small .project-info{padding:30px 26px}.project-small .project-info h3{font-size:28px;margin:26px 0 12px}
.podo-canvas{display:grid;place-items:center;background:linear-gradient(145deg,#21487e,#10243f)}
.mini-site{position:relative;width:85%;height:230px;direction:ltr;padding:20px;border-radius:10px;background:var(--ivory);box-shadow:0 20px 34px #00000066;transform:rotate(-5deg);overflow:hidden}
.mini-site>span:first-child{font:800 8px var(--lat);letter-spacing:.14em;color:var(--cobalt-d)}
.mini-site>div:not(.product-shape){display:flex;gap:3px;position:absolute;right:15px;top:25px}.mini-site>div i{width:9px;height:2px;background:var(--bronze)}
.mini-site strong{position:relative;z-index:2;display:block;margin:30px 0 18px;font:900 26px/1 var(--lat);letter-spacing:-1px;color:var(--ink)}
.mini-site .mock-button{position:relative;z-index:2}
.product-shape{position:absolute;width:68px;height:106px;right:-8px;bottom:4px;border:3px solid #fff8;border-radius:34px;background:linear-gradient(110deg,var(--cobalt-d),var(--champ) 50%,var(--cobalt));transform:rotate(25deg);box-shadow:4px 10px 14px #0c1a2d55}
.flora-canvas{display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#f1dfba,#cfa96b);color:var(--ink)}
.flora-canvas::before,.flora-canvas::after{content:"";position:absolute;width:170px;height:220px;border:1px solid #7a522655;border-radius:50%;transform:rotate(35deg)}.flora-canvas::after{transform:rotate(-35deg)}
.flower-mark{z-index:1;width:54px;height:54px;display:grid;place-items:center;border-radius:50% 50% 50% 4px;background:var(--ink);font:italic 700 30px Georgia;color:var(--champ);transform:rotate(-12deg)}
.flora-canvas small{z-index:1;margin-top:16px;font:700 9px Georgia;letter-spacing:.3em;color:#4d3216}
.flora-canvas strong{z-index:1;margin-top:14px;text-align:center;font-size:17px;font-weight:700;line-height:1.9}
.flora-line{width:26px;height:2px;margin-top:16px;background:var(--bronze-d)}

/* team visuals */
.member-visual{position:relative;height:170px;display:grid;place-items:center;overflow:hidden}
.member-visual::before,.member-visual::after{content:"";position:absolute;width:110px;height:110px;border:1px solid currentColor;border-radius:34px;transform:rotate(30deg);opacity:.25}.member-visual::after{width:140px;height:140px;transform:rotate(60deg)}
.member-visual>span{position:relative;font:800 40px var(--lat);direction:ltr}.member-visual i{position:absolute;bottom:12px;left:16px;font:600 10px var(--lat);font-style:normal;opacity:.8}
.member-violet{color:var(--champ);background:linear-gradient(145deg,var(--cobalt-d),var(--ink))}
.member-green{color:var(--ink);background:linear-gradient(145deg,#f3e2ba,#c9a066)}
.member-blue{color:var(--cobalt-d);background:linear-gradient(145deg,#e4eefb,#a9c8ee)}
.member-orange{color:#fff3dc;background:linear-gradient(145deg,#b98446,#6b441d)}

/* overrides after mock slice */
.project-row{display:contents}.project-small{display:grid;grid-template-columns:1fr 1fr;min-height:380px}.project-small .project-info h3{font-size:24px;margin:22px 0 10px}.project-info{padding:34px}.project-small .project-info{padding:28px 24px}
/* team */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);padding-bottom:30px}
.team-card{position:relative;overflow:hidden;margin-inline:-8px;background:linear-gradient(180deg,#fffaf0,#f0e1c8);clip-path:polygon(5% 0,100% 0,95% 100%,0 100%);transition:transform .35s var(--ease)}
.team-card:nth-child(even){margin-top:24px}.team-card:hover{transform:translateY(-6px)}
.member-info{padding:18px 9% 20px}
.member-info>span{display:block;font-size:12px;font-weight:700;color:var(--bronze-d)}
.member-info h3{margin:6px 0 4px;font-size:15px;font-weight:800;color:var(--ink)}
.member-info p{min-height:34px;margin:0;direction:ltr;text-align:right;font:400 11px/1.6 var(--lat);color:var(--muted)}
.member-info .tags{margin-top:12px;grid-column:auto;justify-content:flex-end}.member-info .tags span{font-size:10px;padding:3px 7px}
.member-visual{height:120px}.member-visual>span{font-size:30px}
/* contact */
.contact{position:relative;isolation:isolate;overflow:hidden;padding:84px 0 80px;background:var(--brush),radial-gradient(55% 80% at 50% 0,#2457a0aa,transparent 70%),linear-gradient(180deg,var(--cobalt-d),var(--ink) 75%);color:#fff}
.contact-glow{display:none}
.contact h2{margin:0;font-size:clamp(30px,4vw + 12px,60px);font-weight:800;line-height:1.5;color:#fff}.contact h2 em{font-style:normal}
.contact-inner>p{max-width:50ch;margin:16px 0 0;font-size:14px;color:#c3d0e4}
.contact-channels{display:block;margin:44px 0 0;border-top:1px solid #e6cd9f33}
.contact-channel{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) auto 36px;grid-template-areas:"i t a r" "i d a r" "i c a r";align-items:center;gap:0 22px;padding:20px 4px;border-bottom:1px solid #e6cd9f33;transition:padding .35s var(--ease),background .35s}
.contact-channel:hover{padding-inline:18px;background:linear-gradient(90deg,#e6cd9f16,transparent)}
.channel-icon{grid-area:i;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--ink);background:var(--gold-d)}
.contact-channel strong{grid-area:t;font-size:clamp(16px,.8vw + 9px,19px);font-weight:800;color:#fff}
.channel-detail{grid-area:d;font-size:12px;color:var(--soft)}.call-caption{grid-area:c;font-size:11px;color:var(--soft)}.call-caption span{display:none}
.channel-address{grid-area:a;font:800 clamp(20px,1.6vw + 12px,30px)/1.2 var(--lat);letter-spacing:.02em;direction:ltr;color:var(--champ)}
.channel-arrow{grid-area:r;display:grid;place-items:center;width:34px;height:34px;border:1px solid #e6cd9f55;border-radius:50%;color:var(--champ);transition:background .3s,color .3s}
.contact-channel:hover .channel-arrow{background:var(--champ);color:var(--ink)}
.site-footer{padding-bottom:0}
/* mobile quick-contact dock */
.dock{display:none}
/* ---------- responsive ---------- */
@media(max-width:1100px){.container{width:calc(100% - 48px)}.service-card{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) 40px}.service-card .tags{display:none}.service-icon{grid-column:3}.project-list{--edge:24px}.project-small{grid-template-columns:1fr}.project-small .project-canvas{min-height:230px;order:-1}.section-head{gap:32px}.team-card{margin-inline:-5px}}
@media(max-width:860px){
.site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--cream)}
.header-inner{height:72px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:block;margin-inline-start:auto}
.mobile-menu{position:fixed;inset:72px 0 0;display:block;visibility:hidden;opacity:0;overflow-y:auto;padding:20px 24px 40px;background:var(--cream);transition:opacity .2s,visibility .2s}.mobile-menu.is-open{visibility:visible;opacity:1}
.mobile-menu nav{display:flex;flex-direction:column;max-width:600px;margin:auto}
.mobile-menu a{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);font-size:19px;font-weight:700;color:var(--ink)}.mobile-menu a span{font:600 11px/3 var(--lat);color:var(--bronze-d)}
.hero{padding:22px 0 120px}.hero::after{width:100%;height:372px;bottom:auto;clip-path:polygon(0 0,100% 0,100% 84%,0 100%)}
.hero-layout{grid-template-columns:1fr;gap:0}.hero-brand{order:-1;max-width:270px}.hero-brand figcaption{display:none}
.hero-copy{padding-top:84px;text-align:center}.hero-copy>p{margin-inline:auto}.hero-actions,.hero-shortcuts{justify-content:center}
.slash{height:28px}.tech-strip{margin-top:-38px}.section{padding:68px 0}.services{padding-top:100px}
.section-head{grid-template-columns:1fr;gap:12px;margin-bottom:30px}
.service-card{grid-template-columns:minmax(0,1fr) 42px;gap:8px 14px;padding:22px 14px}
.service-card h3{grid-column:1;grid-row:1}.service-icon{grid-column:2;grid-row:1}.service-card p{grid-column:1/3;grid-row:2}.service-card .tags{display:flex;grid-column:1/3;grid-row:3;margin-top:4px}
.project-card{flex-basis:88vw}.project-small{flex-basis:84vw}.project-card,.project-featured{min-height:0}.project-featured{grid-template-columns:1fr}.project-featured .project-canvas{order:-1;min-height:290px}
.team-grid{grid-template-columns:repeat(2,1fr);gap:14px}.team-card{clip-path:none;margin:0;border-radius:20px;border:1px solid var(--line)}.team-card:nth-child(even){margin-top:20px}.member-info{padding-inline:18px}
.contact{padding:64px 0 130px}.contact-channel{grid-template-columns:44px minmax(0,1fr) 34px;grid-template-areas:"i t r" "i d r" "i a a" "i c c";gap:2px 14px;padding:22px 2px}.channel-address{margin-top:8px}
.footer-main{flex-wrap:wrap;padding-block:30px}.footer-main>p{order:3;width:100%}.site-footer{padding-bottom:84px}
.dock{position:fixed;z-index:90;inset-inline:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));display:flex;gap:8px;padding:8px;border-radius:18px;background:#0c1a2de8;backdrop-filter:blur(12px);box-shadow:0 18px 40px -12px #000a,inset 0 0 0 1px #e6cd9f44;transition:transform .35s var(--ease),opacity .25s}
.dock a{flex:1;min-height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px;font-size:14px;font-weight:700;color:var(--champ);border:1px solid #e6cd9f55}.dock a:first-child{background:var(--gold-d);color:#2a1a08;border-color:transparent}.dock a:active{transform:scale(.97)}
body.hide-dock .dock,body.menu-open .dock{transform:translateY(140%);opacity:0;pointer-events:none}}
@media(max-width:600px){.container{width:calc(100% - 36px)}.project-list{--edge:18px}.hero-actions{display:grid}.button{width:100%}.team-grid{gap:12px}.member-visual{height:100px}.member-info{padding-inline:13px}.member-info h3{font-size:14px}.member-info p{font-size:10px}}
@media(max-width:380px){.brand-copy small{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.site-header,.slash,.dock{display:none}body{background:#fff}.hero,.projects,.contact,.site-footer,.tech-strip{background:#fff!important;color:#000}.hero h1,.contact h2{color:#000}}

/* footer */
.site-footer{background:var(--ink3);color:var(--soft)}
.footer-main{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:130px;border-bottom:1px solid #e6cd9f22}
.site-footer .brand-copy strong{color:#fff}.site-footer .brand-copy small{color:var(--champ)}
.footer-main>p{margin:0;font-size:13px}
.back-top{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:13px;color:var(--champ)}.back-top svg{width:16px}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;min-height:68px;align-items:center;direction:ltr;font:600 10px var(--lat);letter-spacing:.08em;color:#8795ab}
.button-dot{width:7px;height:7px;border-radius:50%;background:var(--champ)}
.member-visual i{display:none}
@media(max-width:600px){.hero-actions{grid-template-columns:1fr}}
/* short landscape phones: keep the split stage so the headline is visible */
@media(max-width:900px) and (max-height:520px) and (orientation:landscape){
.hero{padding:26px 0 90px}.hero::after{inset:0 auto 0 0;width:46%;height:auto;clip-path:polygon(0 0,100% 0,72% 100%,0 100%)}
.hero-layout{grid-template-columns:1fr 1fr;gap:20px;align-items:center}.hero-brand{order:0;max-width:240px}
.hero-copy{padding-top:0;text-align:start}.hero-copy>p{margin-inline:0;font-size:13px;line-height:1.9}.hero h1{font-size:32px;margin-bottom:10px}
.hero-actions{display:flex;justify-content:flex-start;margin-top:16px}.button{width:auto;min-height:46px;padding-inline:20px}.hero-shortcuts{display:none}}
