:root{--textarea-min-height:var(--space-9);--color-bg:#fff;--color-surface:#edf3ff;--color-text:#12273a;--color-muted:#526174;--color-accent:#1655d8;--color-on-accent:#fff;--color-border:#c8d4e7;--color-control-border:#718099;--color-error:#b52b36;--color-accent-hover:#1046b8;--color-accent-active:#0d3996;--color-dark:#12273a;--color-header-bg:var(--color-surface);--color-dark-surface:#203c57;--color-dark-hover:#2b4b6c;--color-dark-muted:#c4d2e5;--color-dark-border:#8da4c0;--color-focus-light:#b7cdff;--color-disabled-bg:#e2e8f2;--color-disabled-text:#526174;--color-backdrop:#091524d1;--color-menu-backdrop:#000000b3;--color-transparent:transparent;--font-display:"Portfolio Tight", sans-serif;--font-body:"Portfolio Tight", sans-serif;--font-ui:"Portfolio Tight", sans-serif;--case-ui:none;--case-display:none;--tracking-ui:0;--tracking-display:-.025em;--tracking-body:0;--weight-display:600;--weight-body:400;--weight-ui:500;--weight-strong:600;--text-display:36px;--lh-display:1.08;--text-h1:32px;--lh-h1:1.08;--text-h2:28px;--lh-h2:1.14;--text-h3:22px;--lh-h3:1.2;--text-body:16px;--lh-body:1.5;--text-small:14px;--lh-small:1.4;--text-ui:16px;--lh-ui:1.25;--text-label:13px;--lh-label:1.4;--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:32px;--space-6:48px;--space-7:64px;--space-8:96px;--space-9:128px;--container:1200px;--page-gutter:16px;--grid-gap:16px;--section-space:64px;--panel-pad:24px;--hero-pad:24px;--hero-min-height:360px;--service-min-height:288px;--radius-control:12px;--radius-block:24px;--radius-small:16px;--radius-none:0px;--cut-control:12px;--cut-block:24px;--cut-small:16px;--shape-cut:var(--cut-block);--shape-round:var(--radius-block);--corner-profile:bevel round bevel round;--corners-control:var(--cut-control) var(--radius-control) var(--cut-control) var(--radius-control);--corners-block:var(--cut-block) var(--radius-block) var(--cut-block) var(--radius-block);--corners-small:var(--cut-small) var(--radius-small) var(--cut-small) var(--radius-small);--border-width:1px;--control-height:48px;--play-size:64px;--icon-size:24px;--focus-width:3px;--focus-offset:4px;--field-message-height:40px;--case-ratio:4 / 3;--video-ratio:8 / 7;--preview-ratio:16 / 10;--case-image-width:90%;--process-preview-height:112px;--process-preview-width:112px;--dialog-width:1040px;--dialog-video-height:72dvh;--source-ratio:16 / 10;--touch-min:44px;--stroke-strong:2px;--line-length:58ch;--hero-line-length:16ch;--duration-fast:.2s;--duration-card:.3s;--duration-player:.25s;--duration-demo:.6s;--duration-none:0s;--duration-reveal:.65s;--delay-reveal-step:.5s;--distance-reveal:32px;--distance-reveal-hero:56px;--ease-reveal:cubic-bezier(.22,1,.36,1);--ease-ui:ease-in-out;--ease-card:ease;--ease-player:ease;--case-scale:1.025;--case-scale-base:1;--arrow-shift:4px;--shadow-media:0 8px 32px #12273a24;--opacity-full:1;--z-modal:10}@media (width>=768px){:root{--text-display:56px;--text-h1:48px;--text-h2:36px;--text-h3:24px;--text-body:18px;--page-gutter:32px;--grid-gap:24px;--section-space:96px;--panel-pad:32px;--hero-pad:40px;--hero-min-height:416px;--video-ratio:4 / 3}}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-card:0s;--duration-player:0s;--duration-demo:0s;--case-scale:1;--arrow-shift:0px}}.reduce-motion{--duration-fast:0s;--duration-card:0s;--duration-player:0s;--duration-demo:0s;--case-scale:1;--arrow-shift:0px}:root{--case-ratio:12 / 5;--preview-ratio:12 / 5;--case-image-width:100%;--process-preview-height:210px;--process-preview-width:100%}*,:before,:after{box-sizing:border-box}html{scrollbar-gutter:stable;scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);font:var(--weight-body) var(--text-body)/var(--lh-body) var(--font-body);-webkit-font-smoothing:antialiased;margin:0}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance;font-weight:var(--weight-display)}h1{font-size:var(--text-h1);line-height:var(--lh-h1);letter-spacing:var(--tracking-display);max-width:17ch}h2{font-size:var(--text-h2);line-height:var(--lh-h2);letter-spacing:var(--tracking-display);margin-bottom:var(--space-5)}h3{font-size:var(--text-h3);line-height:var(--lh-h3);letter-spacing:-.015em}p{max-width:var(--line-length);text-wrap:pretty}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:var(--focus-width) solid var(--color-accent);outline-offset:var(--focus-offset)}.container{width:min(var(--container),calc(100% - var(--page-gutter)*2));margin-inline:auto}.section{margin-top:var(--section-space);scroll-margin-top:var(--space-5)}.shape,.shape-small,.button,.messenger,input,textarea{--cut:var(--cut-block);--round:var(--radius-block);border-radius:0 var(--round) 0 var(--round);clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut))}.shape-small{--cut:var(--cut-small);--round:var(--radius-small)}.button,.messenger,input,textarea{--cut:var(--cut-control);--round:var(--radius-control)}@supports (corner-shape:bevel){.shape,.shape-small,.button,.messenger,input,textarea{border-radius:var(--cut) var(--round) var(--cut) var(--round);corner-shape:bevel round bevel round;clip-path:none}}.button{min-height:var(--control-height);justify-content:center;align-items:center;gap:var(--space-2);padding:10px var(--space-4);background:var(--color-accent);color:var(--color-on-accent);font:var(--weight-ui) var(--text-ui)/var(--lh-ui) var(--font-ui);text-align:center;transition:background-color var(--duration-fast) var(--ease-ui),color var(--duration-fast) var(--ease-ui);border:1px solid #0000;flex-shrink:0;width:fit-content;display:inline-flex}.button:hover{background:var(--color-accent-hover)}.button:active{background:var(--color-accent-active)}.button-secondary{background:var(--color-surface);color:var(--color-accent)}.button-secondary:hover{background:var(--color-border)}.button-white{background:var(--color-on-accent);color:var(--color-accent)}.button-white:hover{background:var(--color-surface)}.text-link{color:var(--color-accent);font-weight:var(--weight-ui);min-height:var(--touch-min);text-underline-offset:5px;align-items:center;display:inline-flex}.text-link:hover{text-decoration:underline}.site-header{padding-block:var(--space-4);align-items:center;gap:var(--space-5);min-height:104px;display:flex}.wordmark{flex-direction:column;gap:2px;min-width:0;margin-right:auto;display:flex}.wordmark strong{font-size:20px;font-weight:600;line-height:1.1}.wordmark span{font-size:var(--text-small);color:var(--color-muted)}.site-header nav{gap:var(--space-4);font-size:var(--text-ui);font-weight:var(--weight-ui);display:flex}.site-header nav a{align-items:center;min-height:44px;display:inline-flex}.site-header nav a:hover{color:var(--color-accent)}.hero{margin-top:var(--space-4)}.hero-layout{column-gap:var(--grid-gap);row-gap:var(--space-4);grid-template-columns:7fr 5fr;align-items:stretch;display:grid}.hero-copy{background:var(--color-surface);padding:var(--hero-pad);align-items:flex-start;gap:var(--space-4);border-radius:var(--corners-block);corner-shape:var(--corner-profile);flex-direction:column;display:flex}.hero-intro{max-width:46ch}.hero-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.hero-visual{background:var(--color-surface);align-self:stretch;align-items:center;display:flex;overflow:hidden}.hero-visual img{object-fit:contain;width:100%;height:auto}.messengers{gap:var(--space-3);flex-wrap:wrap;display:flex}.messenger{background:var(--color-surface);min-height:48px;color:var(--color-accent);font-size:var(--text-ui);font-weight:var(--weight-ui);transition:background var(--duration-fast) var(--ease-ui);justify-content:center;align-items:center;padding:10px 18px;display:inline-flex}.hero-messengers{gap:var(--space-4);margin-top:auto}.hero-messengers .messenger{min-height:44px;font-size:var(--text-small);text-underline-offset:4px;clip-path:none;background:0 0;border-radius:0;padding:0;text-decoration:underline}.hero-messengers .messenger:hover{color:var(--color-accent-hover)}.hero-projects{gap:var(--grid-gap);grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.hero-project{background:var(--color-surface);padding:var(--space-2);overflow:hidden}.hero-project img{aspect-ratio:12/5;object-fit:contain;width:100%;transition:transform var(--duration-card) var(--ease-card)}.hero-project:hover img,.hero-project:focus-visible img{transform:scale(var(--case-scale))}html[data-hero=B] .hero-layout{grid-template-columns:7fr 5fr}html[data-hero=B] .hero-copy{display:contents}html[data-hero=B] .hero-copy h1{max-width:100%;font-size:var(--text-display);grid-area:1/1/auto/-1}html[data-hero=B] .hero-visual{grid-area:2/1/6}html[data-hero=B] .hero-intro{grid-area:2/2}html[data-hero=B] .hero-actions{grid-area:3/2;align-content:start}html[data-hero=B] .hero-messengers{grid-area:4/2;align-self:start;margin-top:0}html[data-hero=B] .hero-projects{grid-row:6}.case-grid{gap:var(--grid-gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.case-card{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.case-media{background:var(--color-surface);overflow:hidden}.case-media img{aspect-ratio:12/5;object-fit:contain;width:100%;transition:transform var(--duration-card) var(--ease-card)}.case-card:has(.case-media:hover) .case-media img,.case-card:has(a:focus-visible) .case-media img{transform:scale(var(--case-scale))}.case-card:has(a:hover) h3,.case-card:has(a:focus-visible) h3{color:var(--color-accent)}.case-heading{align-items:flex-start;gap:12px;min-height:88px;display:flex}.client-logo{object-fit:contain;flex-shrink:0;width:38px;height:38px}.case-description{font-size:var(--text-small);line-height:var(--lh-small);flex-direction:column;gap:12px;display:flex}.case-card>.text-link{margin-top:auto}.review-grid{gap:var(--space-6) var(--grid-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.video-trigger{width:100%;aspect-ratio:var(--video-ratio);background:var(--color-dark);border:0;place-items:center;padding:0;display:grid;position:relative;overflow:hidden}.video-trigger>img{object-fit:contain;width:100%;height:100%}.play{width:var(--play-size);height:var(--play-size);background:var(--color-accent);color:var(--color-on-accent);transition:background var(--duration-player) var(--ease-player);border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.play svg{fill:currentColor;width:28px;height:28px}.video-trigger:hover .play,.video-trigger:focus-visible .play{background:var(--color-accent-hover)}.video-duration{background:var(--color-dark);color:#fff;font-size:var(--text-small);border-radius:4px;padding:4px 8px;line-height:1.4;position:absolute;bottom:16px;right:16px}.review-caption{margin-top:var(--space-3);justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.review-caption h3{font-size:var(--text-h3)}.service-grid{gap:var(--grid-gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.service-card{gap:var(--space-4);background:var(--color-surface);padding:var(--panel-pad);flex-direction:column;min-width:0;display:flex}.service-card h3{min-height:86px}.service-card p{font-size:var(--text-small);line-height:var(--lh-body)}.service-price{font-size:var(--text-h3);padding-top:var(--space-4);text-wrap:balance;margin-top:auto;font-weight:600}.service-card .button{width:100%;padding-inline:12px}.featured{background:var(--color-accent);color:var(--color-on-accent)}.service-note{margin-top:var(--space-4);font-size:var(--text-small);max-width:92ch}.process-grid{gap:var(--space-6) var(--grid-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.process-step{gap:var(--space-3);border-top:1px solid var(--color-border);padding-top:var(--space-4);flex-direction:column;min-width:0;display:flex}.process-result{background:#fff;justify-content:flex-start;align-items:flex-start;height:210px;display:flex;overflow:hidden}.process-result img{object-fit:contain;object-position:left top;width:auto;max-width:100%;height:100%}.process-step h3{max-width:30ch}.process-step p{max-width:54ch}.process-action{margin-top:var(--space-5)}.contact-panel{padding:var(--space-7);background:var(--color-dark);color:var(--color-on-accent)}.contact-panel h2{max-width:100%;margin-bottom:var(--space-6)}.contact-layout{gap:var(--space-7);grid-template-columns:1fr 1fr;display:grid}.contact-copy{gap:var(--space-4);flex-direction:column;display:flex}.contact-copy .messengers{margin-top:var(--space-3);flex-direction:column;align-items:flex-start}.contact-copy .messenger{background:var(--color-dark-surface);color:var(--color-on-accent);min-width:220px}.contact-copy .messenger:hover{background:var(--color-dark-hover)}.contact-copy a:focus-visible,.contact-form a:focus-visible,.contact-form button:focus-visible,.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline-color:var(--color-focus-light)}.contact-form{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.form-intro{font-size:var(--text-small);color:var(--color-dark-muted)}.form-fields{gap:var(--space-3);display:grid}.field{flex-direction:column;gap:8px;min-width:0;display:flex}.field label{font-size:var(--text-ui);font-weight:500}.optional{font-size:var(--text-small);color:var(--color-dark-muted);font-weight:400;display:block}input,textarea{background:var(--color-dark-surface);width:100%;min-width:0;color:var(--color-on-accent);border:1px solid var(--color-dark-border);outline:none;min-height:48px;padding:12px 16px}input{height:48px}textarea{resize:vertical;min-height:128px}.field-hint{font-size:var(--text-small);line-height:var(--lh-small);color:var(--color-dark-muted)}.field-error{min-height:var(--field-message-height);font-size:var(--text-small);line-height:var(--lh-small);color:var(--color-on-accent)}input[aria-invalid=true]{border-color:var(--color-on-accent);box-shadow:inset 3px 0 var(--color-error)}.form-result{min-height:var(--field-message-height);font-size:var(--text-small)}.form-fallback{text-underline-offset:4px;align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}[hidden]{display:none!important}html[data-contact=B] .contact-layout{gap:var(--space-5);flex-direction:column;display:flex}html[data-contact=B] .contact-copy{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}html[data-contact=B] .contact-copy .messengers{flex-direction:row;grid-column:1/-1;margin-top:0}html[data-contact=B] .form-fields{grid-template-columns:1fr 1fr}html[data-contact=B] .field-task{grid-column:1/-1}.video-dialog{width:min(var(--dialog-width),calc(100% - 32px));background:var(--color-dark);max-height:calc(100dvh - 32px);color:var(--color-on-accent);border-radius:var(--radius-small);padding:var(--space-4);border:0;margin:auto;overflow:auto}.video-dialog::backdrop{background:var(--color-backdrop)}.dialog-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.dialog-head h2{font-size:var(--text-h3);margin:0}.dialog-close{background:var(--color-dark-surface);border:1px solid var(--color-dark-border);border-radius:var(--radius-control);color:#fff;min-height:48px;padding:8px 16px}.dialog-close:focus-visible{outline-color:var(--color-focus-light)}.video-dialog video{object-fit:contain;background:#000;width:100%;height:min(72dvh,800px);display:block}.video-error{padding:16px 0}.video-error a{align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}@media (width<=1023px) and (width>=768px){.site-header{gap:20px}.wordmark strong{font-size:18px}.wordmark span{font-size:12px}.site-header nav{gap:16px;font-size:14px}.header-cta{padding-inline:16px;font-size:14px}.hero-copy{padding:28px}.hero-actions{gap:12px}.hero-actions .button{padding-inline:16px;font-size:14px}.case-heading{min-height:110px}.case-heading h3{font-size:22px}.service-card{padding:24px}.service-card h3{min-height:110px;font-size:22px}.service-price{font-size:22px}.contact-panel{padding:40px}.contact-layout{gap:32px}}@media (width<=767px){.site-header{grid-template-columns:1fr auto;gap:12px 16px;min-height:0;padding-block:20px;display:grid}.wordmark strong{max-width:150px;font-size:18px}.wordmark span{max-width:150px;font-size:12px}.header-cta{padding-inline:16px;font-size:14px}.site-header nav{grid-column:1/-1;gap:24px;font-size:14px}.site-header nav a{min-height:32px}.hero{margin-top:8px}.hero-layout{flex-direction:column;gap:16px;display:flex}.hero-visual{order:-1;max-height:none}.hero-visual img{aspect-ratio:3/2}.hero-copy{gap:20px;padding:24px}h1{max-width:17ch}.hero-intro{max-width:42ch}.hero-actions{gap:12px;width:100%}.hero-actions .button{width:100%;font-size:16px}.hero-messengers{flex-wrap:wrap;gap:16px}.hero-projects{gap:8px}.hero-project{padding:4px}.hero-messengers .messenger{font-size:14px}.case-grid,.service-grid,.review-grid,.process-grid{grid-template-columns:1fr}.case-grid{gap:48px}.case-heading{min-height:0}.case-description{font-size:16px}.client-logo{width:36px;height:36px}.case-card{gap:20px}.review-grid{gap:32px}.review-caption h3{font-size:22px}.service-grid{gap:16px}.service-card{gap:24px;min-height:0}.service-card h3{min-height:0}.service-card p{font-size:16px}.service-price{padding-top:8px}.process-grid{gap:40px}.process-result{justify-content:flex-start;height:auto;max-height:210px}.process-result img{width:auto;max-width:100%;height:auto;max-height:210px}.process-step p{font-size:16px}.contact-panel{padding:24px}.contact-panel h2{margin-bottom:24px}.contact-layout{grid-template-columns:1fr;gap:40px}.contact-copy .messengers{align-items:stretch;width:100%}.contact-copy .messenger{min-width:0}.contact-form>.button{width:100%}.dialog-head h2{font-size:20px}.dialog-close{flex-shrink:0;font-size:14px}.video-dialog{padding:16px}.video-dialog video{height:65dvh}html[data-hero=B] .hero-copy h1{font-size:var(--text-h1);order:0}html[data-hero=B] .hero-intro{order:1}html[data-hero=B] .hero-visual{order:2}html[data-hero=B] .hero-actions{order:3}html[data-hero=B] .hero-messengers{order:4}html[data-hero=B] .hero-projects{order:5}html[data-contact=B] .contact-copy{flex-direction:column;display:flex}html[data-contact=B] .contact-copy .messengers{flex-wrap:wrap;order:-1}html[data-contact=B] .contact-copy .messenger{flex:1;padding-inline:12px;font-size:14px}html[data-contact=B] .form-fields{grid-template-columns:1fr}html[data-contact=B] .field-task{grid-column:auto}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation:none!important}.case-media img,.hero-project img{transform:none!important}}html.static-motion,html.reduce-motion{scroll-behavior:auto}html.static-motion *,html.reduce-motion *{transition-duration:0s!important;animation:none!important}html.static-motion .case-media img,html.reduce-motion .case-media img,html.static-motion .hero-project img,html.reduce-motion .hero-project img{transform:none!important}img{height:auto}.hero-side{flex-direction:column;gap:16px;min-width:0;display:flex}.hero-visual{background:var(--color-bg);align-self:auto}.hero-side .hero-messengers{gap:12px;margin-top:0}.hero-side .messenger{background:var(--color-surface);border-radius:var(--corners-control);corner-shape:var(--corner-profile);flex:1;min-height:48px;padding:10px 12px;font-size:14px;text-decoration:none}.video-trigger>img{height:100%}.client-logo{height:38px}.process-result img{height:100%}html[data-hero=B] .hero-side{display:contents}.process-result{height:var(--process-preview-height)}.process-result img{max-height:var(--process-preview-height)}@media (width<=1023px) and (width>=768px){.service-grid{grid-template-columns:1fr 1fr}.service-card:last-child{grid-column:1/-1}.service-card h3{min-height:54px}}@media (width<=767px){.hero-side{display:contents}.hero-visual{order:-1}.hero-copy{order:0}.hero-side .hero-messengers{order:1}.hero-projects{order:2}.hero-side .messenger{font-size:14px}.client-logo{height:36px}.process-result img{height:auto}}.video-trigger>img{object-fit:contain;width:100%;min-width:0;height:100%;min-height:0;position:absolute;inset:0}@media (width<=767px){.site-header .wordmark{grid-area:1/1}.site-header .header-cta{grid-area:1/2}.site-header nav{grid-row:2}}.hero-stage{gap:var(--grid-gap);grid-template-columns:7fr 5fr;align-items:stretch;display:grid}.hero-message{background:var(--color-surface);padding:var(--hero-pad);justify-content:center;align-items:flex-start;gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.hero-service{max-width:42ch}.hero-message .hero-actions{gap:var(--space-3)}.hero-direct{margin-top:var(--space-3);gap:var(--space-4)}.hero-direct .messenger{font-size:var(--text-small);clip-path:none;text-underline-offset:4px;background:0 0;border-radius:0;padding:0;text-decoration:underline}.hero-portrait{background:var(--color-surface);isolation:isolate;min-width:0;min-height:520px;position:relative;overflow:hidden}.hero-portrait>img{object-fit:cover;object-position:57% 50%;z-index:0;width:100%;height:100%;position:absolute;inset:0}.hero-profile{z-index:1;right:var(--space-3);bottom:var(--space-3);width:56%;min-width:264px;padding:var(--space-4);gap:var(--space-3);background:var(--color-surface);color:var(--color-text);flex-direction:column;display:flex;position:absolute}.hero-profile-name{font-size:var(--text-small);line-height:var(--lh-small)}.hero-profile-name strong{font-size:var(--text-h3);line-height:var(--lh-h3);font-weight:600}.hero-profile-name span{font-size:var(--text-body);line-height:var(--lh-body);margin-top:4px;display:block}.hero-profile .button{width:100%;font-size:var(--text-small);padding-inline:12px}.hero-updated .hero-projects{margin-top:var(--grid-gap)}html[data-hero=B] .hero-stage{grid-template-rows:auto auto auto 1fr}html[data-hero=B] .hero-message{display:contents}html[data-hero=B] .hero-message h1{max-width:100%;font-size:var(--text-display);grid-area:1/1/auto/-1}html[data-hero=B] .hero-service{padding-top:var(--space-5);grid-area:2/1;align-self:end}html[data-hero=B] .hero-message .hero-actions{grid-area:3/1;align-content:start}html[data-hero=B] .hero-direct{grid-area:4/1;align-content:start;margin:0}html[data-hero=B] .hero-portrait{grid-area:2/2/5}@media (width>=768px) and (width<=1023px){.hero-stage{grid-template-columns:1fr 1fr}.hero-message{padding:24px}.hero-portrait{min-height:540px}.hero-profile{width:calc(100% - 32px);min-width:0;padding:20px}.hero-message .hero-actions .button{width:100%}.hero-direct{gap:8px}.hero-profile-name strong{font-size:22px}}@media (width<=767px){.hero-stage,html[data-hero=B] .hero-stage{flex-direction:column;gap:16px;display:flex}.hero-message,html[data-hero=B] .hero-message{gap:20px;padding:24px;display:flex}.hero-message .hero-actions{width:100%}.hero-direct{gap:16px;margin:0}.hero-direct .messenger{min-height:44px;font-size:14px}.hero-portrait{height:420px;min-height:0}.hero-profile{gap:12px;width:76%;min-width:0;padding:20px}.hero-profile-name strong{font-size:22px}.hero-profile-name span{font-size:16px}.hero-profile .button{font-size:14px}.hero-updated .hero-projects{margin-top:16px}html[data-hero=B] .hero-message h1{font-size:var(--text-h1)}html[data-hero=B] .hero-service{padding-top:0}}.hero-tail{white-space:nowrap}.service-card .service-description{max-width:100%;min-height:72px;font-size:16px;line-height:1.5}.service-price{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.service-price>span{white-space:nowrap}.service-term{font-size:16px;font-weight:400}.service-note{text-wrap:pretty;width:100%;max-width:none;font-size:16px}.review-caption{grid-template-columns:1fr auto;align-items:start;gap:8px 16px;display:grid}.review-caption h3{min-width:0;max-width:100%}.review-caption .client-logo{grid-column:1/-1}.video-duration{color:var(--color-text);font-size:var(--text-small);line-height:var(--lh-small);white-space:nowrap;background:0 0;border-radius:0;padding:0;position:static;bottom:auto;right:auto}.process-grid{gap:var(--grid-gap);grid-auto-rows:1fr}.process-step{background:var(--color-surface);padding:var(--space-4);gap:var(--space-3);border:0}.process-step .process-result{background:var(--color-bg);flex-shrink:0;width:100%;height:180px;position:relative;overflow:hidden}.process-step .process-result img{object-fit:contain;object-position:center;width:100%;max-width:100%;height:100%;max-height:100%;position:absolute;inset:0}.process-step h3{max-width:100%;min-height:58px}.process-step p{width:100%;max-width:100%;font-size:16px;line-height:1.5}.contact-layout{align-items:stretch;gap:var(--space-5)}.contact-copy{justify-content:space-between;min-width:0;height:100%}.contact-summary{gap:var(--space-4);flex-direction:column;display:flex}.contact-copy .messengers{margin-top:var(--space-4);flex-flow:row;align-items:stretch;gap:12px;width:100%}.contact-copy .messenger{white-space:nowrap;flex:1;min-width:0;padding-inline:8px;font-size:14px}@media (width<=767px){.service-card .service-description{min-height:0}.service-price{gap:8px}.service-term{font-size:16px}.process-grid{grid-auto-rows:auto;gap:24px}.process-step h3{min-height:0}.process-step .process-result{height:180px}.contact-panel{padding:24px 16px}.contact-copy{gap:24px;height:auto}.contact-copy .messengers{gap:8px;margin:0}.contact-copy .messenger{padding-inline:6px;font-size:12px}.contact-summary{gap:16px}}.no-break{white-space:nowrap}.case-grid{align-items:stretch}.case-card{gap:var(--space-3)}.case-heading{max-width:100%;min-height:0}.case-heading h3{min-width:0;max-width:100%}.case-description{gap:var(--space-3);font-size:16px;line-height:1.45}.case-open{align-self:start;min-height:48px;margin-top:auto}@supports (grid-template-rows:subgrid){.case-card{grid-template-rows:subgrid;row-gap:var(--space-3);grid-row:span 6;display:grid}.case-description{grid-template-rows:subgrid;row-gap:var(--space-3);grid-row:span 3;display:grid}.case-open{margin-top:0}}@media (width<=767px){.case-card{flex-direction:column;gap:20px;display:flex}.case-description{gap:14px;display:flex}.case-card .case-open{align-self:stretch;width:100%;margin-top:4px}.case-heading{min-height:0}}:root{--text-case-title:20px;--text-profile-name:18px;--header-icon-size:44px;--profile-width:260px;--profile-pad:16px}.site-header{background:var(--color-surface);grid-template-columns:minmax(170px,1fr) auto auto auto;align-items:center;gap:20px;min-height:96px;margin-top:24px;padding:20px 24px;display:grid}.site-header .wordmark{margin:0}.site-header .wordmark strong{font-size:18px}.site-header .wordmark span{font-size:14px}.site-header nav{gap:20px}.header-contacts,.header-socials{align-items:center;gap:16px;display:flex}.header-socials{gap:8px}.header-phone{white-space:nowrap;font-size:14px;font-weight:500}.header-phone:hover{color:var(--color-accent)}.social-link{width:var(--header-icon-size);height:var(--header-icon-size);background:var(--color-bg);color:var(--color-accent);border-radius:var(--corners-control);corner-shape:var(--corner-profile);flex-shrink:0;place-items:center;display:grid}.social-link svg{width:24px;height:24px}.social-link:hover{background:var(--color-border)}.hero-message{justify-content:flex-start}.hero-benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;margin-top:auto;display:grid}.hero-benefit{background:var(--color-bg);flex-direction:column;gap:8px;min-width:0;padding:20px;display:flex}.hero-benefit strong{letter-spacing:-.02em;text-wrap:balance;font-size:24px;font-weight:600;line-height:1.2}.hero-benefit span{text-wrap:pretty;font-size:14px;line-height:1.4}.hero-profile{width:var(--profile-width);min-width:0;max-width:calc(100% - 32px);padding:var(--profile-pad);gap:12px}.hero-profile-name{font-size:var(--text-profile-name);white-space:nowrap;line-height:1.25}.hero-profile-name strong{font-size:inherit;line-height:inherit}.hero-profile-description{text-wrap:pretty;max-width:100%;font-size:14px;line-height:1.4}.hero-profile .button{padding-inline:8px;font-size:14px}html[data-hero=B] .hero-benefits{grid-area:4/1;align-self:end;margin:0}.service-note{text-align:center}.case-heading h3{font-size:var(--text-case-title);font-weight:500;line-height:1.25}.review-caption{align-items:center}.review-caption .video-duration{align-self:center}.process-zoom{cursor:zoom-in;color:var(--color-accent);border:0;padding:0}.zoom-mark{background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;place-items:center;width:36px;height:36px;display:grid;position:absolute;bottom:8px;right:8px}.zoom-mark svg{width:20px;height:20px}.process-zoom:hover .zoom-mark{background:var(--color-surface)}.process-zoom:focus-visible{outline-offset:-3px}.image-dialog{width:min(var(--container),calc(100% - 32px));border-radius:var(--radius-small);background:var(--color-bg);max-height:calc(100dvh - 32px);color:var(--color-text);border:0;margin:auto;padding:24px;overflow:auto}.image-dialog::backdrop{background:var(--color-backdrop)}.image-dialog-head{justify-content:space-between;align-items:center;gap:24px;margin-bottom:16px;display:flex}.image-dialog-head h2{max-width:44ch;margin:0;font-size:24px}.image-close{flex-shrink:0}.image-dialog-body{place-items:center;min-height:100px;display:grid}.image-dialog-body img{object-fit:contain;width:100%;max-width:100%;height:auto;max-height:calc(100dvh - 180px);display:block}.image-original{margin-top:12px;font-size:14px}@media (width>=768px) and (width<=1023px){.site-header{grid-template-columns:1fr auto;gap:12px 24px}.site-header .wordmark{grid-area:1/1}.site-header .header-cta{grid-area:1/2;justify-self:end}.site-header nav{grid-area:2/1}.header-contacts{grid-area:2/2;justify-self:end}.hero-benefit{padding:16px}.hero-benefit strong{font-size:20px}}@media (width<=767px){.site-header{grid-template-columns:minmax(0,1fr) auto;gap:12px;min-height:0;margin-top:16px;padding:16px}.site-header .wordmark{grid-area:1/1}.site-header .wordmark strong{max-width:none;font-size:16px}.site-header .wordmark span{max-width:145px;font-size:12px}.site-header .header-cta{grid-area:1/2;padding-inline:12px;font-size:12px}.site-header nav{grid-area:2/1/auto/-1;gap:20px}.header-contacts{grid-area:3/1/auto/-1;justify-content:space-between;gap:8px}.header-phone{font-size:14px}.hero-benefits{gap:12px}.hero-benefit{padding:16px 12px}.hero-benefit strong{font-size:18px}.hero-benefit span{font-size:14px}.hero-profile{width:var(--profile-width);padding:var(--profile-pad);gap:12px}.hero-profile-name strong{font-size:var(--text-profile-name)}.case-heading h3{font-size:var(--text-case-title)}.image-dialog{padding:16px}.image-dialog-head{align-items:flex-start;gap:12px}.image-dialog-head h2{font-size:20px}.image-close{padding-inline:12px;font-size:12px}.image-dialog-body img{max-height:calc(100dvh - 200px)}}@media (width<=359px){.header-phone{font-size:12px}}.image-dialog[open]{flex-direction:column;height:min(820px,100dvh - 32px);display:flex}.image-dialog-head{flex-shrink:0}.image-dialog-body{flex:1;min-height:120px;display:block;position:relative}.image-dialog .image-dialog-body img{object-fit:contain;width:100%;height:100%;max-height:100%;position:absolute;inset:0}.image-original{flex-shrink:0}.image-dialog-body{overscroll-behavior:contain;overflow:auto}.image-canvas{width:calc(100% * var(--image-zoom,1));height:calc(100% * var(--image-zoom,1));min-width:100%;min-height:100%;position:relative}.image-tools{flex-shrink:0;justify-content:center;align-items:center;gap:12px;margin-top:12px;display:flex}.image-tools button{border:1px solid var(--color-border);background:var(--color-surface);width:48px;height:48px;color:var(--color-accent);border-radius:var(--radius-control);font-size:24px}.image-tools button:disabled{opacity:.45;cursor:default}.image-zoom-value{text-align:center;min-width:52px;font-size:14px}@media (width<=767px){.image-dialog-head{flex-wrap:wrap;gap:12px}.image-dialog-head h2{flex:100%;max-width:100%}.image-close{margin-left:auto}.image-tools{margin-top:8px}}.contact-copy>h2{max-width:100%;margin:0}html[data-contact=B] .contact-copy>h2{grid-column:1/-1}.hero-message .hero-service{text-wrap:wrap;width:100%;max-width:none}.hero-actions .button-secondary{background:var(--color-bg);border-color:var(--color-accent);color:var(--color-accent)}.hero-actions .button-secondary:hover{background:var(--color-surface);border-color:var(--color-accent);color:var(--color-accent-hover)}.hero-actions .button-secondary:active{background:var(--color-border);color:var(--color-accent-active)}.case-heading{align-items:center}.process-step h3{min-height:0;margin-top:auto}.process-step>p{margin-top:var(--space-2)}.contact-panel{padding:var(--space-5)}.contact-layout{gap:var(--space-4)}.contact-copy,.contact-form{padding:var(--space-4);background:var(--color-dark-surface);min-width:0;height:auto}.contact-copy{justify-content:flex-start;gap:var(--space-4)}.contact-copy p{max-width:none}.contact-copy .messengers{margin:0}.contact-copy .messenger{background:var(--color-bg);color:var(--color-accent);white-space:normal}.contact-copy .messenger:hover{background:var(--color-surface);color:var(--color-accent-hover)}.contact-form input,.contact-form textarea{background:var(--color-dark)}.contact-form .field-error:empty,.contact-form .form-result:has(#form-message:empty):has(.form-fallback[hidden]){display:none}@media (width<=767px){.contact-panel{padding:24px 16px}.contact-copy,.contact-form{padding:20px 16px}.contact-copy{gap:24px}.contact-copy .messengers{gap:8px}.contact-copy .messenger{white-space:normal;padding-inline:6px;font-size:12px}.process-step h3{margin-top:0}}.header-menu{display:contents}.menu-toggle{display:none}@media (width<=767px){.site-header{z-index:10;border-radius:var(--radius-none);corner-shape:round;clip-path:none;grid-template-columns:minmax(0,1fr) 48px;gap:0 16px;min-height:64px;padding:8px 16px;position:relative;overflow:visible}.site-header .wordmark span{display:none}.site-header .wordmark strong{white-space:nowrap;font-size:16px}.menu-toggle:not([hidden]){width:48px;height:48px;color:var(--color-accent);cursor:pointer;background:0 0;border:0;border-radius:0;flex-direction:column;grid-area:1/2;justify-content:center;align-items:center;gap:5px;padding:12px;display:flex}.menu-toggle span{width:24px;height:2px;transition:transform var(--duration-fast) var(--ease-ui),opacity var(--duration-fast) var(--ease-ui);background:currentColor;display:block}.menu-toggle:hover{background:var(--color-bg)}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px)rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.site-header .header-menu{flex-direction:column;grid-area:2/1/auto/-1;gap:24px;padding:16px 0 8px;display:flex}.site-header .header-menu nav{flex-direction:column;align-items:stretch;gap:0;font-size:20px;display:flex}.site-header .header-menu nav a{min-height:48px}.site-header .header-menu .header-contacts{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:16px;display:flex}.site-header .header-menu .header-phone{align-items:center;min-height:44px;font-size:18px;display:flex}.site-header .header-menu .header-socials{gap:12px}.site-header .header-menu .header-cta{width:100%;min-height:48px;margin-top:auto;font-size:16px}.site-header.menu-ready .header-menu{overscroll-behavior:contain;background:var(--color-surface);visibility:hidden;clip-path:inset(0 0 100%);opacity:0;pointer-events:none;width:100%;max-height:calc(100dvh - 96px);transition:clip-path var(--duration-fast) var(--ease-ui),transform var(--duration-fast) var(--ease-ui),opacity var(--duration-fast) var(--ease-ui),visibility 0s var(--duration-fast);grid-area:auto;padding:8px 24px 24px;position:absolute;top:100%;left:0;overflow-y:auto;transform:translateY(-8px)}.site-header.menu-open .header-menu{visibility:visible;clip-path:inset(0);opacity:1;pointer-events:auto;transition-delay:0s;transform:none}}.review-author{align-items:center;gap:12px;min-width:0;display:flex}.review-author h3{flex:0 auto;min-width:0}.review-author .client-logo{grid-column:auto}.image-close{width:48px;min-width:48px;height:48px;color:var(--color-accent);background:0 0;border:0;border-radius:0;flex-shrink:0;place-items:center;padding:12px;display:grid}.image-close svg{width:24px;height:24px;display:block}.image-close:hover,.image-close:active{color:var(--color-accent-hover);background:0 0}@media (width<=767px){.site-header{isolation:isolate;background:0 0}.site-header:before{content:"";z-index:-1;background:var(--color-surface);border-radius:0 var(--radius-block) 0 var(--radius-block);clip-path:polygon(var(--cut-block) 0,100% 0,100% calc(100% - var(--cut-block)),calc(100% - var(--cut-block)) 100%,0 100%,0 var(--cut-block));position:absolute;inset:0}@supports (corner-shape:bevel){.site-header:before{border-radius:var(--corners-block);corner-shape:var(--corner-profile);clip-path:none}}.menu-toggle:hover,.menu-toggle:active{background:0 0}.image-dialog-head{flex-wrap:nowrap;align-items:flex-start;gap:12px}.image-dialog-head h2{flex:auto;min-width:0}.image-close{margin-left:auto;padding:12px}}.menu-backdrop{display:none}@media (width<=767px){.site-header:before{transition:bottom var(--duration-fast) var(--ease-ui)}.site-header.menu-open:before{bottom:calc(-1 * var(--menu-height,0px))}.site-header.menu-ready .header-menu{background:0 0}.menu-backdrop{z-index:9;background:var(--color-menu-backdrop);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-ui),visibility 0s var(--duration-fast);display:block;position:fixed;inset:0}.site-header.menu-open+.menu-backdrop{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}}.contact{margin-bottom:0}.contact-panel{width:100%;padding:var(--space-6) 0;clip-path:none;border-radius:0}.site-footer{background:var(--color-dark);color:var(--color-on-accent)}.footer-inner{border-top:1px solid var(--color-dark-surface);grid-template-columns:minmax(180px,1fr) auto auto;align-items:center;gap:32px;padding-block:32px;display:grid}.footer-brand{min-height:44px;color:var(--color-on-accent);justify-content:center;margin:0}.footer-brand strong{font-size:18px}.footer-brand span{color:var(--color-dark-muted);font-size:14px}.footer-brand strong,.footer-brand span{max-width:none}.footer-nav{flex-wrap:wrap;align-items:center;gap:8px 20px;font-size:14px;font-weight:500;display:flex}.footer-nav a,.footer-phone{align-items:center;min-height:44px;display:inline-flex}.footer-contacts{align-items:center;gap:16px;display:flex}.footer-phone{white-space:nowrap;font-size:14px;font-weight:500}.footer-socials{gap:8px;display:flex}.site-footer .social-link{background:var(--color-dark-surface);color:var(--color-on-accent)}.site-footer .social-link:hover{background:var(--color-dark-hover)}.footer-nav a:hover,.footer-phone:hover{color:var(--color-focus-light)}.site-footer a:focus-visible{outline-color:var(--color-focus-light)}@media (width>=768px) and (width<=1023px){.footer-inner{grid-template-columns:1fr auto;gap:16px 24px}.footer-brand{grid-area:1/1}.footer-contacts{grid-area:1/2}.footer-nav{grid-area:2/1/auto/-1}}@media (width<=767px){.contact-panel{padding:32px 0}.footer-inner{grid-template-columns:1fr;gap:20px;padding-block:24px}.footer-nav{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.footer-contacts{justify-content:space-between;gap:12px}.footer-brand strong{font-size:18px}}.site-header{background:var(--color-header-bg);color:var(--color-text)}.site-header .wordmark span{color:var(--color-muted)}.site-header nav a:hover,.site-header .header-phone:hover{color:var(--color-accent)}.site-header .social-link{background:var(--color-bg);color:var(--color-accent)}.site-header .social-link:hover{background:var(--color-border)}.site-header a:focus-visible,.site-header button:focus-visible{outline-color:var(--color-accent)}@media (width<=767px){.site-header{background:0 0}.site-header:before{background:var(--color-header-bg)}.site-header .menu-toggle{color:var(--color-accent)}}.dialog-close{width:48px;min-width:48px;height:48px;min-height:48px;color:var(--color-on-accent);transition:color var(--duration-fast) var(--ease-ui);background:0 0;border:0;border-radius:0;flex-shrink:0;place-items:center;padding:12px;display:grid}.dialog-close svg{width:24px;height:24px;display:block}.dialog-close:hover,.dialog-close:active{color:var(--color-focus-light);background:0 0}.reveal-pending{opacity:0}html.reveal-ready .site-footer{overflow:clip}html.static-motion [data-reveal],html.reduce-motion [data-reveal]{opacity:1!important;transform:none!important}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1!important;transform:none!important}}@media print{[data-reveal]{opacity:1!important;transform:none!important}}
