@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#050406;--ink-2:#0d0a10;--paper:#f4eef6;--mute:#aba1b4;--faint:#7a7083;--line:#2b2331;--ink-3:#17121b;--violet:#c87bee;--coral:#fd9c87;--grad:linear-gradient(100deg,var(--violet),var(--coral));--display:"Geist Variable","Helvetica Neue","Segoe UI",system-ui,sans-serif;--body:"Geist Variable","Helvetica Neue","Segoe UI",system-ui,sans-serif;--fs-display:clamp(3.25rem,1.9rem + 6.8vw,10rem);--fs-h1:clamp(2.5rem,1.6rem + 4.2vw,6rem);--fs-h2:clamp(2.125rem,1.45rem + 3vw,4.5rem);--fs-h3:clamp(1.375rem,1.15rem + 1vw,2.125rem);--fs-lead:clamp(1.125rem,1.02rem + .42vw,1.375rem);--fs-body:1.0625rem;--fs-small:.9375rem;--fs-caption:.8125rem;--lh-tight:.92;--lh-body:1.6;--track-display:-.035em;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--s10:128px;--gutter:clamp(20px,5vw,80px);--max:1440px;--section:clamp(88px,12vh,160px);--radius-pill:999px;--radius:14px;--ease-out:cubic-bezier(.16,1,.3,1);--ease-io:cubic-bezier(.65,0,.35,1);--d-fast:.18s;--d-med:.32s;--d-slow:.64s;--header-h:76px;--view:view();color-scheme:dark}@media (width<=900px){:root{--section:clamp(56px,8svh,80px)}}@media (width>=821px){:root{--header-h:104px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--header-h)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--ink);color:var(--paper);font:400 var(--fs-body)/var(--lh-body) var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow-x:clip}img,svg{max-width:100%;display:block}a{color:inherit}p{margin:0}h1,h2,h3{font-family:var(--display);letter-spacing:var(--track-display);text-wrap:balance;margin:0;font-weight:600}:focus-visible{outline:2px solid var(--coral);outline-offset:4px;border-radius:4px}::selection{background:var(--violet);color:var(--ink)}[hidden]{display:none!important}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{left:var(--gutter);z-index:50;background:var(--paper);color:var(--ink);border-radius:8px;padding:12px 16px;font-weight:500;text-decoration:none;position:absolute;top:-80px}.skip:focus{top:calc(12px + env(safe-area-inset-top,0px))}.wrap{width:100%;max-width:calc(var(--max) + 2*var(--gutter));padding-inline:max(var(--gutter),env(safe-area-inset-left,0px)) max(var(--gutter),env(safe-area-inset-right,0px));margin-inline:auto}.eyebrow{font:500 var(--fs-small)/1.4 var(--body);color:var(--mute);align-items:center;gap:10px;display:flex}.em{display:block}.lead{font-size:var(--fs-lead);color:var(--paper);max-width:40ch;line-height:1.55}.muted{color:var(--mute)}.caption{font:400 var(--fs-caption)/1.6 var(--body);color:var(--mute)}.icon{stroke:currentColor;fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.15em;height:1.15em}.btn{--h:52px;min-height:var(--h);border-radius:var(--radius-pill);font:500 var(--fs-small)/1 var(--body);letter-spacing:.01em;white-space:nowrap;cursor:pointer;transition:background-color var(--d-med) var(--ease-out),color var(--d-med) var(--ease-out),transform var(--d-fast) var(--ease-out),box-shadow var(--d-med) var(--ease-out);border:0;justify-content:center;align-items:center;gap:12px;padding:0 26px;text-decoration:none;display:inline-flex}.btn .icon{transition:transform var(--d-med) var(--ease-out)}.btn:active{transform:scale(.97)}.btn-primary{background:var(--paper);color:var(--ink)}.btn-primary:hover{background:var(--coral)}.btn-outline{color:var(--paper);background:var(--ink-3)}.btn-outline:hover{background:#241d29}.btn-sm{--h:44px;padding:0 18px}.btn:hover .icon-arrow-up-right{transform:translate(2px,-2px)}.btn:hover .icon-arrow-right{transform:translate(3px)}.btn:hover .icon-arrow-down{transform:translateY(3px)}.link{min-height:44px;font:500 var(--fs-small)/1.3 var(--body);color:var(--paper);align-items:center;gap:10px;text-decoration:none;display:inline-flex;position:relative}.link:after{content:"";transform-origin:0;height:1px;transition:transform var(--d-slow) var(--ease-out);background:currentColor;position:absolute;bottom:8px;left:0;right:0;transform:scaleX(0)}.link:hover:after{transform:none}.link .icon{transition:transform var(--d-med) var(--ease-out)}.link:hover .icon-arrow-up-right{transform:translate(2px,-2px)}.link:hover .icon-arrow-right{transform:translate(3px)}.site-header{top:env(safe-area-inset-top,0px);z-index:30;height:var(--header-h);background:var(--ink);align-items:center;display:flex;position:sticky}.site-header .wrap{justify-content:space-between;align-items:center;gap:24px;display:flex}.brand{border-radius:6px;flex:none;display:block}.brand img{width:clamp(96px,8.4vw,120px);height:auto}.primary-nav{align-items:center;gap:clamp(18px,2.6vw,40px);display:flex}.primary-nav a:not(.btn){font-size:var(--fs-small);color:var(--mute);min-height:44px;transition:color var(--d-fast);align-items:center;text-decoration:none;display:inline-flex}.primary-nav a:not(.btn):hover,.primary-nav a[aria-current=page]{color:var(--paper)}.menu-toggle{display:none}@media (width<=820px){.primary-nav{display:none}.menu-toggle{border-radius:var(--radius-pill);min-height:44px;color:var(--paper);border:1px solid var(--line);font:500 var(--fs-small)/1 var(--body);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:10px;padding:0 16px;display:inline-flex}.primary-nav.open{z-index:40;padding:calc(var(--header-h) + 24px) max(var(--gutter),env(safe-area-inset-right,0px)) 48px max(var(--gutter),env(safe-area-inset-left,0px));background:var(--ink);flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;display:flex;position:fixed;inset:0}.primary-nav.open a:not(.btn){font:600 var(--fs-h2)/1.1 var(--display);letter-spacing:-.035em;color:var(--paper)}.primary-nav.open .btn{margin-top:24px}.menu-open .menu-toggle,.menu-open .brand{z-index:41;position:relative}.menu-toggle .icon-close,.menu-open .menu-toggle .icon-menu{display:none}.menu-open .menu-toggle .icon-close{display:block}}.nav-mega{align-items:center;display:inline-flex;position:static}.mega-trigger .icon,.mega{display:none}@media (width>=821px){.primary-nav a.mega-trigger{gap:6px;position:relative}.mega-trigger .icon{width:12px;height:12px;transition:transform var(--d-med) var(--ease-out);display:block}.nav-mega[data-open] .mega-trigger{color:var(--paper)}.nav-mega[data-open] .mega-trigger .icon{transform:rotate(180deg)}.mega-trigger:after{content:"";inset-inline:-20px;height:calc(var(--header-h) / 2);position:absolute;top:100%}.mega{inset-inline:0;z-index:35;visibility:hidden;opacity:0;pointer-events:none;background:var(--ink-2);padding-block:var(--s6) var(--s7);transition:opacity var(--d-med) var(--ease-out),transform var(--d-med) var(--ease-out),visibility 0s linear var(--d-med);border-radius:0 0 28px 28px;display:block;position:absolute;top:100%;transform:translateY(-8px)}.nav-mega[data-open] .mega{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s;transform:none}.site-header .wrap.mega-grid{gap:var(--s5);grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;align-items:stretch;display:grid}.mega-card{gap:var(--s4);padding:var(--s5);background:var(--ink);opacity:0;transition:opacity var(--d-med) var(--ease-out),transform var(--d-med) var(--ease-out),background-color var(--d-fast);border-radius:20px;flex-direction:column;display:flex;transform:translateY(14px)}.nav-mega[data-open] .mega-card{opacity:1;transform:none}.nav-mega[data-open] .mega-card:nth-child(2){transition-delay:70ms,70ms,0s}.nav-mega[data-open] .mega-card:nth-child(3){transition-delay:.14s,.14s,0s}.mega-card:hover,.mega-card:focus-within{background:var(--ink-3)}.primary-nav .mega a.mega-main{min-height:0;color:var(--paper);font-size:inherit;place-items:start;gap:10px;display:grid}.mega-mark{background:var(--ink-3);width:48px;height:48px;color:var(--paper);border-radius:14px;place-items:center;display:grid}.mega-card:hover .mega-mark,.mega-card:focus-within .mega-mark{background:var(--ink-2)}.mega-mark .icon{width:24px;height:24px;overflow:visible}.mega-main strong{font:600 var(--fs-h3)/1.1 var(--display);letter-spacing:-.03em}.mega-line{color:var(--mute);font-size:var(--fs-small);line-height:1.5}.mega ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.primary-nav .mega li a:not(.btn){min-height:40px;color:var(--paper);border-radius:10px;justify-content:space-between;margin-inline:-12px;padding-inline:12px}.primary-nav .mega li a:not(.btn):hover{background:var(--ink-2)}.mega-go{font-size:var(--fs-small);color:var(--mute);align-items:center;gap:8px;margin-top:auto;display:inline-flex}.mega-go .icon{width:14px;height:14px}.mega .icon *{transform-box:fill-box;transform-origin:50%}.motion-on .nav-mega[data-open] [data-division=ifgwebdesign] .icon rect{transform-origin:50% 100%;animation:mega-rise .62s var(--ease-out) both}.motion-on .nav-mega[data-open] [data-division=ifgwebdesign] .icon rect:nth-child(2){animation-delay:80ms}.motion-on .nav-mega[data-open] [data-division=ifgwebdesign] .icon rect:nth-child(3){animation-delay:.16s}.motion-on .nav-mega[data-open] [data-division=ifgdevelopment] .icon path{animation:mega-drift .76s var(--ease-out) both}.motion-on .nav-mega[data-open] [data-division=ifgdevelopment] .icon path:nth-child(2){animation-delay:90ms}.motion-on .nav-mega[data-open] [data-division=ifgdevelopment] .icon path:nth-child(3){animation-delay:.18s}.motion-on .nav-mega[data-open] [data-division=ifggaming] .icon ellipse:first-child{animation:mega-open-l .76s var(--ease-out) both}.motion-on .nav-mega[data-open] [data-division=ifggaming] .icon ellipse:last-child{animation:mega-open-r .76s var(--ease-out) both}@keyframes mega-rise{0%{transform:scaleY(.15)}to{transform:none}}@keyframes mega-drift{0%{opacity:.25;transform:translateY(-5px)}to{opacity:1;transform:none}}@keyframes mega-open-l{0%{transform:translate(4px)}to{transform:none}}@keyframes mega-open-r{0%{transform:translate(-4px)}to{transform:none}}html:not(.motion-on) .mega,html:not(.motion-on) .mega-card{transition:none;transform:none}}.wa-float{z-index:32;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px));-webkit-tap-highlight-color:transparent;width:60px;height:60px;transition:transform var(--d-med) var(--ease-out);border-radius:50%;display:block;position:fixed;box-shadow:0 6px 18px #00000073}.wa-float img{object-fit:contain;width:100%;height:100%;display:block}.wa-float:hover{transform:scale(1.06)}.wa-float:active{transform:scale(.97)}.wa-float:focus-visible{outline:2px solid var(--paper);outline-offset:3px}.motion-on .wa-float{animation:wa-in .52s var(--ease-out) 3s both}@keyframes wa-in{0%{opacity:0;pointer-events:none;transform:translateY(14px)scale(.9)}to{opacity:1;pointer-events:auto;transform:none}}.site-footer{z-index:2;padding-block:var(--s8) calc(var(--s7) + env(safe-area-inset-bottom,0px));background:var(--ink-2);position:relative}.footer-grid{gap:var(--s7) var(--s6);grid-template-columns:1.3fr repeat(4,minmax(0,1fr));display:grid}.footer-grid h2{font:500 var(--fs-small)/1.4 var(--body);letter-spacing:0;color:var(--mute);margin-bottom:var(--s4)}.footer-grid ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.footer-grid a,.footer-grid button{color:var(--paper);font:400 var(--fs-small)/1.4 var(--body);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;min-height:36px;padding:0;text-decoration:none;display:inline-flex}.footer-grid a:hover,.footer-grid button:hover{color:var(--coral)}.footer-brand img{width:120px;height:auto}.footer-brand p{margin-top:var(--s4);color:var(--mute);font-size:var(--fs-small);max-width:30ch}.footer-contact{margin-top:var(--s4);font-style:normal;font-size:var(--fs-small);gap:4px;display:grid}.footer-contact a{color:var(--mute);text-decoration:none}.footer-contact a:hover{color:var(--paper)}.footer-legal{margin-top:var(--s8);color:var(--mute)}.footer-base{margin-top:var(--s2);flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}@media (width<=1100px){.footer-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.footer-brand{grid-column:1/-1}}@media (width<=900px){.footer-grid{grid-template-columns:1fr 1fr}}@media (width<=340px){.footer-grid{grid-template-columns:1fr}}.header-tools{order:3;align-items:center;gap:10px;display:flex}.motion-toggle{border:1px solid var(--line);width:44px;height:44px;color:var(--paper);cursor:pointer;transition:border-color var(--d-fast);background:0 0;border-radius:50%;place-items:center;display:inline-grid}.motion-toggle:hover{border-color:var(--violet)}.motion-toggle .icon{width:16px;height:16px}.motion-toggle .icon-play{display:none}.motion-toggle[aria-pressed=true] .icon-play{display:block}.motion-toggle[aria-pressed=true] .icon-pause{display:none}.lang-switch{border:1px solid var(--line);border-radius:var(--radius-pill);background:linear-gradient(#ffffff0d,#ffffff03);align-items:center;gap:2px;height:44px;padding:3px;display:inline-flex}.lang-switch a{border-radius:var(--radius-pill);min-width:38px;height:36px;font:600 .75rem/1 var(--body);letter-spacing:.1em;color:var(--mute);transition:color var(--d-fast),background var(--d-fast),box-shadow var(--d-fast);place-items:center;padding:0 10px;text-decoration:none;display:inline-grid}.lang-switch a:hover{color:var(--paper);background:var(--ink-3)}.lang-switch a[aria-current=true]{color:var(--ink);background:var(--paper);box-shadow:0 6px 18px -8px #c87beebf}.lang-switch a:focus-visible{outline:2px solid var(--violet);outline-offset:2px}.menu-open .lang-switch{z-index:41;position:relative}.footer-note{margin:var(--s3) 0 0;color:var(--mute);max-width:26ch}@media (width>=821px){.site-header .wrap{grid-template-columns:auto 1fr auto;display:grid}.primary-nav{grid-area:1/2;justify-self:end}.header-tools{order:0;grid-area:1/3;margin-left:18px}}dialog{background:var(--ink-2);color:var(--paper);border:1px solid var(--line);border-radius:var(--radius);width:calc(100% - 32px);max-width:600px;padding:32px}dialog::backdrop{background:#000c}dialog h2{font-size:var(--fs-h3);margin:12px 0 16px}dialog p{color:var(--mute);font-size:var(--fs-small)}.dialog-close{float:right;border:1px solid var(--line);width:44px;height:44px;color:var(--paper);cursor:pointer;background:0 0;border-radius:50%;place-items:center;display:grid}.consent-status{border:1px solid var(--line);border-radius:10px;margin-top:16px;padding:12px 14px}.consent-actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.consent-actions .btn{flex:auto}.page-hero{padding-block:clamp(48px,10vh,120px) var(--s8)}.page-hero .wrap{gap:var(--s7);grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;display:grid}.page-hero h1{font-size:clamp(2rem,.9rem + 3.6vw,4rem);line-height:var(--lh-tight);margin-top:var(--s5)}.page-hero .lead{margin-top:var(--s6)}.page-hero .note{margin-top:var(--s5);max-width:52ch}.breadcrumbs{font:400 var(--fs-small)/1.6 var(--body);color:var(--mute);margin-bottom:var(--s5);flex-wrap:wrap;gap:8px;display:flex}.breadcrumbs a{align-items:center;min-height:24px;text-decoration:none;display:inline-flex}.breadcrumbs a:hover{color:var(--paper)}.page-slot{aspect-ratio:1;width:100%;max-height:440px;position:relative}.page-portrait{aspect-ratio:1;object-fit:cover;border-radius:var(--radius);justify-self:end;width:100%;max-width:440px;height:auto}@media (width<=820px){.page-hero .wrap{grid-template-columns:1fr}.page-slot{aspect-ratio:4/3;order:-1;max-height:300px}.page-portrait{order:-1;justify-self:start;max-width:300px}}.chapters{padding-block:var(--s7) var(--section);gap:clamp(56px,9vh,112px);display:grid}@media (width<=900px){.page-hero{padding-block:clamp(40px,7svh,72px) var(--s6)}.chapters{padding-top:var(--s6);gap:clamp(36px,5svh,56px)}}.chapter{gap:var(--s5) var(--s8);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;display:grid}.chapter h2{letter-spacing:-.035em;font-size:clamp(1.625rem,1.2rem + 1.5vw,2.5rem);line-height:1.04}.chapter>div{font-size:var(--fs-lead);line-height:1.55}.chapter p{color:var(--mute);max-width:56ch}.chapter ul{margin:var(--s5) 0 0;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:10px 24px;padding:0;list-style:none;display:grid}.chapter li{background:var(--ink-2);font-size:var(--fs-body);border-radius:10px;align-items:baseline;gap:12px;padding:12px 16px;line-height:1.45;display:flex}.chapter>div{container-type:inline-size}.chapter ul:not(.detail-list){grid-template-columns:repeat(6,minmax(0,1fr))}.chapter ul:not(.detail-list)>li{grid-column:span 2}@container (width>=760px){.chapter ul:not(.detail-list)>li:only-child{grid-column:1/-1}.chapter ul:not(.detail-list)>li:nth-child(3n+1):nth-last-child(2),.chapter ul:not(.detail-list)>li:nth-child(3n+1):nth-last-child(2)+li,.chapter ul:not(.detail-list)>li:nth-child(3n+1):nth-last-child(4),.chapter ul:not(.detail-list)>li:nth-child(3n+1):nth-last-child(4)~li{grid-column:span 3}}@container (width<=759px){.chapter ul:not(.detail-list){grid-template-columns:repeat(2,minmax(0,1fr))}.chapter ul:not(.detail-list)>li{grid-column:auto}.chapter ul:not(.detail-list)>li:last-child:nth-child(odd){grid-column:1/-1}}@container (width<=499px){.chapter ul:not(.detail-list){grid-template-columns:minmax(0,1fr)}.chapter ul:not(.detail-list)>li:last-child:nth-child(odd){grid-column:auto}}.chapter li>a,.chapter li>span>a{align-items:center;min-height:32px;display:inline-flex}.chapter li:before{content:"";background:var(--coral);border-radius:50%;flex:none;width:6px;height:6px;transform:translateY(-2px)}@media (width<=820px){.chapter{grid-template-columns:1fr}}.chapter[id]{scroll-margin-top:calc(var(--header-h) + 24px)}.tone-shopify{--tone:var(--violet)}.tone-apple{--tone:var(--coral)}.platform-badge{width:max-content;margin-bottom:var(--s4);font-size:var(--fs-small);letter-spacing:0;color:var(--tone);background:color-mix(in srgb,var(--tone) 14%,var(--ink-2));border-radius:999px;align-items:center;gap:8px;padding:6px 14px 6px 12px;font-weight:600;line-height:1.2;display:flex}.platform-badge:before{content:"";background:var(--tone);border-radius:50%;width:8px;height:8px}.chapter[class*=tone-] .detail-list li{background:color-mix(in srgb,var(--tone) 7%,var(--ink-2));transition:background-color var(--d-med) var(--ease-out)}.chapter[class*=tone-] .detail-list li:hover{background:color-mix(in srgb,var(--tone) 14%,var(--ink-2))}.questions{interpolate-size:allow-keywords;gap:8px;display:grid}.questions details{background:var(--ink-2);border-radius:var(--radius);transition:background-color var(--d-med) var(--ease-out);padding-inline:20px}.questions details:hover,.questions details[open]{background:var(--ink-3)}.questions summary{cursor:pointer;min-height:64px;font:500 var(--fs-body)/1.4 var(--body);justify-content:space-between;align-items:center;gap:20px;padding-block:18px;list-style:none;display:flex}.questions summary::-webkit-details-marker{display:none}.questions summary .plus{border:1px solid var(--line);width:36px;height:36px;color:var(--coral);transition:transform var(--d-med) var(--ease-out),border-color var(--d-med);border-radius:50%;flex:none;place-items:center;display:grid}.questions details[open] summary .plus{border-color:var(--coral);transform:rotate(45deg)}.questions details::details-content{block-size:0;transition:block-size var(--d-med) var(--ease-out),content-visibility var(--d-med) allow-discrete;overflow:clip}.questions details[open]::details-content{block-size:auto}@media (prefers-reduced-motion:reduce){.questions details::details-content{transition:none}}.questions details p{color:var(--mute);max-width:62ch;padding-bottom:22px}.back{padding-bottom:var(--section)}.page-hero .actions{margin-top:var(--s6);flex-wrap:wrap;gap:12px;display:flex}@media (width<=820px) and (prefers-reduced-motion:no-preference){.primary-nav.open>*{animation:nav-in .5s var(--ease-out) both}.primary-nav.open>:nth-child(2){animation-delay:50ms}.primary-nav.open>:nth-child(3){animation-delay:.1s}.primary-nav.open>:nth-child(4){animation-delay:.15s}}@keyframes nav-in{0%{opacity:0;transform:translateY(24px)}}@supports (animation-timeline:var(--view)){@media (prefers-reduced-motion:no-preference){.motion-on .chapter>*{animation:linear both chapter-in;animation-timeline:var(--view);animation-range:entry entry 80%}.motion-on .chapter>:nth-child(2){animation-range:entry 6% entry 90%}.motion-on .page-hero .wrap>div:first-child{animation:chapter-in .9s var(--ease-out) both}}}@keyframes chapter-in{0%{transform:translateY(48px)}to{transform:none}}.chapter p+p{margin-top:var(--s4)}.chapter ul.detail-list{grid-template-columns:1fr;gap:8px}.chapter .detail-list li{grid-template-columns:minmax(0,14em) minmax(0,1fr);align-items:baseline;gap:4px 24px;display:grid}.chapter .detail-list li:before{display:none}.chapter li strong{color:var(--paper);font-weight:560}.chapter .detail-list li{font-size:var(--fs-small)}.chapter li a{text-decoration:none}.chapter li a strong{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}.chapter li a:hover strong{text-decoration-color:currentColor}.chapter .detail-list li span{color:var(--mute)}.chapter .detail-list li span a.direct{color:var(--paper);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--paper) 35%,transparent);text-underline-offset:.22em;transition:text-decoration-color var(--d-fast) var(--ease-out,ease)}.chapter .detail-list li span a.direct:hover,.chapter .detail-list li span a.direct:focus-visible{text-decoration-color:var(--coral)}.chapter .detail-list li:has(a.direct) span a.direct{padding-block:.35em;display:inline-block}@media (width<=560px){.chapter .detail-list li{grid-template-columns:1fr}}.reviews{margin-top:var(--s5)}.reviews ul{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.reviews a{background:var(--ink-2);height:100%;color:var(--paper);transition:background-color var(--d-med) var(--ease-out);border-radius:14px;grid-template-rows:auto auto;grid-template-columns:auto auto 1fr;place-items:center start;column-gap:12px;padding:12px 16px;text-decoration:none;display:grid}.reviews a:hover{background:var(--ink-3)}.ref-ico{flex:none;width:1.4em;height:1.4em;display:none}.detail-list .ref-ico{display:block}strong:has(>.ref-ico){align-items:center;gap:.65em;display:inline-flex}.reviews .brand-ico{grid-row:1/3;align-self:center;width:36px;height:36px}.reviews .stars{width:100px;height:20px;color:var(--paper)}.reviews .score{font:600 var(--fs-lead)/1 var(--display);letter-spacing:-.02em}.reviews .meta{font-size:var(--fs-caption);color:var(--mute);grid-column:2/-1;margin-top:6px}.reviews .caption{color:var(--mute);margin-top:10px}.chapter p,.chapter li,.chapter li span,.chapter li strong,.footer-contact a{overflow-wrap:anywhere}@media (width<=420px){.btn,.link{white-space:normal;text-align:center}.btn{padding-block:12px;line-height:1.25}.link{text-align:left}}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}.site-header{view-transition-name:site-header}::view-transition-old(root),::view-transition-new(root){animation-duration:.3s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-group(site-header){animation-duration:.3s}html.lang-leaving body{opacity:0;transition:opacity .16s}}.chapter.gallery{grid-template-columns:1fr}.chapter ul.gallery-grid{margin-top:var(--s5);grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.chapter .gallery-grid li{background:0 0;border-radius:0;padding:0;display:block}.chapter .gallery-grid li:before{display:none}.gallery-grid figure{margin:0}.gallery-grid img{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);background:var(--ink-2);width:100%;height:auto;display:block}.gallery-grid figcaption{font-size:var(--fs-small);color:var(--mute);margin-top:10px;line-height:1.4}@media (width<=820px){.chapter ul.gallery-grid{grid-template-columns:1fr;gap:20px}.wa-float{width:54px;height:54px;bottom:calc(14px + env(safe-area-inset-bottom,0px))}.site-footer{padding-bottom:calc(var(--s3) + 68px + env(safe-area-inset-bottom,0px))}}.case-strip{padding-block:var(--s6) var(--s8)}.case-strip-head{gap:var(--s5) var(--s8);margin-bottom:var(--s6);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:end;display:grid}.case-strip-head h2{letter-spacing:-.035em;font-size:clamp(1.625rem,1.2rem + 1.5vw,2.5rem);line-height:1.04}.case-strip-head p{color:var(--mute);max-width:56ch}.case-strip ul{gap:var(--s4);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.case-strip li a{background:var(--ink-2);height:100%;color:var(--paper);transition:background-color var(--d-med) var(--ease-out);border-radius:20px;text-decoration:none;display:grid;overflow:hidden}.case-strip li a:hover,.case-strip li a:focus-visible{background:var(--ink-3)}.case-strip-shot{aspect-ratio:4/3;background:var(--ink-3);display:block;overflow:hidden}.case-strip-shot img{object-fit:cover;object-position:top;width:100%;height:100%;transition:transform var(--d-slow) var(--ease-out)}.case-strip li a:hover .case-strip-shot img,.case-strip li a:focus-visible .case-strip-shot img{transform:scale(1.04)}.case-strip-text{padding:var(--s4) var(--s5) var(--s5);align-content:start;gap:6px;display:grid}.case-strip-text small{color:var(--coral);font-size:var(--fs-small)}.case-strip-text strong{font:600 var(--fs-lead)/1.2 var(--display);letter-spacing:-.02em}.case-strip-text span{color:var(--mute);font-size:var(--fs-small);line-height:1.5}.case-strip-all{margin-top:var(--s5)}@media (width<=1000px){.case-strip ul{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.case-strip-head{grid-template-columns:1fr}}@media (width<=520px){.case-strip ul{grid-template-columns:1fr}}@media (width<=480px){.site-header .wrap{gap:10px}.header-tools{gap:6px}.brand img{width:88px}.menu-toggle{gap:8px;padding:0 12px}.lang-switch a{min-width:32px;padding:0 8px}}@media (width<=380px){.site-header .wrap{gap:8px}.header-tools{gap:4px}.brand img{width:80px}.menu-toggle{padding:0 10px}}@media (width<=340px){.menu-toggle [data-menu-label]{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.menu-toggle{padding:0 12px}}@keyframes mo-rise{0%{transform:translateY(.5em)}to{transform:none}}@keyframes mo-item{0%{transform:translateY(24px)}to{transform:none}}@keyframes mo-column{0%{transform:translateY(34px)scaleY(.96)}to{transform:none}}@keyframes mo-layer-back{0%{transform:translateY(36px)}to{transform:translateY(-36px)}}@keyframes mo-layer-item{0%{transform:translateY(22px)scale(.975)}to{transform:none}}@keyframes mo-portal{0%{transform:scale(.9,.97)}to{transform:none}}@keyframes mo-portal-item{0%{transform:scaleX(.88)translateY(14px)}to{transform:none}}@keyframes mo-faq{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){.motion-on .page-hero h1 .em{animation:mo-rise .9s var(--ease-out) 90ms both;display:inline-block}.motion-on .page-hero .lead{animation:mo-rise .9s var(--ease-out) .17s both}.motion-on .page-hero .actions{animation:mo-rise .9s var(--ease-out) .24s both}.motion-on details[open]>:not(summary){animation:mo-faq .42s var(--ease-out) both}.btn:active{transform:scale(.98)}}@supports (animation-timeline:var(--view)){@media (prefers-reduced-motion:no-preference){.motion-on .chapter li{animation:linear both mo-item;animation-timeline:var(--view);animation-range:entry entry 70%}.motion-on .chapter li:nth-child(2){animation-range:entry 4% entry 74%}.motion-on .chapter li:nth-child(3){animation-range:entry 8% entry 78%}.motion-on .chapter li:nth-child(4){animation-range:entry 12% entry 82%}.motion-on .chapter li:nth-child(5){animation-range:entry 16% entry 86%}.motion-on .chapter li:nth-child(6){animation-range:entry 20% entry 90%}.motion-on .chapter li:nth-child(7){animation-range:entry 24% entry 94%}.motion-on .chapter li:nth-child(n+8){animation-range:entry 28% entry 98%}.motion-on .case-strip li{animation:linear both mo-column;animation-timeline:var(--view);transform-origin:50% 100%;animation-range:entry entry 80%}.motion-on .case-strip li:nth-child(2){animation-range:entry 5% entry 85%}.motion-on .case-strip li:nth-child(3){animation-range:entry 10% entry 90%}.motion-on .case-strip li:nth-child(4){animation-range:entry 15% entry 95%}.motion-on body[data-division=webdesign] .chapter li{transform-origin:50% 100%;animation-name:mo-column}.motion-on body[data-division=development] .chapter>h2{animation:linear both mo-layer-back;animation-timeline:var(--view);animation-range:cover}.motion-on body[data-division=development] .chapter li{animation-name:mo-layer-item}.motion-on body[data-division=gaming] .chapter>div{transform-origin:50%;animation-name:mo-portal}.motion-on body[data-division=gaming] .chapter li{transform-origin:50%;animation-name:mo-portal-item}}}@keyframes mo-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes mo-drift{0%{transform:translate(-4%)scale(1)}to{transform:translate(5%,7%)scale(1.16)}}@keyframes mo-parallax{0%{translate:0}to{translate:0 -22%}}@keyframes mo-hero-in{0%{filter:blur(7px);transform:translateY(30px)}to{filter:blur();transform:none}}@keyframes mo-wipe{0%{clip-path:inset(-.2em 100% -.2em -.1em)}to{clip-path:inset(-.2em -.1em)}}@keyframes mo-card{0%{transform:translateY(46px)scale(.965)}to{transform:none}}@keyframes mo-zoom{0%{transform:scale(1.14)}to{transform:scale(1)}}@keyframes mo-sheen{0%{transform:translate(-120%)skew(-18deg)}to{transform:translate(220%)skew(-18deg)}}@media (prefers-reduced-motion:no-preference){.motion-on .page-hero{isolation:isolate;position:relative;overflow:clip}.motion-on .page-hero:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(38% 46% at 80% 24%,color-mix(in oklab,var(--violet) 26%,transparent),transparent 72%),radial-gradient(34% 42% at 16% 74%,color-mix(in oklab,var(--coral) 17%,transparent),transparent 74%);animation:16s cubic-bezier(.37,0,.63,1) infinite alternate mo-drift;position:absolute;inset:-25% -10% -10%;-webkit-mask-image:linear-gradient(#000 55%,#0000);mask-image:linear-gradient(#000 55%,#0000)}.motion-on .page-hero :is(.breadcrumbs,h1,.lead,.note,.actions){animation:mo-hero-in 1.1s var(--ease-out) both}.motion-on .page-hero h1{animation-delay:90ms}.motion-on .page-hero .lead{animation-delay:.22s}.motion-on .page-hero .note{animation-delay:.3s}.motion-on .page-hero .actions{animation-delay:.38s}.btn{translate:var(--tx,0) var(--ty,0);transition:translate var(--d-med) var(--ease-out),background-color var(--d-fast) var(--ease-out);position:relative}.motion-on .btn-primary{overflow:hidden}.motion-on .btn-primary:after{content:"";z-index:0;pointer-events:none;background:linear-gradient(100deg,#0000,#ffffff8c,#0000);width:38%;position:absolute;inset:0 auto 0 0;transform:translate(-120%)skew(-18deg)}.motion-on .btn-primary>span{z-index:1;position:relative}.motion-on .btn-primary:hover:after,.motion-on .btn-primary:focus-visible:after{animation:mo-sheen .9s var(--ease-out) both}.post-card,.offer,.tiles a,.pillars>*,.cs-card{transition:translate var(--d-med) var(--ease-out),background-color var(--d-med) var(--ease-out);position:relative}.motion-on :is(.post-card,.offer,.tiles a,.pillars>*,.cs-card):hover{translate:0 -6px}.motion-on :is(.post-card,.offer,.tiles a,.pillars>*,.cs-card,.chapter li):after{content:"";border-radius:inherit;pointer-events:none;opacity:0;transition:opacity var(--d-med) var(--ease-out);background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),color-mix(in oklab,var(--paper) 9%,transparent),transparent 72%);position:absolute;inset:0}.motion-on :is(.post-card,.offer,.tiles a,.pillars>*,.cs-card,.chapter li):hover:after{opacity:1}.chapter li{position:relative}.motion-on .post-card-resource .post-card-media img{transition:filter .5s var(--ease-out)}.motion-on .post-card-resource:hover .post-card-media img{filter:brightness(1.08)}html.motion-on.fx-pointer:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(520px circle at var(--px,50%) var(--py,30%),color-mix(in oklab,var(--violet) 11%,transparent),transparent 70%);position:fixed;inset:0}}@supports (animation-timeline:var(--view)){@media (prefers-reduced-motion:no-preference){html.motion-on:before{content:"";z-index:60;pointer-events:none;background:var(--grad);transform-origin:0;height:3px;animation:linear both mo-progress scroll(root);position:fixed;inset:0 0 auto}.motion-on .page-hero:before{animation:16s cubic-bezier(.37,0,.63,1) infinite alternate mo-drift,linear both mo-parallax scroll(root);animation-range:normal,0 70vh}.motion-on :is(.chapter h2,.post-section-head h2,.offers-head h2,.related h2,.prose h2,.closing h2){animation:linear both mo-wipe;animation-timeline:var(--view);animation-range:entry entry 70%}.motion-on :is(.post-card,.offer,.tiles li,.pillars>*,.questions details,.table-wrap,.author-box,.cta-box,.sources,.resource-cover,.toc,.post-nav>*){animation:linear both mo-card;animation-timeline:var(--view);animation-range:entry entry 85%}.motion-on .post-grid>:nth-child(3n+2),.motion-on .tiles li:nth-child(3n+2){animation-range:entry 7% entry 91%}.motion-on .post-grid>:nth-child(3n),.motion-on .tiles li:nth-child(3n){animation-range:entry 14% entry 97%}.motion-on .resource-cover img{animation:linear both mo-zoom;animation-timeline:var(--view);animation-range:entry cover 50%}}}@keyframes mo-turn{0%{rotate:y -22deg}to{rotate:y 26deg}}.page-slot-decor{max-height:380px}.page-slot-decor .module-object{transition:transform .6s var(--ease-out),scale .5s var(--ease-out),filter .5s var(--ease-out)}.page-slot-decor .slot-glow{transition:opacity .5s var(--ease-out),scale .5s var(--ease-out)}@media (hover:hover) and (prefers-reduced-motion:no-preference){.motion-on .page-slot-decor:hover .module-object{filter:brightness(1.08);scale:1.06}.motion-on .page-slot-decor:hover .slot-glow{opacity:.9;scale:1.12}}@media (width<=820px){.page-slot-decor{aspect-ratio:auto;min-width:0;height:210px;min-height:0;max-height:210px}.page-hero .wrap>*{min-width:0}}@media (prefers-reduced-motion:no-preference){.motion-on .page-slot-decor .module-object{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}}@supports (animation-timeline:var(--view)){@media (prefers-reduced-motion:no-preference){.motion-on .page-slot-decor .module-assembly{animation:linear both mo-turn scroll(root);animation-range:0 90vh}.motion-on .page-slot-decor .slot-glow{animation:linear both mo-parallax scroll(root);animation-range:0 90vh}}}
