/* Procese Smart — design tokens and shared components */
@font-face{font-family:"TikTok Sans";src:url("/assets/fonts/tiktok-sans-semi-expanded-400.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"TikTok Sans";src:url("/assets/fonts/tiktok-sans-semi-expanded-600.woff") format("woff");font-weight:600;font-style:normal;font-display:swap}
:root {
  --paper:#faf5e9;--surface:#fffaf0;--ink:#141111;--muted:#544d3f;
  --accent:#141111;--accent-hover:#41382a;--sand-light:#efe9d9;--line:#c9c0a8;
  --gold-gradient:radial-gradient(ellipse at 79% 22%,#e8dbb7,#cbb990 68%,#c3b08a);
  --gold-arcs:url("/assets/gold-arcs.svg");
  --dark:#30291f;--dark-muted:#e3dbc8;--dark-line:#665b47;--light-accent:#e0cfab;
  --font:"TikTok Sans",Arial,sans-serif;--page:min(1320px,100% - 72px);
  --display:clamp(2.4rem,4.45vw,4.1rem);--heading:clamp(1.95rem,3.35vw,3.25rem);
  --subhead:clamp(1.28rem,1.95vw,1.75rem);--body:clamp(1rem,1.25vw,1.125rem);
  --small:.875rem;--caption:.75rem;--section:clamp(60px,8vw,112px);--radius:3px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--body)/1.65 var(--font);-webkit-font-smoothing:antialiased}
body.modal-open{overflow:hidden}
[hidden]{display:none!important}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,figure,dl,dd{margin:0}
h1,h2,h3{font-weight:600;line-height:1.12;letter-spacing:-.02em}
h1,h2{text-transform:uppercase;text-wrap:balance}
h1{font-size:var(--display);line-height:1.09;text-wrap:balance}
h2{font-size:var(--heading)}
h3{font-size:var(--subhead);letter-spacing:-.027em}
em{font-style:normal;color:inherit}
small{font-size:var(--caption)}
:focus-visible{outline:2px solid #5d4c2d;outline-offset:4px}
::selection{background:#e3dbc8;color:var(--ink)}
.wrap{width:var(--page);margin-inline:auto}
.visually-hidden,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip:focus{position:fixed;top:12px;left:12px;z-index:20;padding:10px 16px;background:var(--surface)}
.eyebrow,.slot-label,.case-label{display:block;font-size:var(--caption);font-weight:600;letter-spacing:.065em;line-height:1.45}
.eyebrow,.slot-label{color:var(--accent)}
.eyebrow::before{content:"";display:inline-block;width:6px;height:6px;background:currentColor;margin:0 9px 2px 0}
.button,.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;font-size:var(--small);font-weight:600;line-height:1.4}
.button{background:var(--accent);border:1px solid var(--accent);color:#fff;border-radius:var(--radius);padding:14px 18px;min-height:49px;transition:background .18s,border-color .18s,color .18s}
.button:is(:hover,:focus-visible){background:#dbcaa8;border-color:var(--ink);color:var(--ink)}
.button.secondary{color:var(--accent);background:transparent}
.button.secondary:is(:hover,:focus-visible){background:var(--sand-light)}
.text-link{border-bottom:1px solid currentColor;padding:4px 0;align-self:start;justify-self:start}
.text-link:hover{color:var(--accent)}
.button span,.text-link span,.service-grid a span{font-weight:400}
.site-header{position:sticky;top:0;z-index:5;background:var(--paper);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:clamp(14px,2vw,30px);min-height:77px}
.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}
.brand img{width:clamp(126px,12vw,170px)}
.brand-slogan{white-space:nowrap;color:var(--muted);font-size:var(--caption);line-height:1.35}
.header-inner nav{margin-left:auto;display:flex;align-items:center;gap:clamp(12px,1.75vw,26px)}
.header-inner nav>a,.header-contacts,.menu-phone{font-size:var(--small);font-weight:600;white-space:nowrap}
.header-inner nav>a{text-transform:uppercase;font-size:var(--caption);letter-spacing:.02em}
.header-inner nav>a:hover,.company-contacts a:hover{color:var(--accent-hover);text-decoration:underline}
.language-switch{display:flex;gap:4px;align-items:center;font-size:var(--caption);font-weight:600}
.language-switch a{padding:6px 8px;border-radius:var(--radius)}
.language-switch a[aria-current]{background:var(--sand-light);color:var(--accent)}
.menu-button,.menu-phone,.language-switch-mobile{display:none}
.hero{background:#d2c5a4}
.hero-grid{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));min-height:clamp(520px,min(calc(100svh - 77px),75vw),900px)}
.hero-copy{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;min-width:0;padding:clamp(42px,6vw,100px) clamp(28px,4.8vw,92px) clamp(44px,6.5vh,90px);padding-left:max(clamp(28px,4.8vw,92px),calc((100vw - 1320px) / 2));background:var(--gold-arcs) center/100% 100% no-repeat,var(--gold-gradient)}
.gold-surface{background:var(--gold-arcs) center/100% 100% no-repeat,var(--gold-gradient)}
.hero-copy h1{font-size:clamp(2rem,3.8vw,4.1rem);line-height:1.04;letter-spacing:-.032em;text-wrap:initial}
.hero-description{margin-top:22px;max-width:48ch;color:#393127}
.hero-actions{display:flex;align-items:center;gap:14px 24px;flex-wrap:wrap;margin-top:24px}
.hero-actions .text-link{align-self:center}
.hero-illustration{position:relative;min-width:0;min-height:0;overflow:hidden;background:#a29076}
.hero-illustration img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 54%}
.hero-illustration--devices img{object-position:center}
.image-slot{position:relative;display:flex;align-items:flex-end;isolation:isolate;overflow:hidden;min-width:0;margin:0;background:var(--sand-light);color:var(--ink);padding:clamp(17px,2.5vw,32px);border:1px solid #c9c0a8;border-radius:var(--radius)}
.image-slot::before{content:"";position:absolute;z-index:-1;inset:14px;border:1px solid currentColor;opacity:.13;pointer-events:none}
.image-slot::after{content:"";position:absolute;z-index:-1;inset:14px 14px 56% 14px;background:linear-gradient(90deg,transparent calc(50% - .5px),currentColor 50%,transparent calc(50% + .5px)),linear-gradient(0deg,transparent calc(50% - .5px),currentColor 50%,transparent calc(50% + .5px));opacity:.09;pointer-events:none}
.image-slot figcaption{max-width:43ch}
.image-slot .slot-label{margin-bottom:11px}
.image-slot strong{display:block;font-size:var(--subhead);font-weight:600;line-height:1.2;letter-spacing:-.02em}
.image-slot p{margin-top:8px;font-size:var(--small);line-height:1.55}
.image-slot--hero{min-height:clamp(425px,42vw,610px);color:#faf5e9;background:var(--accent-hover);border:0;padding:clamp(27px,4vw,54px)}
.image-slot--hero .slot-label{color:#efe9d9}
.image-slot--hero p{color:#e3dbc8}
.section{padding-block:var(--section)}
.hero + #services{padding-top:clamp(44px,5vw,76px)}
.section-top{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:27px}
.side-note{font-size:var(--small);color:var(--muted)}
.section-heading{display:grid;grid-template-columns:1.7fr 1fr;gap:30px;align-items:end;margin-bottom:34px}
.section-heading p{max-width:40ch;color:var(--muted)}
/* Services: centered introduction and individual sand-colored panels */
.services-section .section-top{border:0;padding-top:0;justify-content:center;flex-wrap:wrap;gap:6px 16px;margin-bottom:14px}
.services-section .section-top .side-note{max-width:none;text-align:center}
.services-section .section-heading{display:grid;grid-template-columns:1fr;justify-items:center;text-align:center;gap:12px;margin-bottom:clamp(25px,4vw,54px)}
.services-section .section-heading p{max-width:50ch}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.4vw,20px)}
.service-grid article{display:flex;min-width:0;flex-direction:column;align-items:center;text-align:center;background:var(--sand-light);padding:clamp(12px,1.2vw,17px) clamp(12px,1.2vw,17px) clamp(22px,2.6vw,36px);transition:background-color .2s}
.service-grid article:focus-within{background:#e6ddc8}
@media(hover:hover){.service-grid article:hover{background:#e6ddc8}}
.service-art{display:grid;place-items:center;width:100%;aspect-ratio:2.1;overflow:hidden;border-radius:0 0 50% 50% / 0 0 90% 90%;color:var(--ink);background:#dbcaa8;margin-bottom:clamp(18px,2.5vw,33px)}
.service-art--photo{position:relative}
.service-art--photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.service-art--2{background:#d4c8a9}
.service-art--3{background:#e4d7bc}
.service-art svg{display:block;width:min(52%,170px);height:auto}
.service-art .art-accent{stroke:#6e552c;stroke-width:2.1}
.service-art .art-accent circle{fill:#dbcaa8}
.service-grid h3{font-size:clamp(1.05rem,1.68vw,1.52rem);text-transform:uppercase;text-wrap:balance;padding-inline:7px}
.service-grid article>p{margin:12px 0 23px;padding-inline:clamp(4px,1vw,14px);max-width:39ch;color:var(--muted);font-size:var(--small);line-height:1.55}
.service-action{display:inline-flex;justify-content:center;align-items:center;gap:13px;margin-top:auto;min-height:46px;border:1px solid #827457;border-radius:var(--radius);padding:8px 14px;background:var(--paper);color:var(--ink);font-size:var(--small);font-weight:600;line-height:1.35;transition:background-color .18s,color .18s,border-color .18s}
.service-action:is(:hover,:focus-visible){background:var(--ink);border-color:var(--ink);color:var(--paper)}
.service-action span{transition:transform .18s}
.service-action:is(:hover,:focus-visible) span{transform:translateX(3px)}
@media(max-width:760px){
  .service-grid{grid-template-columns:1fr;gap:14px;max-width:500px;margin-inline:auto}
  .service-grid h3{font-size:1.3rem}
}
.examples-section{position:relative;isolation:isolate;padding-block:clamp(42px,5.5vw,80px);background:radial-gradient(ellipse at 89% 12%,#675440 0%,transparent 52%),linear-gradient(140deg,#403328,#251e19 70%);color:var(--surface)}
.examples-section::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:var(--gold-arcs) center/100% 100% no-repeat;opacity:.28}
.examples-section .section-top{margin-bottom:clamp(14px,1.65vw,22px)}
.examples-section :is(em,.eyebrow,.text-link:hover){color:var(--light-accent)}
.examples-section .section-heading{grid-template-columns:1fr;margin-bottom:clamp(10px,1.5vw,20px)}
.examples-section :is(.side-note,.case-bottom p){color:var(--dark-muted)}
.examples-section :focus-visible{outline-color:#f0d9b9}
.case-stage{--case-gutter:clamp(18px,3vw,42px);--case-gold:radial-gradient(ellipse at 100% 0%,#f4e8cd,#e3d0a7 90%);--case-divider:#c6ad81;position:relative}
.case-controls{position:absolute;z-index:1;inset-block-start:10px;inset-inline-end:var(--case-gutter);display:flex;align-items:center;gap:8px;color:#382818}
.case-controls-copy{display:grid;gap:3px;margin-inline-end:6px;line-height:1.2}
.case-controls-label{font-size:var(--small);font-weight:600}
.case-position{color:#645034;font-size:var(--caption);font-variant-numeric:tabular-nums;white-space:nowrap}
.case-controls button{display:grid;place-items:center;width:48px;height:48px;border:1px solid #382818;border-radius:50%;background:#382818;color:#fff8e7;font-size:1.55rem;font-weight:600;line-height:1}
.case-controls button:is(:hover,:focus-visible):not([aria-disabled=true]){background:#674a28;color:#fff8e7}
.examples-section .case-controls button:focus-visible{outline-color:#5b4326;outline-offset:2px}
.case-controls button[aria-disabled=true]{border-color:#ab9169;background:#f5e9d0;color:#766143;cursor:default}
[data-case-step="1"]{position:relative;overflow:hidden}
[data-case-step="1"]::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 24%,#fff0c04d 49%,transparent 74%);transform:translateX(-110%)}
.case-controls.has-motion-cue [data-case-step="1"]:not([aria-disabled=true]){animation:next-arrow-cue 2.6s ease-in-out infinite}
.case-controls.has-motion-cue [data-case-step="1"]:not([aria-disabled=true])::after{animation:next-arrow-glint 2.6s ease-in-out infinite}
.case-controls.has-motion-cue [data-case-step="1"]:is(:hover,:focus-visible):not([aria-disabled=true]){animation-play-state:paused}
@keyframes next-arrow-cue{0%,55%,100%{transform:translateX(0)}12%{transform:translateX(-3px)}28%{transform:translateX(5px)}43%{transform:translateX(-2px)}}
@keyframes next-arrow-glint{0%,7%{transform:translateX(-110%)}53%,100%{transform:translateX(110%)}}
.case-panels{display:grid;gap:12px}
.case-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto 1fr;align-content:start;min-width:0;overflow:hidden;background:var(--case-gold) right top/50% 100% no-repeat #f8f2e5;color:var(--ink)}
.case-run.is-ready .case-panel{grid-area:1/1}
.case-run.is-ready .case-panel:not(.is-active){visibility:hidden}
.case-panel:nth-child(even){background-color:#f3ead8}
.case-title{grid-column:1/-1;padding:clamp(14px,1.8vw,23px) var(--case-gutter) 10px;border-bottom:1px solid var(--case-divider);color:#6d5944;font-size:var(--small);letter-spacing:.075em;text-transform:uppercase}
.case-run.is-ready .case-title{display:flex;align-items:center;min-height:68px;padding-block:10px;padding-inline-end:calc(var(--case-gutter) + 240px)}
@media(min-width:681px){
  .case-title{position:relative}
  .case-title::after{content:"";position:absolute;inset-block:0;inset-inline-start:50%;width:1px;background:var(--case-divider);pointer-events:none}
}
.case-panel .before,.case-panel .after{display:flex;flex-direction:column;min-width:0;padding:clamp(12px,1.65vw,23px) var(--case-gutter) clamp(14px,1.85vw,25px)}
.case-panel .after{position:relative;border-inline-start:1px solid var(--case-divider)}
.case-flow{position:absolute;inset-inline-start:0;inset-block-start:clamp(18px,2vw,30px);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#6b4e2c;color:#fffaf0;transform:translateX(-50%);pointer-events:none}
.case-flow svg{width:15px;height:15px}
.case-label{color:#6d5944;margin-bottom:7px;letter-spacing:.045em}
.case-panel .after .case-label,.case-panel .after .result-line{color:#58401f}
.case-panel h4{margin:0;font-size:clamp(1.05rem,1.85vw,1.55rem);line-height:1.22}
.case-panel p{margin-top:9px;color:var(--muted);font-size:var(--small);line-height:1.55}
.result-line{margin-top:12px;display:flex;gap:8px;color:#4b4931;font-size:var(--small);line-height:1.48}
.result-line strong{font-weight:600}
.case-panel .before p,.case-panel .after .result-line{margin-bottom:12px}
.case-photo{position:relative;flex:none;width:100%;aspect-ratio:2/1;margin:auto 0 0;overflow:hidden;border-radius:50% 50% 0 0 / 100% 100% 0 0;background:linear-gradient(145deg,#e9ddc6,#d8c5a7)}
.case-panel .after .case-photo{background:linear-gradient(145deg,#e9d8b0,#c8ab7d)}
.case-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.case-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px 18px;margin-top:14px;font-size:var(--small)}
.case-bottom .case-cta{flex-shrink:0;background:#ead7ab;border-color:#ead7ab;color:#382818;border-radius:6px;white-space:nowrap}
.case-bottom .case-cta:is(:hover,:focus-visible){background:#fff1ce;border-color:#fff1ce;color:#382818}
.workflow-section{background:#f6efe0}
@media(min-width:900px){.workflow-section{background-image:url("/assets/light-arcs.svg");background-position:center;background-size:100% 100%;background-repeat:no-repeat}}
.workflow-inner{max-width:760px}
.workflow-intro{margin-bottom:clamp(22px,3vw,38px)}
.workflow-intro h2{text-wrap:initial;font-size:var(--display)}
.workflow-intro p{margin-top:10px;color:var(--muted);max-width:50ch}
.steps{list-style:none;margin:0;padding:0}
.steps li{position:relative;padding-inline-start:clamp(25px,3vw,40px)}
.steps li:not(:last-child){padding-bottom:clamp(20px,2.5vw,30px)}
.steps li:not(:last-child)::after{content:"";position:absolute;inset-inline-start:4px;inset-block-start:10px;inset-block-end:-10px;width:1px;background:#c9b185}
.steps li::before{content:"";position:absolute;z-index:1;inset-inline-start:0;inset-block-start:7px;width:9px;height:9px;border-radius:50%;background:#9b743d}
.steps h3{font-size:clamp(1.15rem,2vw,1.55rem)}
.steps p{max-width:57ch;margin-top:5px;color:var(--muted)}
.implementation-notes{margin-top:clamp(20px,3vw,32px);padding:14px 18px;background:#ebe0c7;color:#493a2a;font-size:var(--small)}
button.text-link{background:none;border:0;padding:4px 0}
button.text-link{border-bottom:1px solid currentColor}
.projects-section{--gold-gradient:radial-gradient(ellipse at 85% 5%,#f1e5c5,#dfcca3 76%,#d4bf93)}
.projects-heading{margin:0 auto clamp(25px,4vw,50px);max-width:52ch;text-align:center}
.projects-heading h2,.contact-copy h2,.company-contacts h2{font-size:var(--display)}
.projects-heading h2,.contact-copy h2{text-wrap:initial}
.projects-heading p{margin-top:10px;color:var(--muted)}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,25px)}
.project-card{display:flex;flex-direction:column;min-width:0;text-align:center;padding:clamp(9px,1vw,14px);border:0;background:#f6efdf;transition:background-color .18s}
.project-card:is(:hover,:focus-visible){background:#fff8e8}
.project-art{position:relative;display:block;width:100%;aspect-ratio:2.25;overflow:hidden;border-radius:0 0 50% 50% / 0 0 93% 93%;background:radial-gradient(ellipse at 60% 30%,#eadbb6,#c5af80);color:#594121}
.project-art--2{background-image:radial-gradient(ellipse at 60% 30%,#d9c6a2,#b69b73)}
.project-art--3{background-image:radial-gradient(ellipse at 60% 30%,#e5d5b1,#c1aa81)}
.project-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.project-card-copy{display:flex;flex:1;flex-direction:column;align-items:center;width:100%;padding:clamp(15px,2.2vw,28px) clamp(9px,1.3vw,18px) clamp(11px,1.8vw,22px)}
.project-category{font-size:var(--caption);line-height:1.45;font-weight:600;letter-spacing:.035em;text-transform:uppercase;color:#70542e}
.project-card strong{margin-top:10px;font-size:clamp(1.15rem,1.85vw,1.55rem);line-height:1.15;letter-spacing:-.02em;text-wrap:balance}
.project-summary{margin:9px 0 17px;color:var(--muted);font-size:var(--small);line-height:1.5}
.project-link{position:relative;isolation:isolate;margin-top:auto;overflow:hidden}
.project-link>span{font-size:1.1rem;line-height:1}
.project-card:is(:hover,:focus-visible) .project-link{background:#dbcaa8;border-color:var(--ink);color:var(--ink)}
.project-link::before,.project-link::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 32%,#fff1cd44 50%,transparent 68%);transform:translateX(-108%)}
.project-link.has-motion-cue::before{animation:case-link-glint .8s ease-out .2s both}
.project-card:is(:hover,:focus-visible) .project-link::after{animation:case-link-glint .72s ease-out both}
@keyframes case-link-glint{to{transform:translateX(108%)}}
.fit-section{display:grid;grid-template-columns:1fr 1.08fr;gap:clamp(24px,6vw,86px);align-items:center}
.fit-copy .eyebrow{margin-bottom:14px}
.fit-copy p,.contact-copy p{margin-top:14px;color:var(--muted)}
.fit-copy .text-link{margin-top:21px}
.fit-graphic{min-width:0;aspect-ratio:4/3;overflow:hidden;border-radius:0 0 45% 45% / 0 0 20% 20%;background:#d8c5a4}
.fit-graphic img{width:100%;height:100%;object-fit:cover;object-position:50% 38%}
.contact-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(22px,5vw,84px);align-items:center}
.contact-copy{max-width:610px}
.contact-copy h2 em{color:#5d4424}
.brief-card{--brief-paper:#f8f3e7;--brief-edge:#d5cbb9;min-width:0;padding:clamp(20px,4vw,48px);background:var(--brief-paper)}
.brief-form{display:grid;gap:clamp(11px,1.25vw,17px)}
.brief-form label{display:block;font-weight:600;font-size:var(--small);margin:0 0 6px;line-height:1.35}
.brief-form label span{font-weight:400;color:var(--muted);margin-left:3px}
.brief-field{min-width:0}
input,textarea,select{display:block;width:100%;min-height:46px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;font-size:1rem}
textarea{resize:vertical}
.brief-card :is(input,textarea,select){min-height:clamp(48px,4.5vw,63px);padding:12px clamp(12px,2.25vw,25px);background:var(--brief-paper);border-color:var(--brief-edge);border-radius:5px;line-height:1.45}
.brief-card .select-wrap{position:relative}
.brief-card .select-wrap::after{content:"";position:absolute;inset-inline-end:18px;inset-block-start:50%;width:9px;height:9px;border-inline-end:1.5px solid currentColor;border-block-end:1.5px solid currentColor;transform:translateY(-70%) rotate(45deg);pointer-events:none}
.brief-card select{appearance:none;padding-inline-end:44px}
.brief-card :is(input,textarea)::placeholder{color:#756f66;opacity:1}
.brief-card :is(input,textarea,select):focus{outline:2px solid #77644b;outline-offset:1px}
#brief-inline .brief-form{gap:clamp(15px,1.6vw,22px)}
#brief-inline .brief-field--task textarea{min-height:clamp(130px,12vw,174px)}
.brief-submit .button{width:100%;min-height:clamp(52px,5vw,70px);justify-content:center;text-align:center;gap:10px;border-radius:5px}
.brief-submit .button:disabled{opacity:.72;cursor:wait}
#brief-status{margin:0;font-size:var(--small);color:#8c3026;line-height:1.4}
#brief-status:empty{display:none}
.company-contacts{background:#f5edde}
.company-contacts-layout{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(22px,6vw,90px);align-items:center}
.company-contacts h2{text-wrap:initial}
.company-contacts-grid{display:grid;gap:7px;margin:clamp(15px,2.5vw,30px) 0 17px}
.company-contacts dd{font-size:clamp(1.05rem,1.6vw,1.45rem);font-weight:600;overflow-wrap:anywhere}
.company-contacts dd[data-contact="phone"]{font-variant-numeric:tabular-nums}
.telegram-contact{display:grid;width:44px;height:44px;place-items:center;border:0;background:transparent}
.telegram-contact img{display:block;width:30px;height:30px}
.telegram-contact[aria-disabled=true]{cursor:default}
.telegram-contact[href]:is(:hover,:focus-visible){opacity:.75}
.company-photo img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:7px 7px 42% 42% / 7px 7px 20% 20%}
.site-footer{background:#e9ddc2;font-size:var(--small)}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:24px}
.footer-inner small{color:var(--muted)}
dialog{width:min(620px,calc(100% - 28px));max-height:calc(100% - 28px);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:clamp(18px,4vw,38px);overscroll-behavior:contain}
#brief-dialog{position:fixed;inset:0;margin:0;width:100%;height:100%;max-width:none;max-height:none;border:0;border-radius:0;padding:12px;overflow-y:auto;overscroll-behavior:contain;background:transparent}
#brief-dialog[open]{display:flex}
.brief-modal-card{position:relative;margin:auto;width:min(650px,100%);padding:clamp(36px,6vh,65px) clamp(18px,5vw,62px) clamp(26px,5vh,55px);background:#f8f3e7}
.brief-modal-card>h2{margin:0 auto clamp(19px,4vh,38px);max-width:18ch;text-align:center;font-size:clamp(1.5rem,3.2vw,2.45rem)}
.brief-modal-card>h2:focus{outline:none}
.brief-modal-card .dialog-close{display:grid;place-items:center;top:12px;right:12px;width:42px;height:42px;padding:0;border:0;background:transparent;font-size:2rem}
.brief-modal-card .dialog-close:hover{color:#6e5637}
.brief-modal-card .brief-card{padding:0;background:transparent}
.brief-modal-card .brief-form textarea{resize:none}
.brief-card [data-brief-output]{padding-block:16px;text-align:center}
.brief-card [data-brief-output]>h2{margin:0 0 10px;font-size:clamp(1.35rem,3vw,2rem)}
.brief-card [data-brief-output]>p{margin:0 0 12px;color:var(--muted);font-size:var(--small)}
.brief-modal-card:has([data-brief-output]:not([hidden]))>h2{display:none}
@media(max-height:580px){
  #brief-dialog{padding-block:6px}
  .brief-modal-card{padding:18px clamp(15px,4vw,28px) 10px}
  .brief-modal-card>h2{margin-bottom:13px;font-size:1.35rem}
  .brief-modal-card .brief-form{gap:5px}
  .brief-modal-card .brief-form label{margin-bottom:3px}
  .brief-modal-card .brief-form :is(input,select,textarea){min-height:42px;padding-block:6px}
  .brief-modal-card .brief-submit .button{min-height:44px;padding-block:9px}
}
dialog::backdrop{background:#141111a0}
#brief-dialog::backdrop{background:#1a1817a6;backdrop-filter:blur(5px)}
dialog h2{margin:9px 25px 10px 0;font-size:clamp(1.8rem,4vw,2.5rem)}
dialog p{font-size:var(--small);color:var(--muted);margin-bottom:15px}
.dialog-close{position:absolute;top:12px;right:12px;border:1px solid var(--line);background:var(--paper);width:34px;height:34px;line-height:1}
.dialog-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:14px}
.project-dialog{position:fixed;inset:0;margin:0;width:100%;height:100%;max-width:none;max-height:none;overflow:auto;background:transparent;border:0;border-radius:0;padding:clamp(68px,9vh,92px) clamp(12px,4vw,48px) clamp(24px,5vh,52px)}
.project-dialog[open]{display:flex}
.project-window{width:min(680px,100%);margin:auto;padding:clamp(18px,4vw,38px);background:var(--surface)}
.project-dialog .dialog-close{position:fixed;z-index:1;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;font-size:1.5rem}
.project-dialog .dialog-close:is(:hover,:focus-visible){background:#ead7ab}
.project-dialog h2{margin-inline-end:0;text-wrap:initial}
.project-dialog h3{font-size:1.12rem;margin:20px 0 5px}
.project-dialog p{margin:0;font-size:var(--body);line-height:1.55}
.project-dialog-footer{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin-top:24px}
.translation-placeholder{padding-block:var(--section)}
.translation-placeholder h1{max-width:15ch;margin:14px 0}
.translation-placeholder p{margin-bottom:22px;max-width:42ch;color:var(--muted)}
.design-back{margin-left:auto;align-self:center}
.palette{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 18px;margin-bottom:35px;font-size:var(--small)}
.palette i{display:block;height:75px;border:1px solid var(--line);margin-bottom:9px}
.palette code{display:block;font-size:var(--caption);color:var(--muted)}
@media(max-width:1120px){.header-inner{gap:14px}.header-inner nav{gap:13px}.header-inner nav>a,.header-contacts{font-size:var(--caption)}}
@media(max-width:1060px){
  :root{--page:calc(100% - 44px)}
  .header-inner{min-height:66px}
  .header-inner nav{display:none;position:absolute;top:100%;inset-inline:0;margin:0;background:var(--paper);border-bottom:1px solid var(--line);padding:15px 22px 22px;max-height:calc(100dvh - 66px);overflow:auto}
  .header-inner nav.open{display:grid;gap:0}
  .header-inner nav>a{font-size:var(--body);padding:12px 0;border-bottom:1px solid var(--line)}
  .language-switch-desktop{display:none}.language-switch-mobile{display:flex;margin-top:12px}
  .header-contacts{margin-left:auto;font-size:var(--small)}
  .menu-button{display:grid;place-content:center;gap:4px;background:none;border:1px solid var(--line);width:42px;height:42px;border-radius:var(--radius);flex-shrink:0;margin-left:auto}
  .header-contacts+.language-switch+.menu-button{margin-left:0}
  .menu-button i{display:block;width:17px;height:1px;background:var(--ink)}
  .menu-open .menu-button i:first-child{transform:translateY(5px) rotate(45deg)}
  .menu-open .menu-button i:nth-child(2){opacity:0}
  .menu-open .menu-button i:last-child{transform:translateY(-5px) rotate(-45deg)}
  .image-slot--hero{min-height:370px}
}
@media(max-width:800px){
  .hero-grid{grid-template-columns:1fr;min-height:0}
  .hero-copy{padding:clamp(32px,6vw,52px) max(22px,calc((100% - 1320px) / 2))}
  .hero-copy h1{font-size:clamp(2rem,6.4vw,3.15rem)}
  .hero-illustration{aspect-ratio:5/4}
  .hero-illustration--devices{aspect-ratio:1436/1095}
}
@media(max-width:760px){
  .project-grid,.company-contacts-layout{grid-template-columns:1fr}
  .project-grid{max-width:490px;margin-inline:auto}
  .project-art{aspect-ratio:2.6}
}
@media(max-width:680px){
  :root{--page:calc(100% - 32px);--display:clamp(1.88rem,7.6vw,3.25rem)}
  .section-heading,.fit-section,.contact-layout{grid-template-columns:1fr}
  .hero-copy{padding-inline:16px}
  .hero-description{margin-top:18px}.hero-actions{margin-top:18px}
  .image-slot--hero{min-height:290px}
  .section-top{align-items:flex-start;margin-bottom:18px}.section-heading{gap:12px;margin-bottom:22px}
  .section-top .side-note{max-width:51%;text-align:right}
  .case-controls{position:static;padding:9px var(--case-gutter);background:#ead7ae;border-bottom:1px solid var(--case-divider)}
  .case-controls-copy{margin-inline-end:auto}
  .case-run.is-ready .case-title{min-height:0;padding:12px var(--case-gutter)}
  .case-panel{grid-template-columns:1fr;grid-template-rows:auto auto 1fr;background-image:none}
  .case-panel .after{border-inline-start:0;border-top:1px solid var(--case-divider);background:var(--case-gold)}
  .case-flow{inset-inline-start:50%;inset-block-start:0;transform:translate(-50%,-50%) rotate(90deg)}
  .case-bottom{align-items:flex-start;flex-direction:column}
  .palette{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:470px){
  .header-contacts{display:none}
  .header-contacts+.language-switch+.menu-button{margin-left:auto}
  .menu-phone{display:block;padding-top:12px}
  .header-inner .brand{gap:8px}
}
@media(max-width:370px){.header-inner .brand img{width:112px}.brand-slogan{font-size:.68rem}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}
