@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-latin.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
/* Shared tokens preserve the approved rendered values. Component-specific
   geometry, fluid display sizes and breakpoint thresholds remain local. */
:root {
  /* Brand, surfaces and form states. */
  --ink: #053b49;
  --petrol: #003b4b;
  --coral: #ff674f;
  --service: #c73824;
  --blue: #073fa3;
  --paper: #fff;
  --mist: #e5eef1;
  --line: #b5cbd2;
  --muted: #43616b;
  --button-ink: #002b36;
  --contact-surface: #eef3f4;
  --field-border: #809da7;
  --field-surface: #f8fafb;
  --form-border: #c1d2d8;
  --error: #a92418;
  --divider-soft: #dce6e9;
  /* Typography primitives; contextual display sizes stay with their selectors. */
  --font-body: Manrope,Arial,sans-serif;
  --font-code: ui-monospace,SFMono-Regular,Consolas,monospace;
  --text-xs: 13px;
  --text-sm: 14px;
  --text-note: 15px;
  --text-ui: 16px;
  --text-body: 17px;
  --text-lead: 18px;
  --text-title: 20px;
  --text-subtitle: 21px;
  --text-heading: 23px;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-heavy: 800;
  --tracking-display: -.04em;
  --tracking-heading: -.035em;
  --tracking-title: -.03em;
  --tracking-code: -.02em;
  --leading-heading: 1.12;
  --leading-service: 1.25;
  --leading-control: 1.3;
  --leading-compact: 1.4;
  --leading-support: 1.5;
  --leading-body: 1.55;
  --leading-field: 1.6;
  --leading-prose: 1.65;
  /* Shared spacing scale. Numeric names identify the exact CSS pixel value. */
  --space-4: 4px;
  --space-8: 8px;
  --space-12: 12px;
  --space-16: 16px;
  --space-20: 20px;
  --space-24: 24px;
  --space-28: 28px;
  --space-32: 32px;
  --space-36: 36px;
  --space-48: 48px;
  --space-64: 64px;
  --gutter: clamp(24px,4vw,64px);
  /* Controls and interaction timing. */
  --radius-action: 14px;
  --radius-field: 8px;
  --radius-panel: 16px;
  --radius-pill: 999px;
  --target-min: 44px;
  --duration-action: .18s;
  --duration-feedback: .16s;
  color-scheme: light;
  scrollbar-color: var(--ink) var(--mist);
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--space-24)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased}::selection{background:var(--coral);color:var(--ink)}a{color:inherit;text-underline-offset:.2em}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.7}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--service);outline-offset:5px}.clients :focus-visible,.easybot-section :focus-visible,.site-footer :focus-visible,.hero-rail :focus-visible{outline-color:var(--paper)}svg{display:block;flex:none}.wrap{width:min(100%,1600px);margin-inline:auto;padding-inline:var(--gutter)}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}p+p{margin-top:1rem}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:10px;left:10px;z-index:10;background:var(--ink);color:var(--paper);padding:var(--space-12) var(--space-20);transform:translateY(-150%)}.skip-link:focus{transform:none}.anchor-alias{position:absolute;top:0}.site-header{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-24)}.brand{display:inline-flex;align-items:center;gap:var(--space-16);text-decoration:none;font-size:27px;line-height:.98;font-weight:var(--weight-heavy);letter-spacing:var(--tracking-display)}.brand svg{width:48px;height:56px}.site-header nav{display:flex;align-items:center;gap:var(--space-36);font-size:var(--text-ui);font-weight:var(--weight-bold)}.site-header nav a{text-decoration:none;padding-block:var(--space-16)}.site-header nav a:hover{text-decoration:underline}.menu-toggle{display:none;background:none;border:0;color:var(--ink);align-items:center;gap:10px;padding:10px}.menu-toggle svg{width:24px;height:24px}.hero{display:grid;grid-template-columns:minmax(0,1fr) 21%;padding-right:var(--gutter)}.hero-main{padding:var(--space-8) 34px var(--space-36) 0;min-width:0}.headline{font-size:clamp(72px,9.5vw,140px);line-height:1.02;display:block;font-weight:var(--weight-heavy);letter-spacing:var(--tracking-display)}.subheadline{font-size:clamp(32px,3.8vw,60px);display:block;line-height:1.15;margin-top:var(--space-8);letter-spacing:var(--tracking-display);font-weight:var(--weight-heavy)}.hero-rail{background:var(--petrol);display:flex;align-items:center;justify-content:center;padding:var(--space-24)}.hero-cta{background:var(--coral);color:var(--button-ink);border-radius:var(--radius-action);display:flex;flex-direction:column;gap:var(--space-20);padding:26px 22px;text-decoration:none;font-size:clamp(21px,1.85vw,28px);font-weight:var(--weight-heavy);letter-spacing:var(--tracking-title);line-height:var(--leading-heading);transition:background var(--duration-action) ease-out,transform var(--duration-action) ease-out}.hero-cta svg{width:38px;height:38px}.hero-cta:hover{background:#ff8976;transform:translateY(-3px)}.services{position:relative;margin-top:var(--space-24)}.code-root,.code-end,.service-group h3,.closing{font-family:var(--font-code);font-size:var(--text-title);line-height:var(--leading-control);letter-spacing:var(--tracking-code);font-weight:var(--weight-semibold)}.syntax,.punctuation{color:var(--service)}.service-tree,.service-group ul{list-style:none;margin:0;padding:0}.service-tree{border-left:1px solid var(--line);margin:6px 0 0 27px;padding-left:var(--space-36)}.service-group{position:relative;margin-bottom:10px}.service-group:before{content:'';position:absolute;left:-36px;top:13px;width:24px;border-top:1px solid var(--coral)}.service-group h3{font-size:var(--text-title);margin-bottom:7px}.service-group ul{margin-left:var(--space-8);padding-left:var(--space-36);border-left:1px solid var(--coral)}.service{position:relative;padding:0 0 var(--space-12) 0}.service:before{content:'';position:absolute;left:-36px;top:15px;width:25px;border-top:1px solid var(--coral)}.service:last-child{padding-bottom:var(--space-4)}.service h4{font-size:clamp(19px,1.75vw,26px);color:var(--service);font-weight:var(--weight-heavy);line-height:var(--leading-service);letter-spacing:var(--tracking-title)}.service p{font-size:clamp(15px,1.25vw,18px);line-height:1.45;margin-top:3px;max-width:66ch}.comment{color:var(--muted)}.closing{display:block;margin:2px 0 0 0}.code-end{margin-top:3px}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-24);background:var(--coral);color:var(--button-ink);border:0;border-radius:var(--radius-pill);min-height:52px;padding:14px var(--space-24);text-decoration:none;font-weight:var(--weight-heavy);font-size:var(--text-ui);line-height:var(--leading-control);transition:background var(--duration-action) ease-out,transform var(--duration-action) ease-out}.button svg{width:23px;height:23px}.button:hover{background:#ff8d7a;transform:translateY(-2px)}.mobile-enquiry{display:none}.clients{background:var(--petrol);color:var(--paper);padding:26px 0 18px;overflow:hidden}.clients-heading{display:block}.clients h2{font-size:clamp(18px,2vw,27px);font-weight:var(--weight-heavy);letter-spacing:var(--tracking-code)}.ticker-window{overflow:hidden;margin-top:var(--space-20)}.ticker-track{display:flex;width:max-content}.ticker-set{display:flex;align-items:center;flex-shrink:0}.ticker-set>.client-mark{font-size:clamp(24px,2.5vw,36px);font-weight:var(--weight-bold);letter-spacing:var(--tracking-heading);white-space:nowrap;padding:5px var(--space-36);border-right:1px solid #537c88}.ticker-running .ticker-track{animation:ticker 115s linear infinite}.ticker-paused .ticker-track,.clients:hover .ticker-track,.clients:focus-within .ticker-track{animation-play-state:paused}.all-clients{margin-top:var(--space-20)}.all-clients summary{cursor:pointer;width:fit-content;min-height:var(--target-min);display:flex;align-items:center;gap:var(--space-12);font-size:var(--text-sm);color:#d5e5e9}.all-clients summary:after{content:'+';font-size:24px}.all-clients[open] summary:after{content:'−'}.all-clients ul{list-style:none;padding:var(--space-16) 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-12) var(--space-24);font-size:var(--text-note)}.history-band{background:var(--coral);padding-block:38px}.history-band h2{font-size:clamp(28px,4.5vw,68px);font-weight:var(--weight-heavy);letter-spacing:var(--tracking-display)}.easybot-section{background:var(--blue);color:var(--paper);padding-block:var(--space-48)}.easybot-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-64);align-items:center}.easybot-logo{display:inline-flex;align-items:center;gap:var(--space-16);font-weight:var(--weight-heavy);font-size:clamp(48px,6.6vw,92px);line-height:1;letter-spacing:var(--tracking-display);text-decoration:none}.easybot-logo svg{width:clamp(57px,7vw,96px);height:auto}.division{font-size:var(--text-body);margin-top:14px}.easybot-copy h2{font-size:clamp(28px,3vw,42px);letter-spacing:var(--tracking-heading)}.easybot-copy p{max-width:49ch;margin-top:var(--space-16);font-size:var(--text-body);color:#eef4ff}.easybot-copy .button{margin-top:var(--space-24)}.button.light{background:var(--paper);color:var(--blue)}.button.light:hover{background:#e3edff}.story{padding-block:76px;display:grid;grid-template-columns:1fr 1fr;gap:80px;position:relative}.story h2,.contact h2{font-size:clamp(32px,3.5vw,52px);font-weight:var(--weight-heavy)}.story-intro p{margin-top:var(--space-24);max-width:42ch;font-size:var(--text-lead)}.history-list article{padding:22px 0;border-top:1px solid var(--line)}.history-list article:first-child{padding-top:0;border-top:0}.history-list h3{font-size:var(--text-heading);font-weight:var(--weight-heavy)}.history-list p{margin-top:9px;max-width:56ch}.contact{background:var(--contact-surface);border-top:1px solid #dae6e9;padding-block:72px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-intro>p:first-of-type{max-width:38ch;margin-top:var(--space-24)}.contact-phone{display:inline-block;font-size:32px;font-weight:var(--weight-heavy);letter-spacing:var(--tracking-display);margin-top:var(--space-28);text-decoration:none}.text-link{display:inline-flex;align-items:center;gap:var(--space-12);font-weight:var(--weight-heavy)}.text-link svg{width:22px;height:22px}.contact-intro>p{font-size:var(--text-ui);overflow-wrap:anywhere}fieldset{margin:0;padding:0;border:0;min-width:0}.contact-form-panel{background:var(--paper);border:1px solid var(--form-border);border-radius:var(--radius-panel);padding:var(--space-32)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-24)}.form-field{min-width:0}.form-field label{display:block;font-size:var(--text-ui);font-weight:var(--weight-bold);line-height:var(--leading-compact);letter-spacing:-.015em;margin:0 0 10px}.project-field{margin-top:var(--space-28)}.form-field input,.form-field textarea{width:100%;display:block;border:1px solid var(--field-border);border-radius:var(--radius-field);background:var(--field-surface);color:var(--ink);padding:14px var(--space-16);font:inherit;font-size:var(--text-ui);caret-color:var(--service);transition:border-color var(--duration-feedback) ease,background var(--duration-feedback) ease}.form-field input{min-height:54px}.form-field textarea{resize:vertical;min-height:168px;line-height:var(--leading-field)}.form-field input:hover,.form-field textarea:hover{border-color:var(--ink)}.form-field input:focus,.form-field textarea:focus{background:var(--paper);border-color:var(--ink);outline:2px solid var(--ink);outline-offset:2px}.form-field [aria-invalid="true"]{border-color:var(--error)}.field-hint{font-size:var(--text-sm);line-height:var(--leading-support);color:var(--muted);margin:0 0 14px}.project-field label{margin-bottom:5px}.field-error{margin:var(--space-8) 0 0;font-size:var(--text-xs);line-height:var(--leading-support);color:var(--error)}.form-actions{display:flex;align-items:center;gap:var(--space-24);border-top:1px solid var(--divider-soft);margin-top:var(--space-28);padding-top:var(--space-24)}.submit-button{min-width:180px;flex:none;min-height:54px}.form-privacy{font-size:var(--text-xs);line-height:var(--leading-field);color:var(--muted);margin:0}.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.form-status{font-size:var(--text-note);line-height:var(--leading-support);font-weight:var(--weight-semibold);margin:22px 0 0;padding:var(--space-16);background:#edf4f5;border-radius:var(--radius-field)}.form-status:empty{display:none}.form-status[data-state="error"]{color:var(--error);background:#fff1ee}.form-status[data-state="success"]{color:var(--ink);background:var(--mist)}.form-status:focus{outline:2px solid var(--ink);outline-offset:3px}.text-button{background:none;border:0;padding:10px 0;color:var(--ink);text-decoration:underline;text-underline-offset:4px;font-weight:var(--weight-heavy)}.site-footer{background:var(--petrol);color:var(--paper);padding-block:var(--space-32)}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-24)}.site-footer .brand{font-size:var(--text-subtitle)}.site-footer .brand svg{width:32px;height:39px}.phone{text-decoration:none;font-size:var(--text-lead);font-variant-numeric:tabular-nums}.footer-bottom{display:flex;justify-content:space-between;align-items:end;gap:var(--space-28);margin-top:var(--space-32);font-size:var(--text-xs);color:#d6e4e8}.footer-bottom nav{display:flex;gap:var(--space-24)}.legal{max-width:1120px;padding-block:40px 88px}.back-link{display:inline-block;margin-bottom:40px}.legal article{max-width:76ch}.legal h1{font-size:clamp(32px,4vw,54px);margin-bottom:var(--space-28)}.legal h2{font-size:26px;margin:var(--space-36) 0 var(--space-16)}.legal p{line-height:1.75}.legal li{margin-block:var(--space-8)}.legal a{font-weight:var(--weight-bold)}
@keyframes ticker{to{transform:translateX(-50%)}}
@media(min-width:1600px){.hero{padding-right:0}.hero-main{padding-right:54px}}
@media(max-width:1100px){.hero{grid-template-columns:minmax(0,1fr) 22%}.hero-main{padding-right:var(--space-24)}.headline{font-size:9.4vw}.subheadline{font-size:3.65vw}.hero-rail{padding:var(--space-16)}.hero-cta{padding:22px 15px;font-size:var(--text-subtitle)}.service h4{font-size:var(--text-subtitle)}.service p{font-size:var(--text-ui)}.story,.contact-layout{gap:var(--space-48)}.easybot-layout{gap:40px}}
@media(max-width:760px){:root{--gutter:24px}.site-header{min-height:88px;flex-wrap:wrap;position:relative;gap:0}.brand{font-size:19px;gap:10px}.brand svg{width:33px;height:42px}.site-header nav{width:100%;gap:26px;padding:var(--space-8) 0 var(--space-20);font-size:var(--text-note)}.modal-navigation .site-header nav{display:none}.modal-navigation .menu-toggle{display:flex}.hero{display:block}.hero-main{padding:var(--space-8) 0 30px}.headline{font-size:clamp(48px,11.5vw,82px)}.subheadline{font-size:clamp(31px,7.4vw,52px);max-width:16ch;margin-top:5px}.hero-rail{display:none}.services{margin-top:var(--space-24)}.code-root,.code-end,.service-group h3,.closing{font-size:var(--text-ui)}.service-tree{margin-left:10px;padding-left:22px}.service-group:before{left:-22px;width:14px;top:10px}.service-group{margin-bottom:15px}.service-group ul{padding-left:var(--space-20);margin-left:var(--space-4)}.service:before{left:-20px;width:12px;top:12px}.service{padding-bottom:14px}.service h4{font-size:clamp(17px,4.7vw,22px);line-height:1.27;letter-spacing:var(--tracking-title)}.service p{font-size:var(--text-note);line-height:var(--leading-compact);margin-top:var(--space-4)}.mobile-enquiry{display:flex;margin-top:22px;justify-content:space-between;width:100%}.clients{padding-top:var(--space-20)}.clients h2{font-size:clamp(15px,4.35vw,18px);line-height:var(--leading-compact)}.ticker-window{margin-top:14px}.ticker-set>.client-mark{font-size:27px;padding-inline:var(--space-24)}.all-clients{margin-top:var(--space-12)}.all-clients ul{grid-template-columns:repeat(2,minmax(0,1fr));font-size:var(--text-sm);gap:14px}.history-band{padding-block:var(--space-28)}.history-band h2{font-size:32px;max-width:19ch}.easybot-section{padding-block:var(--space-32)}.easybot-layout{grid-template-columns:1fr;gap:var(--space-28)}.easybot-logo{font-size:60px;gap:var(--space-12)}.easybot-logo svg{width:65px}.division{font-size:var(--text-note);margin-top:var(--space-12)}.easybot-copy h2{font-size:28px}.easybot-copy p{font-size:var(--text-ui)}.story{padding-block:var(--space-48);grid-template-columns:1fr;gap:var(--space-32)}.story h2,.contact h2{font-size:35px}.story-intro p{font-size:var(--text-body);margin-top:18px}.history-list h3{font-size:var(--text-subtitle)}.history-list p{font-size:var(--text-ui)}.contact{padding-block:var(--space-48)}.contact-layout{grid-template-columns:1fr;gap:var(--space-36)}.contact-phone{font-size:30px}.footer-top{align-items:start}.site-footer .brand{font-size:var(--text-ui);gap:var(--space-8)}.site-footer .brand svg{width:25px;height:31px}.phone{font-size:var(--text-note);white-space:nowrap}.footer-bottom{align-items:start;flex-direction:column;gap:22px;margin-top:var(--space-28)}.footer-bottom nav{gap:26px}.legal{padding-top:var(--space-24)}.legal h1{font-size:34px}.legal h2{font-size:var(--text-heading)}.legal article{font-size:var(--text-ui)}}
@media(max-width:359px){:root{--gutter:18px}.brand{font-size:var(--text-body)}.menu-toggle span{display:none}.easybot-logo{font-size:52px;gap:10px}.easybot-logo svg{width:56px}.headline{font-size:46px}.subheadline{font-size:29px}.service h4{font-size:var(--text-ui)}.service p{font-size:var(--text-sm)}.service-tree{padding-left:18px}.service-group:before{left:-18px}.service-group ul{padding-left:var(--space-16)}.service:before{left:-16px;width:10px}.footer-top{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.ticker-window{overflow-x:auto}.ticker-track{transform:none}.ticker-set:nth-child(2){display:none}}

.js .no-script-note{display:none}.no-script-note{margin-top:var(--space-20)}

/* Compact code tree: keep the hierarchy, bring related lines together. */
.services{margin-top:var(--space-20)}.service-tree{margin-left:var(--space-20);padding-left:var(--space-28)}.service-group{margin-bottom:var(--space-4)}.service-group:before{left:-28px;width:18px;top:11px}.service-group h3{font-size:var(--text-lead);margin-bottom:var(--space-4)}.service-group ul{margin-left:6px;padding-left:26px}.service{padding-bottom:6px}.service:before{left:-26px;width:17px;top:13px}.service:last-child{padding-bottom:2px}.service h4{font-size:22px;line-height:var(--leading-service)}.service p{font-size:var(--text-ui);line-height:var(--leading-compact);margin-top:2px}.closing{font-size:var(--text-body);line-height:1.1;margin-top:0}.code-root,.code-end{font-size:var(--text-lead)}.hero-main{padding-bottom:var(--space-24)}
.ticker-set>.client-mark{height:70px;display:flex;align-items:center;justify-content:center;padding:var(--space-8) var(--space-32);flex:none}.client-mark img{width:166px;height:50px;object-fit:contain;filter:brightness(0) invert(1)}.client-rcs img{width:128px}.client-fiskars img{width:155px}.client-signature img{width:175px}
@media(min-width:1200px){.service{display:grid;grid-template-columns:310px minmax(0,1fr);column-gap:var(--space-16);align-items:baseline}.service p{margin-top:0}.service h4{font-size:var(--text-heading)}.service{padding-bottom:var(--space-8)}}
@media(max-width:760px){.services{margin-top:var(--space-20)}.service-tree{margin-left:var(--space-8);padding-left:var(--space-16)}.service-group{margin-bottom:var(--space-4)}.service-group:before{left:-16px;width:10px;top:9px}.service-group h3{font-size:var(--text-note);margin-bottom:var(--space-4)}.service-group ul{margin-left:3px;padding-left:var(--space-16)}.service:before{left:-16px;width:10px;top:11px}.service{padding-bottom:7px}.service h4{font-size:var(--text-lead)}.service p{font-size:var(--text-note);line-height:1.35;margin-top:1px}.code-root,.code-end,.closing{font-size:var(--text-note)}.closing{line-height:1.1}.mobile-enquiry{margin-top:var(--space-16)}.ticker-set>.client-mark{height:62px;padding-inline:var(--space-24)}.client-mark img{width:145px;height:44px}.client-rcs img{width:110px}.client-signature img{width:150px}}
@media(max-width:359px){.service-tree{padding-left:14px}.service-group:before{left:-14px}.service-group ul{padding-left:14px}.service:before{left:-14px;width:8px}.service h4{font-size:var(--text-ui)}.service p{font-size:var(--text-sm)}}

.client-mark{min-width:200px}.client-fiskars img{width:180px;height:66px}.client-signature img{width:180px;height:88px}.client-supersport{gap:var(--space-8)}.client-supersport img{width:44px;height:48px}.client-supersport b{font-size:var(--text-subtitle);font-weight:var(--weight-heavy);font-style:italic;letter-spacing:var(--tracking-display)}.client-takealot img{width:176px;height:34px;object-fit:cover;object-position:left;filter:grayscale(1) invert(1) brightness(2)}
@media(max-width:760px){.client-mark{min-width:180px}.client-fiskars img{width:155px;height:56px}.client-signature img{width:160px;height:78px}.client-supersport img{width:38px;height:42px}.client-supersport b{font-size:19px}.client-takealot img{width:152px;height:29px}}

/* Keep the enquiry form generous at intermediate and narrow widths. */
.contact-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:var(--space-64);align-items:start}.contact-intro h2{max-width:13ch}.contact-intro .contact-phone{margin-top:var(--space-36)}.contact-intro>p:first-of-type{font-size:var(--text-lead);max-width:32ch;line-height:var(--leading-field)}.contact-intro .text-link{margin-top:var(--space-8)}.contact-intro>p:has(a[href^="mailto:"]){margin-top:14px}
@media(min-width:761px) and (max-width:1100px){.contact-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--space-32)}.contact-form-panel{padding:var(--space-24)}.form-row{grid-template-columns:1fr;gap:var(--space-20)}.form-actions{align-items:start;flex-direction:column;gap:var(--space-16)}}
@media(max-width:760px){.contact-layout{grid-template-columns:1fr;gap:var(--space-32)}.contact-form-panel{padding:var(--space-24)}.form-row{grid-template-columns:1fr;gap:var(--space-20)}.project-field{margin-top:var(--space-24)}.form-actions{flex-direction:column;align-items:stretch;gap:var(--space-16);margin-top:var(--space-24);padding-top:var(--space-20)}.form-privacy{text-align:center}.form-privacy br{display:none}.form-privacy a{margin-left:var(--space-4)}.contact-intro>p:first-of-type{font-size:var(--text-body)}.contact-intro .contact-phone{margin-top:var(--space-24)}}
@media(max-width:359px){.contact-form-panel{padding:var(--space-20)}.form-field label{font-size:var(--text-note)}.field-hint{font-size:var(--text-xs)}}

/* Final type rhythm: compact service annotations, relaxed editorial copy. */
.story-intro h2,.contact-intro h2,.easybot-copy h2,.history-band h2{text-wrap:balance}
.story-intro p,.history-list p,.easybot-copy p,.contact-intro>p:first-of-type{text-wrap:pretty;line-height:var(--leading-prose)}
.history-list h3{letter-spacing:-.025em;line-height:1.2}
.footer-bottom{font-size:var(--text-sm)}.footer-bottom nav{flex-wrap:wrap;row-gap:var(--space-4)}.footer-bottom a{display:inline-flex;align-items:center;min-height:var(--target-min)}
.contact-phone{font-variant-numeric:tabular-nums}
@media(max-width:359px){.service p{font-size:var(--text-note)}.form-field label{font-size:var(--text-ui)}.field-hint{font-size:var(--text-sm)}}



/* Mobile navigation lives in the native modal layer; the same links serve desktop. */
.site-header nav svg{display:none}
.menu-open{overflow:hidden}.menu-open body{position:fixed;inset-inline:0;width:100%;overflow:hidden}
.mobile-menu{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;padding:0;border:0;border-radius:0;background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain}
.mobile-menu::backdrop{background:rgb(0 35 45 / .68)}
.mobile-menu-panel{min-height:100%;padding:0 max(var(--space-24),env(safe-area-inset-right)) max(var(--space-32),env(safe-area-inset-bottom)) max(var(--space-24),env(safe-area-inset-left))}.mobile-menu-heading{position:sticky;top:0;z-index:1;background:var(--paper);padding-top:max(var(--space-24),env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;gap:var(--space-16);padding-bottom:var(--space-20);border-bottom:1px solid var(--line)}
.mobile-menu-heading h2{font-size:var(--text-title);line-height:var(--leading-control);font-weight:var(--weight-bold);letter-spacing:var(--tracking-code)}
.menu-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;border:0;border-radius:50%;background:var(--mist);color:var(--ink);padding:10px}.menu-close:hover{background:#d4e3e8}
.mobile-menu nav{display:flex;flex-direction:column;gap:0;margin-top:var(--space-24)}.mobile-menu nav a{display:flex;align-items:center;justify-content:space-between;gap:var(--space-20);padding:var(--space-24) 0;color:var(--ink);text-decoration:none;font-size:40px;font-weight:var(--weight-heavy);line-height:1.2;letter-spacing:var(--tracking-heading);border-bottom:1px solid var(--divider-soft)}.mobile-menu nav a:last-child{border-bottom:0}.mobile-menu nav a:hover{color:var(--service)}.mobile-menu nav svg{display:block;width:24px;height:24px;color:var(--service)}
.mobile-menu a:focus-visible,.menu-close:focus-visible{outline:2px solid var(--service);outline-offset:4px}
#mobile-menu-offers{margin-top:var(--space-24)}.menu-offer{padding:var(--space-24);background:var(--mist);border-radius:12px}.menu-offer h3{font-size:var(--text-heading);line-height:1.2;font-weight:var(--weight-heavy);overflow-wrap:anywhere}.menu-offer p{margin-top:var(--space-12);font-size:var(--text-ui);line-height:var(--leading-field);overflow-wrap:anywhere}.menu-offer .text-link{margin-top:var(--space-20);min-height:var(--target-min);font-size:var(--text-ui);line-height:var(--leading-compact)}.menu-offer .text-link svg{width:22px;height:22px}
@media(max-width:359px){.mobile-menu-panel{padding:0 var(--space-20) var(--space-20)}.mobile-menu-heading{padding-top:var(--space-20)}.mobile-menu nav a{font-size:34px}.menu-offer{padding:var(--space-20)}}
@media(prefers-reduced-motion:no-preference){.mobile-menu[open]{animation:menu-appear var(--duration-feedback) ease-out}.mobile-menu[open]::backdrop{animation:menu-backdrop var(--duration-feedback) ease-out}@keyframes menu-appear{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes menu-backdrop{from{opacity:0}to{opacity:1}}}

@media(max-height:500px){.mobile-menu-heading{padding-top:var(--space-16);padding-bottom:var(--space-12)}.mobile-menu nav{margin-top:var(--space-12)}.mobile-menu nav a{font-size:28px;padding-block:18px}}
/* Explicit positioning keeps moved content painted inside the native dialog. */
.mobile-menu-links,#mobile-menu-offers{position:relative}

/* Recovery route and comfortable standalone contact targets. */
.not-found{padding-block:clamp(56px,10vw,120px);min-height:60vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.not-found h1{font-size:clamp(40px,6vw,80px);max-width:14ch}.not-found>p{font-size:var(--text-lead);line-height:var(--leading-prose);max-width:48ch;margin-top:var(--space-24)}.not-found-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-20) var(--space-32);margin-top:var(--space-32)}.not-found-actions .text-link{min-height:var(--target-min)}
.footer-top .phone,.contact-intro a[href^="mailto:"]{display:inline-flex;align-items:center;min-height:var(--target-min)}.contact-intro>p:has(a[href^="mailto:"]){margin-top:var(--space-4)}
