/* INTECH / Independent digital. One system for home, service, pricing and policy pages. */
:root {
  --agency-bg: #101114;
  --agency-panel: #191b1e;
  --agency-ink: #f2f1eb;
  --agency-muted: #a8aaa9;
  --agency-accent: #b9f5df;
  --agency-paper: #eaeae3;
  --agency-dark: #181b1c;
  --agency-line: rgba(232,238,233,.16);
  --agency-heading: 'Space Grotesk', Inter, sans-serif;
  --agency-body: Inter, system-ui, sans-serif;
  --agency-ease: cubic-bezier(.22,1,.36,1);
}
.agency-site { --primary:var(--agency-accent); --text:var(--agency-ink); --muted:var(--agency-muted); --hair:var(--agency-line); --radius-lg:12px; background:var(--agency-bg); color:var(--agency-ink); font-family:var(--agency-body); overflow-x:clip; }
.agency-site *, .agency-site *::before, .agency-site *::after { box-sizing:border-box; }
.agency-site::before,.agency-site::after { display:none; }
.agency-site ::selection { background:var(--agency-accent); color:var(--agency-dark); }
.agency-site .container { width:100%; max-width:1440px; padding-inline:clamp(24px,5.3vw,88px); margin-inline:auto; }
.agency-site h1,.agency-site h2,.agency-site h3 { font-family:var(--agency-heading); font-weight:500; }
.agency-site em { font-style:normal; color:var(--agency-accent); }
.agency-site a,.agency-site button, .agency-site summary { touch-action:manipulation; }
.agency-site a:focus-visible,.agency-site button:focus-visible,.agency-site summary:focus-visible { outline:2px solid currentColor; outline-offset:6px; }
.agency-site .btn { display:inline-flex; align-items:center; justify-content:center; gap:24px; border-radius:100px; font-size:.82rem; font-weight:500; line-height:1.4; padding:15px 24px; min-height:50px; white-space:normal; transition:background .25s,color .25s,border-color .25s,transform .3s var(--agency-ease); box-shadow:none; }
.agency-site .btn-primary { color:var(--agency-dark); background:var(--agency-accent); border:1px solid var(--agency-accent); }
.agency-site .btn-primary:hover { background:var(--agency-ink); border-color:var(--agency-ink); color:var(--agency-dark); box-shadow:none; }
.agency-site .btn-outline { border:1px solid var(--agency-line); color:var(--agency-ink); background:transparent; }
.agency-site .btn-outline:hover { border-color:var(--agency-ink); background:rgba(255,255,255,.05); }
.agency-site .button-arrow { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--agency-dark); color:var(--agency-accent); transition:transform .3s var(--agency-ease); font-size:18px; }
.agency-site .btn:hover .button-arrow { transform:rotate(45deg); }
.agency-site .text-link { color:inherit; display:inline-flex; gap:30px; align-items:center; font-size:.85rem; border-bottom:1px solid currentColor; padding-bottom:10px; }
.agency-site .scroll-progress { height:2px; z-index:110; background:transparent; }
.agency-site .scroll-progress span { background:var(--agency-accent); }
.agency-site .will-reveal { opacity:1; transform:none; }

/* Navigation floats into a tighter shell on scroll; links never disappear. */
.agency-site header { position:fixed; inset:14px 0 auto; z-index:100; height:76px; width:calc(100% - 48px); max-width:1392px; margin:0 auto; border:1px solid transparent; background:transparent; backdrop-filter:none; border-radius:14px; transition:background .3s,border-color .3s,box-shadow .3s; }
.agency-site header.is-scrolled,.agency-site.menu-open header { background:rgba(23,25,27,.96); backdrop-filter:blur(16px); border-color:var(--agency-line); box-shadow:0 8px 32px #0002; }
.agency-site header>.container { padding-inline:clamp(12px,3.5vw,50px); }
.agency-site header .nav { display:flex; min-height:74px; padding:0; gap:24px; align-items:center; }
.agency-site .brand-word { display:inline-flex; align-items:flex-start; color:var(--agency-ink); font-family:var(--agency-heading); font-size:34px; line-height:1; font-weight:600; letter-spacing:-.08em; white-space:nowrap; }
.agency-site .nav>a:first-child { display:flex; width:auto; height:auto; max-width:none; margin:0; }
.agency-site .nav #primary-navigation { margin-left:auto; }
.agency-site .nav #primary-navigation ul { display:flex; align-items:center; gap:clamp(18px,2.3vw,35px); font-size:.75rem; list-style:none; }
.agency-site .nav #primary-navigation a { color:#dedfdb; position:relative; padding-block:10px; }
.agency-site .nav #primary-navigation a::after { content:''; position:absolute; left:0; bottom:3px; width:100%; height:1px; background:var(--agency-accent); transform:scaleX(0); transform-origin:left; transition:transform .3s var(--agency-ease); }
.agency-site .nav #primary-navigation a:hover::after,.agency-site .nav #primary-navigation a[aria-current=location]::after { transform:scaleX(1); }
.agency-site .nav-cta { margin:0; }
.agency-site .nav-cta .btn { min-height:42px; padding:10px 18px; font-size:.72rem; }
.agency-site .lang-switch { display:flex; gap:0; padding:3px; background:rgba(255,255,255,.035); border:1px solid var(--agency-line); border-radius:100px; position:static; transform:none; }
.agency-site .lang-switch a,.agency-site .lang-switch button { display:inline-flex; align-items:center; justify-content:center; min-width:34px; min-height:34px; padding:4px 7px; color:var(--agency-muted); font-size:.62rem; border:0; border-radius:50px; background:transparent; }
.agency-site .lang-switch [aria-current=page],.agency-site .lang-switch .is-active { color:var(--agency-ink); background:#ffffff18; }

/* A composed, responsive hero. Art is CSS geometry, not a video or WebGL download. */
.agency-site.home-page .agency-hero { display:block!important; position:relative; min-height:0; height:auto; overflow:hidden; padding:160px 0 0!important; background:radial-gradient(ellipse at 87% 31%,#2b3a3528,transparent 47%),var(--agency-bg); }
.agency-hero::before { content:''; pointer-events:none; position:absolute; inset:0; opacity:.2; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.19' filter='url(%23n)'/%3E%3C/svg%3E"); }
.agency-site .agency-hero>.container { position:relative; display:block; min-height:0; width:100%; }
.agency-site .hero-copy>* { animation:none; opacity:1; transform:none; }
.hero-meta { display:flex; align-items:center; justify-content:space-between; gap:24px; font-size:.65rem; color:var(--agency-muted); letter-spacing:.04em; }
.studio-status { display:inline-flex; align-items:center; gap:10px; }
.studio-status i { width:6px; height:6px; border-radius:50%; background:var(--agency-accent); box-shadow:0 0 12px #b9f5df55; }
.hero-composition { position:relative; display:grid; grid-template-columns:1.25fr .75fr; align-items:center; gap:24px; min-height:560px; padding-block:55px 40px; }
.hero-copy { z-index:2; position:relative; }
.agency-site .hero-copy h1 { font-size:clamp(58px,7.5vw,112px); line-height:.98; letter-spacing:-.075em; max-width:10.8em; margin:0; text-wrap:balance; font-weight:500; }
.agency-site .hero-copy h1 em { font-weight:400; }
.hero-description { color:var(--agency-muted); font-size:.92rem; line-height:1.85; max-width:380px; margin:32px 0 26px; }
.agency-site .hero-project-cta { padding:10px 12px 10px 23px; }
.hero-sculpture { height:440px; position:relative; min-width:0; perspective:900px; }
.sculpture-coordinate { position:absolute; left:2%; top:0; font-family:monospace; color:#74877e; font-size:9px; line-height:1.8; letter-spacing:.08em; }
.orbital-object { position:absolute; width:370px; height:370px; left:50%; top:49%; transform:translate(-50%,-50%) rotate(-20deg); transform-style:preserve-3d; }
.orbit-ring { position:absolute; inset:0; border:13px solid #a7bfb4; border-radius:50%; box-shadow:inset 0 1px 4px #f3fff7,inset 0 -7px 12px #132721,0 3px 0 #d2f9e6,0 12px 28px #0009; background:transparent; }
.orbit-ring--one { transform:rotateY(64deg) rotateX(12deg); border-color:#b9e6d3; }
.orbit-ring--two { transform:rotateY(-48deg) rotateX(54deg) rotateZ(10deg); border-color:#779f90; }
.orbit-ring--three { transform:rotateY(0deg) rotateX(70deg) rotateZ(28deg); border-width:18px; border-color:#a1cdb9; }
.orbit-ring--four { inset:48px; transform:rotateY(44deg) rotateX(-39deg); border-width:7px; border-color:#506d60; }
.orbital-core { position:absolute; inset:101px; border-radius:35%; display:grid; place-items:center; color:#182d23; font-size:68px; font-family:var(--agency-heading); font-weight:600; letter-spacing:-.13em; background:linear-gradient(140deg,#f0fff3,#b9f5df 35%,#496c5a 85%); box-shadow:inset 5px 5px 22px #effff9a0,inset -7px -7px 20px #13282080,15px 28px 55px #0007; transform:rotateZ(20deg) rotateY(-12deg); }
.orbital-core>span { transform:translateX(-5px); }
.orbit-point { position:absolute; width:22px; height:22px; background:radial-gradient(circle at 30% 30%,#e3ffee,#a9d9bf 40%,#345d4b); border-radius:50%; top:32px; right:52px; box-shadow:0 0 25px #b9f5df33; }
.sculpture-shadow { position:absolute; left:12%; right:8%; height:35px; bottom:24px; border-radius:50%; background:#0008; filter:blur(16px); }
.sculpture-caption { display:flex; justify-content:space-between; gap:12px; position:absolute; bottom:0; width:100%; font-size:8px; color:#7f958a; font-family:monospace; letter-spacing:.1em; }
.hero-bottom { display:flex; align-items:center; justify-content:space-between; gap:24px; border-top:1px solid var(--agency-line); padding-block:22px 36px; color:var(--agency-muted); font-size:.65rem; }
.scroll-link { display:inline-flex; align-items:center; gap:12px; color:var(--agency-ink); }
.round-arrow { display:grid; place-items:center; width:32px; height:32px; border:1px solid var(--agency-line); border-radius:50%; font-size:16px; }
.motion-toggle { display:inline-flex; align-items:center; gap:9px; border:0; background:none; color:inherit; cursor:pointer; min-height:44px; padding:0 5px; font-size:.65rem; }
.hero-reel { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; padding:10px 3% 44px; perspective:1200px; }
.reel-shot { min-width:0; padding:8px; border:1px solid #ffffff18; border-radius:8px; background:#23282b; transform:rotate(-4deg); box-shadow:0 20px 45px #0005; }
.reel-shot:nth-child(2) { transform:translateY(25px) rotate(2deg); z-index:1; }
.reel-shot:nth-child(3) { transform:rotate(5deg); }
.reel-shot img { width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; object-position:top; border-radius:3px; }
.reel-shot>span { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 4px 4px; color:#eee; font-size:.65rem; }
.reel-shot i { font-size:8px; font-style:normal; color:#9ca9a4; }
.client-strip { padding:54px 0; border-top:1px solid var(--agency-line); }
.client-strip p { text-align:center; color:var(--agency-muted); font-size:.66rem; margin-bottom:30px; }
.client-names { display:flex; align-items:center; justify-content:space-between; gap:24px; font-family:var(--agency-heading); color:#c8ccc6; font-size:clamp(15px,1.6vw,24px); letter-spacing:-.04em; }
.client-names>span { display:flex; align-items:center; gap:clamp(16px,3vw,48px); white-space:nowrap; }
.client-spark { font-size:18px; color:#65776e; }

/* Section rhythm and editorial hierarchy. */
.agency-site.home-page .section { padding-block:110px; }
.agency-site.home-page .section-header { margin:0 0 48px; display:grid; grid-template-columns:1.25fr .75fr; gap:24px 60px; text-align:left; max-width:none; align-items:end; }
.agency-site.home-page .section-kicker { display:flex; align-items:center; gap:12px; grid-column:1/-1; font-size:.65rem; font-weight:400; text-transform:uppercase; letter-spacing:.12em; color:var(--agency-muted); margin:0; }
.agency-site.home-page .section-kicker::before { content:''; display:block; width:6px; height:6px; border-radius:0; background:var(--agency-accent); }
.agency-site.home-page .section-title { font-size:clamp(38px,5vw,72px); line-height:1.04; letter-spacing:-.065em; font-weight:500; max-width:none; margin:0; text-wrap:balance; }
.agency-site.home-page .section-subtitle { color:var(--agency-muted); max-width:410px; margin:0 0 3px; font-size:.86rem; line-height:1.85; }
.agency-site.home-page .section-header .section-title,.agency-site.home-page .section-header .section-subtitle { margin-inline:0; }

/* Real work, with usable category filters and large screenshot canvases. */
.agency-site.home-page #portfolio { background:var(--agency-paper); color:var(--agency-dark); border-radius:28px 28px 0 0; }
.agency-site.home-page #portfolio .section-kicker,.agency-site.home-page #portfolio .section-subtitle { color:#565d59; }
.agency-site.home-page #portfolio em { color:#487a65; }
.agency-site.home-page #portfolio .section-kicker::before { background:#487a65; }
.work-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-bottom:28px; }
.work-filters { display:flex; flex-wrap:wrap; gap:6px; }
.work-filters button { min-height:42px; padding:10px 18px; border-radius:40px; border:1px solid #c5cbc3; background:transparent; color:var(--agency-dark); font-size:.7rem; cursor:pointer; transition:background .2s,color .2s; }
.work-filters button[aria-pressed=true] { background:var(--agency-dark); border-color:var(--agency-dark); color:var(--agency-paper); }
.work-count { font-size:.65rem; color:#565d59; white-space:nowrap; }
.work-more { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:42px; padding-top:24px; border-top:1px solid #bdc5bb; }
.work-more p { font-size:.72rem; color:#59665b; }
.agency-site .work-more .btn { color:var(--agency-dark); border-color:#8a9a8e; background:transparent; font-size:.72rem; }
.agency-site .work-more .btn:hover { color:var(--agency-paper); background:var(--agency-dark); border-color:var(--agency-dark); }
.agency-site.home-page .portfolio-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:44px 28px; }
.agency-site.home-page .portfolio-card,.agency-site.home-page .portfolio-card:first-child { display:flex; flex-direction:column; gap:0; grid-column:auto; margin:0; padding:0; border:0; border-radius:0; background:none; box-shadow:none; min-width:0; transform:none; }
.agency-site.home-page .portfolio-card:hover { transform:none; }
.agency-site.home-page .portfolio-card:nth-child(n+5) .portfolio-image { aspect-ratio:16/9; }
.agency-site.home-page .portfolio-image,.agency-site.home-page .portfolio-card:first-child .portfolio-image { position:relative; isolation:isolate; display:block; grid-row:auto; width:100%; height:auto; aspect-ratio:1.45; overflow:hidden; padding:clamp(18px,2.8vw,44px); border:1px solid #cbd0c8; border-radius:8px; background:#d9dfd5; }
.agency-site.home-page .portfolio-card:nth-child(4n+2) .portfolio-image { background:#d2d9dd; }
.agency-site.home-page .portfolio-card:nth-child(4n+3) .portfolio-image { background:#dcd3c5; }
.agency-site.home-page .portfolio-card:nth-child(4n+4) .portfolio-image { background:#d3d3ce; }
.agency-site.home-page .portfolio-image img { width:100%; height:100%; display:block; object-fit:cover; object-position:top; border-radius:4px; box-shadow:0 12px 25px #10202020; transition:transform .7s var(--agency-ease); }
.agency-site.home-page .project-open { position:absolute; right:16px; bottom:16px; width:36px; height:36px; border-radius:50%; display:grid; place-items:center; color:var(--agency-dark); background:var(--agency-paper); font-size:18px; transition:transform .3s var(--agency-ease); }
.agency-site.home-page .portfolio-card:focus-within .project-open { transform:rotate(45deg); }
.agency-site.home-page .portfolio-title,.agency-site.home-page .portfolio-card:first-child .portfolio-title { font-size:clamp(22px,2.5vw,32px); margin:22px 0 10px; letter-spacing:-.05em; color:var(--agency-dark); font-weight:500; }
.agency-site.home-page .portfolio-body { color:#555d58; max-width:58ch; margin:0 0 16px; font-size:.78rem; line-height:1.8; }
.agency-site.home-page .portfolio-card:first-child .portfolio-title,.agency-site.home-page .portfolio-card:first-child .portfolio-body { align-self:stretch; text-align:left; }
.agency-site.home-page .portfolio-actions,.agency-site.home-page .portfolio-card:first-child .portfolio-actions { margin-top:auto; padding-top:0; display:flex; flex-wrap:wrap; gap:8px 18px; align-items:center; grid-column:auto; }
.agency-site.home-page .portfolio-actions .portfolio-link,.agency-site.home-page .portfolio-card:first-child .portfolio-actions .portfolio-link { display:inline-flex; align-items:center; min-height:40px; padding:0; margin:0; color:var(--agency-dark); font-size:.68rem; font-weight:500; border:0; border-bottom:1px solid #89968c; border-radius:0; background:none; }
.agency-site.home-page .portfolio-actions .project-service-link { color:#58655c; font-size:.65rem; border:0; }

/* Services: one system of diagrams, typography, and purposeful state changes. */
.agency-site.home-page #services { background:var(--agency-bg); }
.agency-site.home-page #services .living-systems { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.agency-site.home-page #services .living-card { border:1px solid var(--agency-line); background:var(--agency-panel); border-radius:12px; padding:28px 32px; transition:background .3s,border-color .3s; }
.agency-site.home-page #services .living-card::before { color:#7b9186; left:32px; top:28px; font-size:10px; }
.agency-site.home-page #services .living-card::after { display:none; }
.agency-site.home-page #services .living-card:hover,.agency-site.home-page #services .living-card:focus-within,.agency-site.home-page #services .living-card.is-demo-active { background:#1c2320; border-color:#b9f5df66; box-shadow:none; }
.agency-site.home-page #services .living-card .service-title { font-size:clamp(23px,2.5vw,34px); line-height:1.15; color:var(--agency-ink); letter-spacing:-.045em; margin:24px 0 14px; font-weight:500; }
.agency-site.home-page #services .living-card .service-body { color:var(--agency-muted); font-size:.8rem; line-height:1.85; }
.agency-site.home-page #services .living-card .service-tag { color:#b4ccc0; background:none; border:1px solid #536258; border-radius:30px; font-size:.58rem; font-weight:400; text-transform:none; letter-spacing:0; }
.agency-site .system-demo { color:var(--agency-accent); height:225px; border-color:var(--agency-line); background:radial-gradient(ellipse,#b9f5df06,transparent 70%); }
.agency-site .living-card.is-demo-active .system-demo { background:radial-gradient(ellipse,#b9f5df14,transparent 70%); }
.agency-site .system-browser,.agency-site .system-update-line,.agency-site .system-product,.agency-site .system-receipt,.agency-site .system-node { background:#1b2723; border-color:#455d51; }
.agency-site .system-web-art,.agency-site .system-product>span { background:#284336; border-color:#527a66; }
.agency-site .system-web-tile { background:#29382f; border-color:#4d5e53; }
.agency-site .system-web-copy em,.agency-site .system-progress span,.agency-site .system-product b { background:var(--agency-accent); }
.agency-site .system-hub { background:#283f31; border-color:var(--agency-accent); color:var(--agency-accent); box-shadow:none; }
.agency-site .system-network svg { stroke:#628671; }
.agency-site .system-toggle { color:#a6b9ad; font-weight:400; font-size:.68rem; padding-block:13px; }
.agency-site .system-toggle:hover,.agency-site .system-toggle[aria-pressed=true] { color:var(--agency-accent); }
.agency-site.home-page #services .living-card .service-detail-link { color:var(--agency-accent); font-weight:400; font-size:.72rem; min-height:44px; }

/* The studio: warm paper, a graphic emblem and a direct explanation. */
.agency-site.home-page .studio-section { background:var(--agency-paper); color:var(--agency-dark); }
.agency-site.home-page .studio-section .why-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:56px 80px; }
.agency-site.home-page .studio-section .section-header { display:block; position:static; grid-row:1; grid-column:1; margin:0; }
.agency-site.home-page .studio-section .section-kicker { color:#5a635b; margin-bottom:32px; }
.agency-site.home-page .studio-section .section-kicker::before { background:#50735e; }
.agency-site.home-page .studio-section .section-title em { color:#487a65; }
.agency-site.home-page .studio-section .section-subtitle { color:#545e55; margin:30px 0; max-width:52ch; }
.agency-site .studio-link { color:var(--agency-dark); font-size:.78rem; }
.studio-emblem { grid-column:2; grid-row:1; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:330px; position:relative; }
.studio-emblem::before { content:''; position:absolute; width:280px; height:280px; border:1px solid #c3cec0; border-radius:50%; }
.studio-emblem>span { display:block; color:#345c46; font-size:270px; line-height:1; transform:rotate(-15deg); }
.studio-emblem>small { position:absolute; bottom:0; font-family:monospace; color:#59695c; font-size:9px; letter-spacing:.15em; }
.agency-site.home-page .studio-section .principles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; grid-column:1/-1; margin-top:28px; }
.agency-site.home-page .studio-section .principle { display:block; border:0; border-top:1px solid #bdc5bb; padding-top:24px; padding-bottom:0; }
.agency-site.home-page .principle>span { display:block; font-family:monospace; color:#466850; margin-bottom:28px; font-size:11px; }
.agency-site.home-page .principle h3 { font-weight:500; color:var(--agency-dark); font-size:22px; letter-spacing:-.04em; margin-bottom:12px; }
.agency-site.home-page .principle p { color:#555e55; font-size:.78rem; line-height:1.8; }
.studio-facts { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; border-top:1px solid #bdc5bb; padding-top:32px; }
.studio-facts>div { display:flex; flex-direction:column; gap:6px; }
.studio-facts strong,.studio-facts strong[data-i18n] { font-family:var(--agency-heading); font-size:clamp(28px,4vw,52px); letter-spacing:-.05em; color:var(--agency-dark); line-height:1.1; font-weight:400; }
.studio-facts span { color:#566359; font-size:.68rem; }

/* Native process disclosures work with a keyboard and without JavaScript. */
.agency-site.home-page #process .section-header { max-width:none; }
.agency-site.home-page .process-grid { display:block; border-top:1px solid var(--agency-line); }
.agency-site.home-page .process-step,.agency-site.home-page .process-step:last-child { padding:0; margin:0; min-height:0; border:0!important; border-bottom:1px solid var(--agency-line)!important; border-radius:0; background:none; }
.agency-site.home-page .process-step summary { display:grid; grid-template-columns:80px 1fr 32px; align-items:center; gap:24px; padding:30px 0; list-style:none; cursor:pointer; }
.agency-site summary::-webkit-details-marker { display:none; }
.agency-site.home-page .process-step summary>span:first-child { font-family:monospace; color:#84978a; font-size:11px; }
.agency-site.home-page .process-step h3 { font-size:clamp(24px,3vw,42px); letter-spacing:-.05em; line-height:1.15; margin:0; color:var(--agency-ink); font-weight:400; }
.process-plus { font-family:var(--agency-body); font-size:26px; line-height:1; color:var(--agency-accent); text-align:center; transition:transform .3s var(--agency-ease); }
.process-step[open] .process-plus { transform:rotate(45deg); }
.agency-site.home-page .process-step p { margin:0 56px 30px 104px; max-width:60ch; font-size:.86rem; color:var(--agency-muted); line-height:1.9; }

/* Scope-based pricing: no invented figures, no decorative billing toggle. */
.agency-site.home-page #pricing { border:0; background:#151719; }
.agency-site .pricing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding-top:8px; }
.agency-site .pricing-card { display:flex; flex-direction:column; position:relative; padding:32px; margin:0; border:1px solid var(--agency-line); border-radius:12px; background:#1c1e21; box-shadow:none; transform:none; }
.agency-site .pricing-card--popular { background:var(--agency-accent); color:var(--agency-dark); border-color:var(--agency-accent); }
.agency-site .pricing-card .pricing-plan { font-family:monospace; font-weight:400; font-size:10px; letter-spacing:.12em; color:var(--agency-muted); margin-bottom:30px; }
.agency-site .pricing-card h3 { font-size:clamp(22px,2.4vw,30px); font-weight:500; letter-spacing:-.05em; margin-bottom:12px; line-height:1.1; color:inherit; }
.agency-site .pricing-card .pricing-description { font-size:.75rem; line-height:1.8; color:var(--agency-muted); min-height:3.6em; margin-bottom:22px; }
.agency-site .pricing-card .price-amount { font-family:var(--agency-heading); font-size:1.05rem; font-weight:500; letter-spacing:-.03em; line-height:1.3; color:inherit; margin-bottom:24px; }
.agency-site .pricing-card .pricing-features { border-top:1px solid var(--agency-line); padding:24px 0; margin:0 0 16px; list-style:none; font-size:.72rem; color:var(--agency-muted); line-height:1.75; flex:1; }
.agency-site .pricing-features li { position:relative; margin:0 0 12px; padding:0 0 0 22px; }
.agency-site .pricing-features li::before { content:'↗'; position:absolute; left:0; color:var(--agency-accent); background:none; font-size:13px; }
.agency-site .pricing-card--popular .pricing-plan,.agency-site .pricing-card--popular .pricing-description,.agency-site .pricing-card--popular .pricing-features,.agency-site .pricing-card--popular .pricing-features li::before { color:#324c3d; }
.agency-site .pricing-card--popular .pricing-features { border-color:#243a3226; }
.agency-site .pricing-badge { position:absolute; top:26px; right:22px; left:auto; width:max-content; border:1px solid #233d3430; border-radius:50px; background:none; color:#284434; padding:5px 9px; font-size:8px; font-weight:500; }
.agency-site .pricing-card .btn { width:100%; min-height:48px; font-size:.75rem; padding:12px; }
.agency-site .pricing-card--popular .btn { color:var(--agency-ink); background:var(--agency-dark); border-color:var(--agency-dark); }
.agency-site .pricing-card--popular .btn:hover { background:#365343; border-color:#365343; }
.agency-site .pricing-conditions { margin:28px 0 0; padding:24px 0 0; background:none; border:0; border-top:1px solid var(--agency-line); border-radius:0; }
.agency-site .pricing-conditions h3 { font-size:.8rem; font-weight:500; margin:0 0 12px; color:var(--agency-ink); }
.agency-site .pricing-conditions p { max-width:100ch; font-size:.7rem; line-height:1.9; color:var(--agency-muted); }
.agency-site .pricing-page-link { margin-top:24px; font-size:.75rem; color:var(--agency-accent); }
.agency-site.home-page #additional-pricing { background:#151719; padding-top:0; }
.agency-site.home-page #additional-pricing .section-title { font-size:clamp(28px,3.4vw,44px); }
.agency-site.home-page #additional-pricing .services-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.agency-site.home-page #additional-pricing .service-card { padding:24px; border:1px solid var(--agency-line); border-radius:10px; background:transparent; }
.agency-site.home-page #additional-pricing .service-card::before,.agency-site.home-page #additional-pricing .service-card::after { display:none; }
.agency-site.home-page #additional-pricing .service-title { font-size:24px; line-height:1.2; letter-spacing:-.04em; font-weight:500; }
.agency-site.home-page #additional-pricing .service-body { font-size:.75rem; color:var(--agency-muted); line-height:1.8; }
.agency-site.home-page #additional-pricing ul.service-body { padding-left:17px; margin-block:20px; }
.agency-site.home-page #additional-pricing .service-tag { font-size:.6rem; font-weight:400; background:none; color:var(--agency-muted); padding:0; border:0; }
.agency-site.home-page #additional-pricing .price-amount { font-family:var(--agency-heading); font-size:1rem; font-weight:400; margin:16px 0; }
.agency-site.home-page #additional-pricing .pricing-enquiry { display:inline-flex; min-height:44px; align-items:center; font-size:.7rem; margin-top:16px; }

/* Service directory and useful FAQ are part of the page, not an SEO afterthought. */
.agency-site.home-page .service-directory { padding-block:64px; border-bottom:1px solid var(--agency-line); }
.agency-site.home-page .service-directory h2 { font-size:28px; margin:0 0 16px; letter-spacing:-.04em; }
.agency-site.home-page .service-directory p { color:var(--agency-muted); font-size:.8rem; }
.agency-site.home-page .seo-link-grid { list-style:none; padding:0; margin:28px 0 0; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border-top:1px solid var(--agency-line); }
.agency-site.home-page .seo-link-grid li { padding:16px 10px 16px 0; border-bottom:1px solid var(--agency-line); }
.agency-site.home-page .seo-link-grid a { color:var(--agency-ink); font-size:.75rem; }
.agency-site.home-page .buying-guide { padding-block:100px; display:grid; grid-template-columns:.85fr 1.15fr; gap:0 80px; }
.agency-site.home-page .buying-guide>h2 { grid-column:1; grid-row:1 / span 5; margin:0; max-width:10ch; font-size:clamp(32px,4vw,56px); line-height:1.06; letter-spacing:-.06em; }
.agency-site.home-page .buying-guide details { grid-column:2; border:0; border-bottom:1px solid var(--agency-line); padding:0; }
.agency-site.home-page .buying-guide summary { padding:23px 28px 23px 0; font-size:.85rem; font-weight:400; position:relative; list-style:none; }
.agency-site.home-page .buying-guide summary::after { content:'+'; position:absolute; right:0; top:17px; font-size:23px; color:var(--agency-accent); transition:transform .2s; }
.agency-site.home-page .buying-guide details[open] summary::after { transform:rotate(45deg); }
.agency-site.home-page .buying-guide details p { margin:0 0 24px; color:var(--agency-muted); font-size:.78rem; line-height:1.9; }
.agency-site.home-page .buying-guide>p { grid-column:2; margin-top:30px; }

/* A large, warm close with the existing enquiry and callback flows. */
.agency-contact { padding-block:110px; background:var(--agency-accent); color:var(--agency-dark); position:relative; overflow:hidden; }
.agency-site .agency-contact .cta-box { display:grid; grid-template-columns:1.2fr .8fr; align-items:end; gap:28px 70px; border:0; border-radius:0; padding:0; background:none; box-shadow:none; overflow:visible; }
.agency-site .agency-contact .cta-box::before { display:none; }
.contact-eyebrow { grid-column:1/-1; font-size:.65rem; color:#3a5a46; padding-bottom:15px; }
.agency-site .agency-contact .cta-text-main { color:var(--agency-dark); font-size:clamp(58px,8.5vw,120px); line-height:.95; letter-spacing:-.075em; font-weight:500; max-width:10ch; margin:0 0 30px; }
.agency-contact .cta-text-main em { color:#486e59; }
.agency-site .agency-contact .cta-text-sub { color:#3c5b47; font-size:.86rem; line-height:1.85; max-width:43ch; margin:0; }
.agency-site .agency-contact .cta-actions { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.agency-site .agency-contact .btn-primary { background:var(--agency-dark); color:var(--agency-ink); border-color:var(--agency-dark); min-width:220px; }
.agency-site .agency-contact .btn-outline { border-color:#36534277; color:var(--agency-dark); min-width:220px; }
.agency-site .agency-contact .btn:hover { background:#42634e; color:white; border-color:#42634e; }
.agency-site .agency-contact .cta-social { display:flex; gap:8px; margin:8px 0; }
.agency-site .agency-contact .social-link { background:none; color:#365342; border:1px solid #36534255; width:38px; height:38px; display:grid; place-items:center; border-radius:50%; }
.contact-email { display:flex; gap:30px; align-items:center; color:var(--agency-dark); font-family:var(--agency-heading); font-size:clamp(18px,2.2vw,28px); letter-spacing:-.04em; padding-top:12px; border-bottom:1px solid #36534266; padding-bottom:8px; }
.contact-response { color:#3c5b47; font-size:.65rem; margin:0; }
.agency-site footer { background:var(--agency-bg); color:var(--agency-muted); border:0; overflow:hidden; padding:40px 0 0; }
.agency-site footer>.container { container-type:inline-size; }
.footer-top { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; padding-bottom:32px; }
.footer-brand { display:flex; flex-direction:column; align-items:flex-start; gap:14px; min-width:0; }
.footer-brand p { margin:0; font-size:.85rem; line-height:1.6; max-width:36ch; }
.back-top { display:inline-flex; align-items:center; gap:20px; min-height:44px; color:var(--agency-ink); }
.back-top>span:last-child { font-size:20px; }
.footer-wordmark { display:flex; align-items:flex-start; justify-content:flex-start; color:var(--agency-paper); font-family:var(--agency-heading); font-weight:500; font-size:56px; letter-spacing:-.075em; line-height:1; margin:0; white-space:nowrap; user-select:none; }
.agency-site .footer-inner { display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--agency-line); padding-block:24px; gap:16px 32px; font-size:.75rem; line-height:1.6; }
.agency-site .footer-links { display:flex; gap:4px 20px; flex-wrap:wrap; }
.agency-site .footer-links a,.agency-site .footer-preferences { display:inline-flex; align-items:center; min-height:44px; color:var(--agency-muted); }
.agency-site .footer-links a:hover,.agency-site .footer-preferences:hover { color:var(--agency-accent); }
.agency-site .modal-content,.agency-site .cookie-settings-content { background:#1a1e1c; border:1px solid #435347; border-radius:16px; }
.agency-site .modal-title,.agency-site .cookie-settings-header h3 { color:var(--agency-ink); font-family:var(--agency-heading); font-weight:500; letter-spacing:-.05em; }
.agency-site .modal-form label,.agency-site .cookie-option-title { color:#d4dfd5; font-weight:400; }
.agency-site .modal-form input,.agency-site .modal-form textarea { border-color:#46574a; background:#111813; color:var(--agency-ink); border-radius:6px; }
.agency-site .modal-form input:focus,.agency-site .modal-form textarea:focus { border-color:var(--agency-accent); box-shadow:0 0 0 3px #b9f5df22; }
.agency-site .form-hint,.agency-site .form-alternative,.agency-site .cookie-option-description { color:#a9b9ad; }
.agency-site .form-alternative a,.agency-site .required-mark { color:var(--agency-accent); }
.agency-site .modal-close,.agency-site .cookie-settings-close { color:#d1e3d7; border-color:#435347; background:#ffffff05; }
.agency-site .cookie-toggle.active { background:#4d7e60; }
.agency-site .cookie-banner { background:rgba(24,29,25,.98)!important; border-color:#46574a; }
.agency-site .cookie-banner-text { color:#c1cdc3; }
.agency-site .cookie-banner .btn-link { color:var(--agency-accent); }

/* All secondary pages inherit the same identity, reading rhythm and controls. */
.agency-site.seo-page { background:var(--agency-paper); color:var(--agency-dark); }
.agency-site.seo-page header { background:#151a17; border-color:#3c4940; }
.agency-site.seo-page main { padding-top:150px!important; padding-bottom:65px; }
.agency-site.seo-page header .seo-nav { min-height:74px; display:flex!important; flex-wrap:nowrap; justify-content:space-between; padding:0 36px; gap:30px; }
.agency-site.seo-page header .seo-nav>a { display:flex; align-items:center; width:auto!important; height:auto!important; }
.agency-site.seo-page header .seo-nav nav { display:flex!important; align-items:center; gap:30px!important; width:auto; margin-left:auto!important; }
.agency-site.seo-page .seo-nav nav a { color:#d8e2d9; font-size:.75rem!important; }
.agency-site.seo-page .seo-content { color:var(--agency-dark); }
.agency-site.seo-page article.reading-layout { max-width:1000px; padding:50px clamp(24px,5vw,72px)!important; margin-inline:auto; background:none; border:0; border-radius:0; box-shadow:none; }
.agency-site.seo-page .seo-content h1 { font-size:clamp(38px,6vw,76px); font-weight:500; letter-spacing:-.065em; line-height:1.02; color:var(--agency-dark); margin-bottom:32px!important; }
.agency-site.seo-page .seo-content h2 { font-size:clamp(26px,3vw,40px); font-weight:500; letter-spacing:-.045em; color:var(--agency-dark); }
.agency-site.seo-page .seo-content h3 { color:var(--agency-dark); }
.agency-site.seo-page .seo-content p,.agency-site.seo-page .seo-content li { color:#515e54; line-height:1.9; font-size:.92rem; }
.agency-site.seo-page .seo-content a { color:#345f47; }
.agency-site.seo-page .seo-content nav { color:#546358; font-size:.7rem; }
.agency-site.seo-page .seo-content .page-intro { font-size:1.1rem; }
.agency-site.seo-page .reading-section,.agency-site.seo-page .seo-content details { border-color:#c1ccbf; }
.agency-site.seo-page .seo-content details { border-radius:0; background:transparent; box-shadow:none; }
.agency-site.seo-page .seo-content summary { color:var(--agency-dark); font-weight:500; }
.agency-site.seo-page .seo-content summary:hover { background:#dce3d7; }
.agency-site.seo-page .seo-content .btn-primary { background:var(--agency-dark); color:var(--agency-ink); border-color:var(--agency-dark); }
.agency-site.seo-page #pricing { background:var(--agency-bg); color:var(--agency-ink); padding:50px 32px; border-radius:16px; }
.agency-site.seo-page #pricing>.container { padding:0; }
.agency-site.seo-page #pricing .section-header { margin-bottom:30px; }
.agency-site.seo-page #pricing .section-title,.agency-site.seo-page #pricing h3 { color:var(--agency-ink); }
.agency-site.seo-page #pricing .section-subtitle { color:var(--agency-muted); }
.agency-site.seo-page #pricing p,.agency-site.seo-page #pricing li { color:var(--agency-muted); font-size:.75rem; }
.agency-site.seo-page #pricing .pricing-card--popular p,.agency-site.seo-page #pricing .pricing-card--popular li,.agency-site.seo-page #pricing .pricing-card--popular h3 { color:var(--agency-dark); }
.agency-site.seo-page #pricing .btn { color:var(--agency-ink); }
.agency-site.seo-page #pricing .price-amount { color:inherit; }
.agency-site.seo-page .privacy-article,.agency-site .privacy-content { background:none; border:0; box-shadow:none; }
.agency-site.seo-page .privacy-section { padding:0; }
.agency-site.policy-page main>.section { padding-top:30px; }
.agency-site.policy-page .section-header { text-align:left; margin:0 auto 54px; max-width:900px; }
.agency-site.policy-page .section-kicker { color:#3b6950; text-align:left; margin-bottom:20px; }
.agency-site.policy-page .section-header .section-subtitle { color:#59665b; text-align:left; margin:0; }
.agency-site.policy-page .section-title { color:var(--agency-dark); text-align:left; margin-inline:0; max-width:none; }
.agency-site.policy-page .privacy-content { max-width:900px; margin:auto; padding:0; }
.agency-site.policy-page .privacy-content h2 { font-size:28px; color:var(--agency-dark); margin-top:46px; letter-spacing:-.035em; }
.agency-site.policy-page .privacy-content p,.agency-site.policy-page .privacy-content li { font-size:.88rem; color:#515e54; line-height:1.9; }
.agency-site.policy-page .privacy-content strong { color:var(--agency-dark); }
.agency-site.policy-page .privacy-content a { color:#345f47; }

@media(hover:hover) and (pointer:fine) {
 .agency-site.home-page .portfolio-card:hover .portfolio-image img { transform:translateY(-2px) scale(1.025); }
 .agency-site.home-page .portfolio-card:hover .project-open { transform:rotate(45deg); }
 .agency-site .btn:active { transform:scale(.98); }
}
@media(min-width:1600px) { .agency-site .hero-copy h1 { font-size:112px; } }
@media(max-width:1100px) {
 .hero-composition { grid-template-columns:1.3fr .7fr; min-height:500px; }
 .orbital-object { width:300px; height:300px; }
 .orbital-core { inset:83px; font-size:56px; }
 .hero-sculpture { height:370px; }
 .agency-site .pricing-card { padding:26px 22px; }
 .agency-site .pricing-badge { top:21px; right:13px; font-size:7px; }
 .agency-site.home-page .studio-section .why-grid { gap:50px; }
 .client-names { flex-wrap:wrap; justify-content:center; gap:20px 34px; }
 .client-spark { display:none; }
}
@media(max-width:1024px) {
 .agency-site header { width:calc(100% - 32px); top:10px; margin:0 auto; height:68px; }
 .agency-site header .nav { min-height:66px; display:flex; padding:0; gap:20px; }
 .agency-site header>.container,.agency-site header .nav { position:static; }
 .agency-site .nav>.nav-cta { display:none; }
 .agency-site .nav>.lang-switch { order:2; margin:0 0 0 auto; }
 .agency-site .nav>.mobile-menu-toggle { display:flex!important; position:static!important; inset:auto!important; transform:none!important; flex-shrink:0; order:3; margin:0; border:1px solid var(--agency-line); border-radius:50%; width:40px; height:40px; padding:10px; }
 .agency-site .nav>.mobile-menu-toggle { align-items:center; justify-content:center; gap:4px; }
 .agency-site .mobile-menu-toggle span { background:var(--agency-ink); width:18px; height:2px; margin:0; flex-shrink:0; }
 .agency-site .mobile-menu-toggle.active span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
 .agency-site .mobile-menu-toggle.active span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
 .agency-site .nav>.mobile-menu-toggle.active { background:var(--agency-panel)!important; border-color:var(--agency-line)!important; box-shadow:none; }
 /* Anchor to the header and reset the legacy full-height side drawer. */
 .agency-site .nav #primary-navigation { position:absolute!important; inset:calc(100% + 10px) 0 auto!important; width:auto!important; height:auto!important; margin:0!important; padding:8px 20px!important; max-height:calc(100dvh - 108px)!important; overflow:auto!important; overscroll-behavior:contain; background:var(--agency-panel)!important; border:1px solid var(--agency-line)!important; border-radius:14px; box-shadow:0 15px 40px #0006; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-8px)!important; transition:opacity .2s,transform .2s,visibility .2s!important; }
 .agency-site .nav #primary-navigation.active { inset:calc(100% + 10px) 0 auto!important; opacity:1; visibility:visible; pointer-events:auto; transform:none!important; }
 .agency-site .nav #primary-navigation ul { display:grid!important; width:100%; margin:0; padding:0; font-family:var(--agency-heading); font-size:20px; gap:0; }
 .agency-site .nav #primary-navigation li { width:100%; border-color:var(--agency-line); }
 .agency-site .nav #primary-navigation a { display:block; padding:16px 4px; line-height:1.4; }
 .agency-site .nav #primary-navigation a::after { display:none; }
 .agency-site .mobile-menu-overlay.active { inset:0; z-index:90; pointer-events:auto; background:#090d0bb8; backdrop-filter:blur(5px); }
 .agency-site .hero-copy h1 { font-size:clamp(54px,7.4vw,78px); }
 .agency-site.home-page .section { padding-block:86px; }
 .agency-site.home-page .section-header { gap:24px 35px; }
 .agency-site.home-page .buying-guide { gap:0 40px; }
 .agency-site.home-page #services .living-card { padding:24px; }
 .agency-site.home-page #services .living-card::before { left:24px; }
 .agency-site.seo-page header .seo-nav { padding-inline:20px; gap:20px; }
 .agency-site.seo-page header .seo-nav nav { gap:20px!important; }
}
@media(max-width:767px) {
 .agency-site .container { padding-inline:24px; }
 .agency-site header>.container { padding-inline:16px; }
 .agency-site .brand-word { font-size:30px; }
 .agency-site .nav>a:first-child { max-width:none; grid-column:auto; grid-row:auto; }
 .agency-site .nav>.lang-switch { grid-column:auto; grid-row:auto; }
 .agency-site .nav>.mobile-menu-toggle { grid-column:auto; grid-row:auto; }
 .agency-site.home-page .agency-hero { padding-top:126px!important; }
 .hero-meta { font-size:.57rem; gap:10px; }
 .hero-meta>span:last-child { display:none; }
 .hero-composition { grid-template-columns:minmax(0,1fr); padding-top:37px; padding-bottom:20px; gap:10px; min-height:0; }
 .agency-site .hero-copy h1 { font-size:clamp(40px,10.8vw,72px); line-height:1.02; letter-spacing:-.065em; max-width:100%; }
 .hero-description { margin-top:24px; margin-bottom:22px; font-size:.88rem; max-width:42ch; line-height:1.85; }
 .agency-site .hero-project-cta { font-size:.72rem; gap:16px; }
 .hero-sculpture { height:300px; margin:10px 0 0; }
 .orbital-object { width:260px; height:260px; top:50%; }
 .orbital-core { inset:72px; font-size:48px; }
 .orbit-ring { border-width:10px; }
 .orbit-ring--three { border-width:14px; }
 .orbit-ring--four { inset:34px; border-width:6px; }
 .sculpture-coordinate { top:15px; font-size:8px; }
 .sculpture-caption { font-size:7px; }
 .hero-bottom { padding-block:16px 28px; gap:15px; font-size:.58rem; }
 .hero-bottom>span { display:none; }
 .motion-toggle { font-size:.57rem; }
 .hero-reel { padding:6px 0 30px; gap:12px; grid-template-columns:repeat(3,minmax(0,1fr)); margin-inline:-12px; }
 .reel-shot { padding:4px; border-radius:5px; }
 .reel-shot>span { font-size:6px; padding:8px 2px 2px; gap:0; }
 .reel-shot i { display:none; }
 .reel-shot:nth-child(2) { transform:translateY(12px) rotate(2deg); }
 .client-strip { padding-block:32px; }
 .client-strip p { font-size:.58rem; margin-bottom:22px; }
 .client-names { font-size:14px; gap:15px 22px; }
 .client-names>span:last-child { display:none; }
 .agency-site.home-page .section { padding-block:66px; }
 .agency-site.home-page .section-header { display:block; margin-bottom:30px; }
 .agency-site.home-page .section-kicker { margin-bottom:24px; font-size:.6rem; }
 .agency-site.home-page .section-title { font-size:clamp(34px,9.5vw,54px); line-height:1.06; max-width:none; }
 .agency-site.home-page .section-subtitle { font-size:.88rem; line-height:1.85; margin-top:22px; max-width:48ch; }
 .agency-site.home-page #portfolio { border-radius:18px 18px 0 0; }
 .work-toolbar { align-items:flex-start; flex-direction:column; gap:12px; padding-bottom:22px; }
 .work-filters { gap:5px; }
 .work-filters button { font-size:.61rem; padding:9px 13px; min-height:40px; }
 .work-count { font-size:.59rem; }
 .agency-site.home-page .portfolio-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
 .agency-site.home-page .portfolio-image,.agency-site.home-page .portfolio-card:first-child .portfolio-image { padding:22px; aspect-ratio:1.45; }
 .agency-site.home-page .portfolio-title,.agency-site.home-page .portfolio-card:first-child .portfolio-title { font-size:26px; margin-top:19px; }
 .agency-site.home-page .portfolio-body { font-size:.85rem; }
 .agency-site.home-page .portfolio-actions { gap:8px 15px; }
 .agency-site.home-page .portfolio-actions .portfolio-link,.agency-site.home-page .portfolio-card:first-child .portfolio-actions .portfolio-link { font-size:.65rem; }
 .agency-site.home-page #services .living-systems { grid-template-columns:minmax(0,1fr); }
 .agency-site.home-page #services .living-card { padding:24px; }
 .agency-site .system-demo { height:200px; }
 .agency-site.home-page #services .living-card .service-title { font-size:27px; }
 .agency-site.home-page #services .living-card .service-body { font-size:.86rem; }
 .agency-site.home-page .studio-section .why-grid { display:block; }
 .studio-emblem { min-height:265px; margin:30px 0 50px; }
 .studio-emblem::before { width:215px; height:215px; }
 .studio-emblem>span { font-size:220px; }
 .agency-site.home-page .studio-section .principles { display:block; margin:0; }
 .agency-site.home-page .studio-section .principle { margin-bottom:30px; padding-top:22px; }
 .agency-site.home-page .principle>span { margin-bottom:16px; }
 .agency-site.home-page .principle h3 { font-size:24px; }
 .studio-facts { gap:16px; margin-top:40px; }
 .studio-facts strong,.studio-facts strong[data-i18n] { font-size:clamp(18px,5.2vw,29px); overflow-wrap:anywhere; }
 .studio-facts span { font-size:.58rem; }
 .agency-site.home-page .process-step summary { grid-template-columns:34px 1fr 22px; gap:12px; padding-block:25px; }
 .agency-site.home-page .process-step h3 { font-size:27px; }
 .agency-site.home-page .process-step p { margin-left:46px; margin-right:8px; font-size:.86rem; }
 .agency-site .pricing-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
 .agency-site .pricing-card { padding:28px; }
 .agency-site .pricing-badge { top:24px; right:24px; font-size:8px; }
 .agency-site .pricing-card h3 { font-size:32px; }
 .agency-site .pricing-card .pricing-description { min-height:0; }
 .agency-site .pricing-card .pricing-features { font-size:.78rem; }
 .agency-site.home-page #additional-pricing .services-grid { grid-template-columns:minmax(0,1fr); }
 .agency-site.home-page #additional-pricing .section-title { font-size:32px; }
 .agency-site.home-page #additional-pricing .service-card { padding:26px; }
 .agency-site.home-page .service-directory { padding-block:50px; }
 .agency-site.home-page .seo-link-grid { grid-template-columns:minmax(0,1fr); }
 .agency-site.home-page .buying-guide { display:block; padding-block:65px; }
 .agency-site.home-page .buying-guide>h2 { font-size:38px; margin-bottom:30px; max-width:14ch; }
 .agency-site.home-page .buying-guide summary { font-size:.8rem; }
 .agency-site.home-page .buying-guide details p { font-size:.85rem; }
 .agency-contact { padding-block:64px; }
 .agency-site .agency-contact .cta-box { display:block; }
 .contact-eyebrow { font-size:.58rem; margin-bottom:30px; }
 .agency-site .agency-contact .cta-text-main { font-size:clamp(52px,14.5vw,82px); max-width:none; }
 .agency-site .agency-contact .cta-text-sub { font-size:.8rem; }
 .agency-site .agency-contact .cta-actions { margin-top:30px; width:100%; }
 .agency-site .agency-contact .cta-actions>.btn { width:auto; min-width:220px; font-size:.75rem; }
 .contact-email { font-size:24px; }
 .agency-site footer { padding-top:28px; }
 .footer-top { gap:16px; align-items:flex-start; padding-bottom:28px; }
 .footer-brand { gap:12px; }
 .footer-brand p { max-width:25ch; font-size:.8rem; line-height:1.6; }
 .footer-top .back-top { gap:8px; flex-shrink:0; font-size:.7rem; }
 .back-top { gap:10px; white-space:nowrap; font-size:.57rem; min-height:36px; }
 .footer-wordmark { font-size:44px; margin:0; }
 .agency-site .footer-inner { display:flex; flex-direction:column; align-items:flex-start; font-size:.75rem; padding-block:20px; gap:12px; }
 .agency-site .footer-links { gap:0 20px; }
 .agency-site .modal-content,.agency-site .cookie-settings-content { padding:28px 22px; }
 .agency-site .cookie-banner .btn { font-size:.7rem; padding-inline:16px; }
 .agency-site.seo-page header .seo-nav { display:grid!important; grid-template-columns:1fr auto!important; gap:8px 20px; padding:12px 18px; }
 .agency-site.seo-page header { height:auto; }
 .agency-site.seo-page header .seo-nav nav { grid-column:1/-1!important; grid-row:2!important; justify-content:flex-start!important; padding:0!important; gap:22px!important; }
 .agency-site.seo-page .seo-nav nav a { font-size:.7rem!important; padding-block:6px; }
 .agency-site.seo-page main { padding-top:155px!important; }
 .agency-site.seo-page article.reading-layout { padding:25px 24px 45px!important; }
 .agency-site.seo-page .seo-content h1 { font-size:40px; }
 .agency-site.seo-page .seo-content h2 { font-size:28px; }
 .agency-site.seo-page .seo-content p,.agency-site.seo-page .seo-content li { font-size:.85rem; }
 .agency-site.seo-page #pricing { padding:28px 20px; }
}
/* Phone readability and touch spacing, shared by both domain languages. */
@media(max-width:767px) {
 .agency-site header .nav { gap:12px; }
 .agency-site .lang-switch { padding:2px; }
 .agency-site .lang-switch a,.agency-site .lang-switch button { min-width:44px; min-height:44px; font-size:.75rem; }
 .agency-site .nav>.mobile-menu-toggle { width:44px; height:44px; }
 .hero-meta,.client-strip p,.agency-site.home-page .section-kicker,.work-count,.contact-eyebrow { font-size:.75rem; }
 .hero-bottom { flex-wrap:wrap; gap:8px 16px; }
 .scroll-link,.motion-toggle { font-size:.75rem; min-height:44px; }
 .agency-site .hero-project-cta { font-size:.85rem; }
 .agency-site.home-page .work-filters button { font-size:.75rem; min-height:44px; padding:10px 14px; }
 .agency-site.home-page .portfolio-actions { gap:4px 16px; }
 .agency-site.home-page .portfolio-actions .portfolio-link,.agency-site.home-page .portfolio-card:first-child .portfolio-actions .portfolio-link { font-size:.8rem; min-height:44px; }
 .agency-site .system-toggle,.agency-site.home-page #services .living-card .service-detail-link { font-size:.8rem; }
 .agency-site.home-page .studio-link,.agency-site .pricing-page-link a { display:inline-flex; align-items:center; gap:12px; min-height:44px; font-size:.85rem; }
 .agency-site.home-page .studio-facts span { font-size:.75rem; }
 .agency-site .pricing-card { padding:24px; }
 .agency-site .pricing-card .pricing-plan { font-size:.75rem; margin-bottom:22px; }
 .agency-site .pricing-card .pricing-description,.agency-site .pricing-card .pricing-features,.agency-site .pricing-conditions p { font-size:.875rem; }
 .agency-site .pricing-card .pricing-features { flex:none; padding-block:20px; margin-bottom:8px; }
 .agency-site .pricing-card .btn { font-size:.875rem; }
 .agency-site .pricing-badge { position:static; align-self:flex-start; font-size:.7rem; margin-bottom:16px; }
 .agency-site.home-page #additional-pricing .service-body,.agency-site.home-page #additional-pricing .pricing-enquiry { font-size:.875rem; }
 .agency-site.home-page .seo-link-grid li { padding-block:4px; }
 .agency-site.home-page .seo-link-grid a { display:flex; align-items:center; min-height:48px; font-size:.875rem; line-height:1.6; }
 .agency-site.home-page .buying-guide summary { font-size:.9rem; line-height:1.6; }
 .agency-site .agency-contact .contact-eyebrow,.agency-site .agency-contact .cta-text-main,.agency-site .agency-contact .cta-text-sub { text-align:left; }
 .agency-site .agency-contact .cta-text-sub { font-size:.9rem; }
 .agency-site .agency-contact .cta-actions>.btn { width:100%; min-width:0; font-size:.875rem; }
 .agency-site .agency-contact .social-link { width:44px; height:44px; }
 .contact-email { width:100%; justify-content:space-between; gap:12px; font-size:clamp(18px,5.8vw,24px); }
 .contact-response { font-size:.75rem; line-height:1.6; }
 .agency-site .back-top { min-height:44px; }
 .agency-site .cookie-banner .btn { font-size:.8rem; }
 .agency-site .cookie-banner-text { font-size:.8rem; }
 .agency-site .modal-content,.agency-site .cookie-settings-content { max-width:100%; padding:24px 20px; }
 .agency-site .modal-form input,.agency-site .modal-form textarea { font-size:16px; }
 .agency-site.seo-page header .seo-nav { gap:6px 12px; padding:8px 16px; }
 .agency-site.seo-page header .seo-nav nav { gap:8px!important; justify-content:space-between!important; }
 .agency-site.seo-page .seo-nav nav a { display:inline-flex; align-items:center; min-height:44px; font-size:.75rem!important; }
 .agency-site.seo-page .seo-content h1 { font-size:clamp(32px,10vw,40px); overflow-wrap:anywhere; }
}
@media(prefers-reduced-motion:reduce) {
 .agency-site *, .agency-site *::before,.agency-site *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
 .agency-site .nav #primary-navigation { transition:none!important; }
 .agency-site .portfolio-image img { transform:none!important; }
}
.agency-site.motion-paused *, .agency-site.motion-paused *::before,.agency-site.motion-paused *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
.agency-site.motion-paused .nav #primary-navigation { transition:none!important; }
/* Keep native hidden authoritative over every flex/grid declaration above. */
.agency-site [hidden] { display:none!important; }
