/* RUUD Web studio. Public-site components; demo assets remain independent. */
:root {
  --studio-bg: #090a0c;
  --studio-surface: #121317;
  --studio-paper: #f4f0e6;
  --studio-text: #f7f5f0;
  --studio-muted: #b8b8bd;
  --studio-gold: #ecd08f;
  --studio-line: #303137;
  --bg: var(--studio-bg); --text: var(--studio-text); --muted: var(--studio-muted);
  --border: var(--studio-line); --panel: var(--studio-surface); --gold: var(--studio-gold);
  --ru-bg: var(--studio-bg); --ru-bd: var(--studio-line); --ru-text: var(--studio-text);
}
html { scroll-padding-top: 100px; scrollbar-gutter: stable; }
.studio { background: var(--studio-bg); color: var(--studio-text); font: 17px/1.65 'Segoe UI', Arial, sans-serif; overflow-y: visible; }
.studio * { box-sizing: border-box; }
.studio [hidden] { display: none !important; }
.studio .container { width: calc(100% - 96px); max-width: 1360px; padding: 0; margin-inline: auto; }
.studio h1, .studio h2, .studio h3, .studio p { margin-top: 0; }
.studio h1, .studio h2, .studio h3 { font-weight: 500; letter-spacing: -.045em; line-height: 1.09; text-wrap: balance; }
.studio h1 { font-size: clamp(52px, 6.5vw, 96px); }
.studio h2 { font-size: clamp(36px, 4.1vw, 60px); margin-bottom: 25px; }
.studio h3 { font-size: 27px; letter-spacing: -.025em; }
.studio p { color: var(--studio-muted); }
.studio em { font-family: inherit; font-style: normal; font-weight: 600; color: var(--studio-gold); }
.studio a { color: inherit; }
.studio a:hover { opacity: 1; }
.studio :is(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--studio-gold); outline-offset: 5px; box-shadow: none; }
.studio input, .studio textarea, .studio select, .studio button { font: inherit; }
.studio button { cursor: pointer; }
.studio .overline { display: block; font-size: 16px; font-weight: 600; letter-spacing: .02em; text-transform: none; color: var(--studio-gold); margin-bottom: 24px; line-height: 1.6; }
.studio .btn { display: inline-flex; align-items: center; justify-content: center; gap: 26px; min-height: 54px; padding: 14px 23px; border-radius: 6px; border: 1px solid var(--studio-line); font-size: 16px; font-weight: 600; line-height: 1.4; text-decoration: none; box-shadow: none; background: transparent; color: var(--studio-text); transition: background .18s, border-color .18s, color .18s; white-space: normal; }
.studio .btn::before, .studio .btn::after { content: none; }
.studio .btn.primary { background: var(--studio-gold); border-color: var(--studio-gold); color: #191c16; }
.studio .btn.primary:hover { background: #e7d39f; border-color: #e7d39f; transform: none; }
.studio .btn.secondary:hover { background: #292a31; border-color: #727663; transform: none; }
.studio .btn span[aria-hidden] { font-size: 23px; font-weight: 400; line-height: 1; }
.studio .text-link { display: inline-flex; align-items: center; gap: 18px; font-size: 16px; font-weight: 600; text-decoration: none; padding-block: 8px; border-bottom: 1px solid #5d6151; }
.studio .text-link:hover { color: var(--studio-gold); border-color: var(--studio-gold); }
.studio .small { font-size: 16px; }
.studio .muted { color: var(--studio-muted); }
.studio .skip-link:focus { z-index: 1001; }
.studio section[id], .studio details[id] { scroll-margin-top: 100px; }
.studio-section { padding: 110px 0; }
.surface { background: var(--studio-surface); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 48px; margin-bottom: 52px; }
.section-heading h2 { margin-bottom: 0; }
.section-heading > p, .section-heading > div + div { max-width: 370px; margin-bottom: 2px; }
.section-heading > div + div p { margin-bottom: 15px; }

/* Navigation */
.site-header { position: sticky; top: 0; z-index: 100; background: #090a0cf5; border-bottom: 1px solid var(--studio-line); }
.header-inner { min-height: 94px; display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.wordmark { display: inline-flex; align-items: baseline; gap: 7px; font-size: 30px; font-weight: 750; letter-spacing: -.08em; line-height: 1; text-decoration: none; white-space: nowrap; }
.wordmark span { font-weight: 350; letter-spacing: -.06em; }
.wordmark i { align-self: flex-start; font: 11px/1.4 Arial, sans-serif; margin-left: 1px; }
.site-nav { display: flex; align-items: center; gap: 30px; }
.site-nav > a { font-size: 16px; font-weight: 500; text-decoration: none; }
.site-nav > a:not(.btn) { padding-block: 12px; }
.site-nav > a:hover, .site-nav > a[aria-current]:not(.btn) { color: var(--studio-gold); }
.site-nav .btn { min-height: 44px; padding: 11px 18px; margin-left: 10px; font-size: 16px; }
.menu-toggle { display: none; width: 48px; height: 48px; border: 1px solid var(--studio-line); border-radius: 4px; background: transparent; padding: 12px; color: inherit; }
.menu-toggle span { display: block; height: 1px; margin: 6px 0; background: currentColor; }

/* Homepage */
.home-hero { position: relative; overflow: clip; background: radial-gradient(ellipse at 88% 45%, #39382555, transparent 55%), var(--studio-bg); }
.hero-topline { display: flex; align-items: center; justify-content: space-between; padding-top: 38px; }
.hero-topline .overline { margin: 0; }
.availability { display: flex; gap: 9px; align-items: center; font-size: 16px; color: var(--studio-muted); }
.availability i { width: 6px; height: 6px; background: #aebc8a; border-radius: 50%; }
.hero-layout { display: grid; grid-template-columns: 1.02fr 1fr; gap: 60px; align-items: center; padding: 65px 0 70px; }
.hero-copy h1 { margin: 0 0 29px; font-size: clamp(54px, 6.4vw, 96px); letter-spacing: -.065em; line-height: 1.04; }
.hero-copy > p { max-width: 430px; font-size: 19px; line-height: 1.6; margin-bottom: 32px; }
.hero-actions { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.hero-reassurance { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 22px; color: var(--studio-muted); font-size: 16px; }
.hero-reassurance span::before { content: '✓'; color: var(--studio-gold); margin-right: 7px; }
.hero-showcase { position: relative; min-width: 0; padding: 34px 0; }
.showcase-caption { display: flex; justify-content: space-between; font-size: 16px; letter-spacing: .02em; color: var(--studio-muted); margin-bottom: 14px; gap: 15px; }
.showcase-browser { display: block; overflow: hidden; border-radius: 9px; border: 1px solid #5a5b46; box-shadow: 0 32px 60px #0005; background: #121317; position: relative; }
.browser-bar { height: 34px; display: flex; align-items: center; justify-content: space-between; padding: 0 13px; color: #a2a692; font-size: 16px; }
.browser-dots { font-size: 16px; letter-spacing: 3px; color: #646954; }
.showcase-browser img { width: 100%; height: auto; aspect-ratio: 16/10; object-fit: cover; object-position: center; }
.showcase-detail { display: flex; align-items: center; gap: 17px; margin: -2px 25px 0; position: relative; padding: 24px; background: #e5e0d1; color: #252a22; border-radius: 0 0 7px 7px; }
.showcase-mark { font: italic 46px/1 Georgia, serif; color: #737957; padding-right: 17px; border-right: 1px solid #b9bba9; }
.showcase-detail strong, .showcase-detail div > span { display: block; }
.showcase-detail strong { font-size: 16px; font-weight: 600; }
.showcase-detail div > span { font-size: 16px; color: #606653; margin-top: 4px; }
.showcase-detail > a { margin-left: auto; font-size: 27px; }
.showcase-line { width: 140px; height: 140px; border: 1px solid #68694c; border-radius: 50%; position: absolute; right: -45px; top: -15px; z-index: -1; }
.hero-bottom { display: flex; align-items: center; justify-content: space-between; gap: 30px; border-top: 1px solid var(--studio-line); padding: 26px 0 34px; }
.hero-bottom p { font-size: 16px; margin: 0; }
.hero-bottom p strong { color: var(--studio-text); font-weight: 400; }
.hero-bottom > div { display: flex; align-items: center; gap: 18px; }
.hero-bottom > div strong { font-size: 41px; font-weight: 400; letter-spacing: -.06em; }
.hero-bottom > div span { font-size: 16px; color: var(--studio-muted); max-width: 140px; line-height: 1.45; }
.work-section { border-top: 1px solid var(--studio-line); }
.work-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 30px; }
.work-card { min-width: 0; }
.work-link { display: block; text-decoration: none; }
.work-image { overflow: hidden; border-radius: 7px; position: relative; background: #24271e; border: 1px solid #414537; }
.work-image img { width: 100%; height: auto; aspect-ratio: 16/10; object-fit: cover; transition: transform .35s ease; }
.work-link:hover img { transform: scale(1.025); }
.work-open { position: absolute; bottom: 18px; right: 18px; padding: 9px 13px; display: flex; gap: 18px; align-items: center; font-size: 16px; background: #e9e4d6; color: #23291d; border-radius: 4px; }
.work-open span { font-size: 21px; line-height: 1; }
.work-info { padding-top: 23px; }
.work-info .overline { margin-bottom: 9px; font-size: 16px; }
.work-type { color: #939988; margin-left: 8px; }
.work-info h3 { font-size: 27px; margin: 0 0 8px; }
.work-info p { margin: 0; font-size: 16px; }
.value-section { padding: 65px 0 90px; }
.value-grid { display: grid; grid-template-columns: 1.15fr 1fr 1fr 1fr; gap: 38px; }
.value-grid h2 { font-size: 36px; }
.value-grid .overline { font-size: 16px; }
.value-item { padding: 2px 0 0 26px; border-left: 1px solid var(--studio-line); }
.value-item > span { color: var(--studio-gold); font-size: 16px; display: block; margin-bottom: 24px; }
.value-item h3 { font-size: 23px; margin-bottom: 14px; }
.value-item p { font-size: 16px; margin: 0; }

/* Process: no scroll listeners, timers, canvas or automatic movement. */
.process-tabs { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #33343b; }
.process-tabs button { text-align: left; display: flex; align-items: center; gap: 15px; background: none; border: 0; border-bottom: 2px solid #33343b; color: var(--studio-muted); padding: 23px 18px; font-size: 16px; }
.process-tabs button[aria-selected='true'] { color: var(--studio-gold); border-bottom-color: var(--studio-gold); background: #ecd08f08; }
.step-number { font-size: 16px; }
.step-arrow { margin-left: auto; font-size: 22px; }
.process-panel { display: grid; grid-template-columns: 1.1fr 1fr; gap: 70px; min-height: 325px; padding: 48px 28px; border-bottom: 1px solid #33343b; }
.process-copy .overline { font-size: 16px; margin-bottom: 18px; }
.process-copy h3 { font-size: 37px; margin-bottom: 22px; }
.process-copy p { max-width: 500px; margin-bottom: 24px; }
.process-note { display: block; color: var(--studio-gold); font-size: 16px; }
.process-delivery { position: relative; overflow: hidden; border-left: 1px solid #33343b; padding: 10px 0 10px 45px; }
.process-delivery .overline { color: var(--studio-muted); font-size: 16px; }
.process-delivery ul { list-style: none; padding: 0; margin: 0; position: relative; z-index: 1; }
.process-delivery li { display: flex; gap: 13px; padding: 10px 0; font-size: 16px; }
.process-delivery li span { color: var(--studio-gold); }
.process-watermark { position: absolute; right: 0; bottom: -28px; font-size: 155px; line-height: 1; letter-spacing: -.08em; color: #ecd08f08; pointer-events: none; }
.process-bottom { display: flex; align-items: center; justify-content: space-between; padding-top: 22px; gap: 25px; }
.process-bottom p { font-size: 16px; max-width: 570px; margin: 0; }
.process-controls { display: flex; gap: 18px; align-items: center; flex-shrink: 0; }
.process-controls button { width: 43px; height: 43px; background: transparent; color: var(--studio-text); border: 1px solid #65656f; border-radius: 4px; }
.process-controls button:disabled { opacity: .35; cursor: default; }
.process-controls span { color: var(--studio-muted); font-size: 16px; }

/* Prices */
.price-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.price-card { border: 1px solid #36363d; border-radius: 8px; padding: 32px; background: #1b1e18; min-width: 0; }
.price-card.recommended { border-color: var(--studio-gold); background: #25291f; }
.price-card-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 38px; }
.price-card-top h3 { margin: 0; font-size: 29px; }
.recommendation { font-size: 16px; font-weight: 600; color: var(--studio-gold); text-transform: uppercase; letter-spacing: .07em; }
.price-intro { font-size: 16px; margin: 20px 0 27px; min-height: 50px; }
.price-amount { position: relative; margin-bottom: 28px; padding-top: 18px; }
.price-amount > del { position: absolute; top: -9px; color: var(--studio-muted); font-size: 16px; }
.price-amount > div { font-size: clamp(36px, 3.4vw, 51px); line-height: 1.2; letter-spacing: -.05em; white-space: nowrap; }
.price-amount > div span { font-size: 23px; }
.price-amount small { display: block; color: var(--studio-muted); margin-top: 6px; font-size: 16px; }
.price-card > .btn { width: 100%; justify-content: space-between; }
.check-list { padding: 25px 0 20px; margin: 0; list-style: none; }
.check-list li { padding: 7px 0; font-size: 16px; display: flex; align-items: baseline; gap: 10px; }
.check-list li::before { content: '✓'; color: var(--studio-gold); }
.price-details { border-top: 1px solid #36363d; padding-top: 18px; }
.price-details summary { list-style: none; display: flex; justify-content: space-between; gap: 12px; cursor: pointer; font-size: 16px; }
.price-details p { margin: 16px 0 0; font-size: 16px; }
summary::-webkit-details-marker { display: none; }
.price-details[open] summary > span { transform: rotate(45deg); }
.pricing-extra { display: flex; align-items: center; justify-content: space-between; gap: 40px; border: 1px solid var(--studio-line); border-radius: 7px; margin-top: 22px; padding: 32px; }
.pricing-extra .overline { margin-bottom: 10px; }
.pricing-extra h3 { margin-bottom: 10px; font-size: 27px; }
.pricing-extra p { margin: 0; max-width: 630px; font-size: 16px; }
.extra-price { text-align: right; flex-shrink: 0; }
.extra-price strong { display: block; font-size: 27px; font-weight: 500; }
.extra-price > span { display: block; font-size: 16px; color: var(--studio-muted); }
.extra-price .text-link { font-size: 16px; }
.pricing-foot { display: flex; justify-content: space-between; align-items: center; gap: 40px; padding: 24px 0 40px; border-bottom: 1px solid var(--studio-line); }
.pricing-foot p { max-width: 710px; margin: 0; font-size: 16px; }
.pricing-foot strong { color: var(--studio-text); font-weight: 500; }
.pricing-foot a { flex-shrink: 0; }
.assurance-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 35px; padding-top: 35px; }
.assurance-grid strong { font-size: 16px; font-weight: 500; }
.assurance-grid p { font-size: 16px; margin: 10px 0 0; }
.assurance-grid a { text-decoration: underline; text-underline-offset: 3px; }
.campaign-note { color: var(--studio-gold) !important; margin-bottom: 26px; }

/* Existing-site review */
.upgrade-section { border-top: 1px solid var(--studio-line); }
.upgrade-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 85px; align-items: center; }
.upgrade-layout > div > p { max-width: 540px; }
.upgrade-art { padding: 38px 25px 20px; background: #292f23; border-radius: 8px; border: 1px solid #414938; }
.mini-window { background: #e7e7db; color: #263022; border: 1px solid #a0a78f; border-radius: 5px; overflow: hidden; }
.mini-top { display: flex; justify-content: space-between; align-items: center; padding: 18px 24px; border-bottom: 1px solid #c8cebd; font-size: 16px; }
.mini-top span { font-size: 16px; }
.mini-body { padding: 34px 30px; background: radial-gradient(ellipse at 105% 65%, #bac39b 0%, transparent 65%); }
.mini-body > span { font-size: 16px; letter-spacing: .15em; }
.mini-body strong { font-size: clamp(29px, 3vw, 45px); font-weight: 400; line-height: 1.15; letter-spacing: -.04em; display: block; margin: 17px 0 24px; }
.studio .mini-body em { color: #596a42; }
.mini-button { display: inline-block; padding: 9px 13px; background: #34402b; color: #f0f0df; border-radius: 3px; font-size: 16px; }
.mini-bottom { display: flex; justify-content: space-between; gap: 8px; padding: 17px 20px; border-top: 1px solid #c8cebd; font-size: 16px; }
.art-caption { display: block; font-size: 16px; color: #b5bda7; text-align: center; margin-top: 18px; }
.website-review { margin-top: 30px; }
.website-review label { display: block; font-size: 16px; margin-bottom: 10px; }
.website-review > div { display: flex; gap: 10px; }
.website-review input:not([type=hidden]) { min-width: 0; width: 100%; }
.website-review .btn { flex-shrink: 0; padding: 12px 15px; font-size: 16px; gap: 12px; }
.website-review > p { font-size: 16px; margin-top: 13px; }

/* Lead forms */
.contact-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; align-items: start; }
.contact-copy { padding-top: 25px; }
.contact-copy > p { max-width: 380px; margin: 28px 0; }
.studio .contact-copy h1 { font-size: clamp(48px, 5vw, 74px); }
.contact-copy h2 { font-size: clamp(42px, 4.7vw, 67px); line-height: 1.12; }
.contact-email { display: inline-block; font-size: 21px; text-decoration: none; border-bottom: 1px solid #64646d; padding-bottom: 10px; }
.contact-person { border-top: 1px solid #33343b; padding-top: 27px; margin-top: 55px; display: flex; align-items: center; gap: 14px; }
.contact-person img { width: 52px; height: 52px; object-fit: cover; border-radius: 50%; }
.contact-person strong, .contact-person span { display: block; font-size: 16px; }
.contact-person strong { font-weight: 500; }
.contact-person span { color: var(--studio-muted); margin-top: 3px; }
.inquiry-form { position: relative; display: grid; gap: 23px; background: #17181d; border: 1px solid #3c3d45; border-radius: 8px; padding: 38px; }
.form-heading h3 { font-size: 26px; margin-bottom: 7px; }
.form-heading p { font-size: 16px; margin-bottom: 0; }
.inquiry-form label { font-size: 16px; font-weight: 500; display: block; }
.inquiry-form label .optional { font-weight: 400; color: var(--studio-muted); }
.studio :is(.inquiry-form, .website-review, .portfolio-search) :is(input:not([type=radio]):not([type=hidden]), textarea) { border: 1px solid #494a53; border-radius: 4px; background: #111216; color: var(--studio-text); padding: 13px 15px; font-size: 16px; line-height: 1.5; min-height: 51px; box-shadow: none; }
.inquiry-form input:not([type=radio]), .inquiry-form textarea { display: block; width: 100%; margin-top: 9px; }
.inquiry-form textarea { resize: vertical; min-height: 110px; }
.studio input::placeholder, .studio textarea::placeholder { color: #b2b2b9; opacity: 1; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.field-row > label { min-width: 0; }
.contact-method { margin: 0; padding: 0; border: 0; display: flex; gap: 28px; }
.contact-method legend { font-size: 16px; margin-bottom: 12px; padding: 0; }
.contact-method label { display: flex; align-items: center; gap: 9px; font-size: 16px; cursor: pointer; padding-block: 4px; }
.contact-method input { accent-color: var(--studio-gold); width: 18px; height: 18px; margin: 0; }
.form-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.submit-inquiry { width: 100%; justify-content: space-between !important; }
.submit-inquiry:disabled { opacity: .7; cursor: wait; }
.form-privacy { font-size: 16px; line-height: 1.6; margin: -7px 0 0; }
.form-privacy a { text-decoration: underline; }
.form-message { padding: 16px; border: 1px solid #c58d73; border-radius: 5px; background: #4b3024; font-size: 16px; }
.contact-standalone { padding-top: 85px; padding-bottom: 110px; }
.studio .success-section { padding-block: 120px; min-height: 65vh; }
.success-section h1 { max-width: 850px; }
.success-section .text-link { margin-left: 24px; }

/* FAQ and closing */
.faq-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 90px; }
.faq-layout > div > p { max-width: 280px; font-size: 16px; }
.faq-list { border-top: 1px solid #34353c; }
.faq-list details { border-bottom: 1px solid #34353c; }
.faq-list summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 25px; padding: 25px 0; font-size: 18px; font-weight: 400; line-height: 1.5; }
.faq-list summary > span { color: var(--studio-gold); font-size: 25px; flex-shrink: 0; font-weight: 300; }
.faq-list details[open] summary { color: var(--studio-gold); }
.faq-list details[open] summary > span { transform: rotate(45deg); }
.faq-answer { padding: 0 45px 25px 0; }
.faq-answer p { margin: 0; font-size: 16px; }
.faq-answer a { text-decoration: underline; }
.closing-section { background: #ecd08f; color: #22271b; }
.studio .closing-inner { display: flex; align-items: center; justify-content: space-between; gap: 50px; padding-block: 80px; }
.studio .closing-section .overline { color: #444932; }
.studio .closing-section h2 { font-size: clamp(42px, 4.8vw, 70px); margin-bottom: 0; }
.studio .closing-section em { color: #444c30; }
.studio .closing-section .btn.primary { background: #1a1b20; color: #f2ecdd; border-color: #1a1b20; }
.studio .closing-section .btn:hover { background: #34353a; }
.closing-action { text-align: center; }
.closing-action p { color: #444932; font-size: 16px; margin: 15px 0 0; }

/* Inner pages */
.page-heading { padding: 85px 0 70px; border-bottom: 1px solid var(--studio-line); }
.page-heading h1 { margin-bottom: 40px; }
.page-heading-bottom { display: flex; align-items: end; justify-content: space-between; gap: 45px; }
.page-heading-bottom p { max-width: 610px; font-size: 19px; margin: 0; }
.editorial-note { font-size: 16px; color: var(--studio-muted); }
.portfolio-section { padding-top: 36px; }
.work-more { display: flex; justify-content: center; margin-top: 48px; }
.portfolio-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-bottom: 22px; border-bottom: 1px solid var(--studio-line); }
.portfolio-filters { display: flex; flex-wrap: wrap; gap: 22px; }
.portfolio-filters button { padding: 10px 0; background: transparent; border: 0; border-bottom: 2px solid transparent; color: var(--studio-muted); font-size: 16px; }
.portfolio-filters button[aria-pressed=true] { color: var(--studio-gold); border-color: var(--studio-gold); }
.portfolio-filters button span { font-size: 16px; vertical-align: super; margin-left: 5px; }
.portfolio-search { width: 310px; }
.portfolio-search input { width: 100%; font-size: 16px !important; min-height: 44px !important; }
.results-count { font-size: 16px; margin: 22px 0; }
.empty-results { padding: 50px; text-align: center; border: 1px solid var(--studio-line); }
.people-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; }
.person-card { display: block; padding: 36px 0 0; border-top: 1px solid var(--studio-line); }
.person-card > img { width: 100%; height: auto; aspect-ratio: 3/4; object-fit: cover; border-radius: 6px; filter: saturate(.65); }
.person-card .overline { font-size: 16px; margin-bottom: 13px; }
.person-card h3 { font-size: 29px; }
.person-card p { font-size: 16px; margin-bottom: 0; }
.service-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 35px; }
.service-grid.three { grid-template-columns: repeat(3, 1fr); }
.service-grid article { border-top: 1px solid #34353c; padding-top: 26px; }
.service-grid h3 { font-size: 25px; line-height: 1.2; }
.service-grid p { font-size: 16px; margin: 0; }
.ai-demo-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: center; }
.ai-demo-layout > div > p { max-width: 390px; }
.ai-example { border-left: 2px solid var(--studio-gold); padding: 8px 0 8px 22px; margin: 35px 0; }
.ai-example .overline { font-size: 16px; margin-bottom: 10px; }
.ai-example p { font-size: 20px; color: var(--studio-text); margin: 0; }
.ai-offer { margin-top: 65px; padding: 40px; background: var(--studio-surface); border: 1px solid var(--studio-line); display: flex; align-items: center; justify-content: space-between; gap: 45px; border-radius: 7px; }
.ai-offer p { max-width: 650px; font-size: 16px; margin: 0; }
.ai-offer h2 { font-size: 47px; }
.ai-offer h2 small { font-size: 17px; letter-spacing: 0; }
.ai-offer .btn { flex-shrink: 0; }

/* Footer */
.site-footer { background: #090a0c; padding: 70px 0 0; overflow: hidden; }
.footer-main { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: 45px; padding-bottom: 55px; }
.footer-brand p { font-size: 24px; line-height: 1.4; letter-spacing: -.035em; color: #d4d9c8; margin: 28px 0 22px; }
.footer-location { font-size: 16px; color: #b4b4bd; }
.studio .site-footer h2 { font-size: 16px; text-transform: uppercase; letter-spacing: .1em; color: #ccccd2; margin: 0 0 22px; font-weight: 500; }
.footer-main nav > a { display: block; font-size: 16px; color: #ccccd2; margin: 12px 0; text-decoration: none; }
.footer-main nav > a:hover, .footer-contact a:hover { color: var(--studio-gold); }
.footer-contact > a { font-size: 17px; text-decoration: none; }
.footer-contact p { font-size: 16px; margin: 21px 0 16px; }
.footer-contact p a { text-decoration: underline; text-underline-offset: 4px; }
.footer-contact > span { font-size: 16px; color: #b4b4bd; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 25px 0; border-top: 1px solid #33343b; }
.footer-bottom > span { font-size: 16px; color: #b4b4bd; }
.footer-bottom nav { display: flex; gap: 20px; flex-wrap: wrap; }
.footer-bottom nav a, .footer-bottom nav button { font-size: 16px; color: #bdbdc4; text-decoration: none; }
.footer-bottom nav button { padding: 0; background: transparent; border: 0; }
.back-top { display: grid; place-items: center; width: 37px; height: 37px; border: 1px solid #494a54; border-radius: 4px; flex-shrink: 0; }
.footer-signature { color: #637354; font-size: clamp(80px, 16.3vw, 247px); font-weight: 600; letter-spacing: -.085em; line-height: 1.08; white-space: nowrap; margin: 25px 0 -15px; }
.footer-signature span { font-size: .18em; vertical-align: top; position: relative; top: .75em; margin-left: .6em; }
.cookie-notice { position: fixed; bottom: 22px; left: 22px; z-index: 200; max-width: 440px; width: calc(100% - 44px); background: #ece8dd; color: #252b1f; border: 1px solid #b9bea8; border-radius: 8px; padding: 23px; box-shadow: 0 10px 45px #0004; }
.cookie-notice strong { font-size: 16px; font-weight: 600; }
.cookie-notice p { font-size: 16px; color: #515b45; margin: 8px 0 18px; }
.cookie-notice a { text-decoration: underline; }
.cookie-actions { display: flex; gap: 10px; }
.studio .cookie-actions .btn { font-size: 16px; min-height: 41px; padding: 10px 13px; color: #252b1f; border-color: #7e886c; flex: 1; }
.studio .cookie-actions .btn.primary { background: #2d3823; color: #f3eedf; border-color: #2d3823; }
.studio .cookie-actions .btn.secondary:hover { background: #d6dbca; }

/* Editorial pages and long-form information */
.featured-story { display: grid; grid-template-columns: 1.1fr 1fr; gap: 55px; align-items: center; margin-bottom: 65px; }
.featured-story img { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; border-radius: 7px; }
.featured-story h2 { font-size: 40px; }
.featured-story h2 a { text-decoration: none; }
.featured-story p { font-size: 16px; }
.journal-filter { display: grid; grid-template-columns: 1.5fr 1fr 1fr auto; gap: 18px; align-items: end; border-block: 1px solid var(--studio-line); padding: 25px 0; margin-bottom: 40px; }
.journal-filter label { font-size: 16px; min-width: 0; }
.journal-filter input, .journal-filter select { display: block; width: 100%; min-height: 50px; border: 1px solid #464750; background: #15161b; color: var(--studio-text); border-radius: 4px; padding: 12px; margin-top: 8px; font-size: 16px; }
.journal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 45px 30px; }
.journal-card > a { display: block; text-decoration: none; }
.journal-card img { width: 100%; height: auto; aspect-ratio: 16/10; object-fit: cover; border-radius: 6px; }
.journal-art { aspect-ratio: 16/10; background: #c8cdb9; color: #37432d; border-radius: 6px; padding: 25px; display: flex; flex-direction: column; justify-content: space-between; position: relative; overflow: hidden; }
.journal-art::after { content: ''; width: 80%; aspect-ratio: 1; border: 1px solid currentColor; opacity: .15; position: absolute; top: 10%; right: -20%; border-radius: 50%; pointer-events: none; }
.journal-art > span { font-size: 16px; letter-spacing: .07em; text-transform: uppercase; }
.journal-art > strong { font: italic 100px/.95 Georgia, serif; letter-spacing: -.08em; }
.journal-art .art-footer { display: flex; justify-content: space-between; font-size: 16px; text-transform: none; }
.journal-art.art-tone-1 { background: #ecd08f; color: #4a4930; }
.journal-art.art-tone-2 { background: #394632; color: #e2e5d5; }
.feature-art { aspect-ratio: 4/3; padding: 35px; background: #c8cdb9; }
.feature-art > strong { font: 500 clamp(35px, 4vw, 60px)/1.1 'Segoe UI', Arial, sans-serif; letter-spacing: -.05em; position: relative; z-index: 1; }
.studio .feature-art em { color: #64754e; display: block; }
.journal-card > a > div { padding-top: 24px; }
.journal-card .overline { font-size: 16px; margin-bottom: 15px; }
.studio .journal-card h2 { font-size: 28px; line-height: 1.2; margin-bottom: 16px; }
.journal-card p { font-size: 16px; }
.journal-card .text-link { font-size: 16px; }
.journal-pager { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--studio-line); margin-top: 55px; padding-top: 30px; }
.journal-pager > span { font-size: 16px; color: var(--studio-muted); }
.article-tag { color: var(--studio-gold); font-size: 16px; text-decoration: none; }
.studio #post > .page-heading .h1 { font-size: clamp(40px, 5vw, 72px); max-width: 1000px; margin-block: 30px; }
.studio #post .meta { gap: 15px; color: var(--studio-muted); font-size: 16px; }
.studio #post .wrap { grid-template-columns: minmax(0, 1fr) 280px; }
.studio #post .side { position: static; }
.studio #post .side h3 { font-size: 21px; }
.studio #post .side .list { list-style: none; padding: 0; }
.studio #post .side li { padding-block: 10px; border-bottom: 1px solid var(--studio-line); font-size: 16px; }
.studio .legal-layout { display: grid; grid-template-columns: 265px minmax(0, 1fr); gap: 85px; padding: 65px 0; align-items: start; }
.legal-content { min-width: 0; overflow-wrap: anywhere; }
.legal-content .compare .row { grid-template-columns: minmax(0, .6fr) minmax(0, 1fr); }
.legal-nav { position: sticky; top: 125px; display: grid; gap: 12px; max-height: calc(100vh - 165px); overflow: auto; padding-right: 15px; }
.legal-nav .overline { margin-bottom: 8px; }
.legal-nav a { color: var(--studio-muted); font-size: 16px; line-height: 1.55; text-decoration: none; }
.legal-nav a:hover { color: var(--studio-gold); }
.studio .legal-content .container { width: 100%; max-width: none; }
.studio .legal-content .section { padding: 0 0 45px; margin-bottom: 45px; border-bottom: 1px solid var(--studio-line); background: transparent; }
.studio .legal-content .section:last-child { margin-bottom: 0; }
.studio .legal-content h2 { font-size: 31px; line-height: 1.2; }
.studio .legal-content h3 { font-size: 22px; }
.studio .legal-content .grid { grid-template-columns: 1fr; }
.studio .legal-content .card { background: #111216; padding: 25px; }
.studio .legal-content .card-head .pill { display: none; }
.studio .legal-content .list { padding-left: 20px; }
.legal-content p, .legal-content li { font-size: 16px; line-height: 1.85; }
.legal-content .row { flex-wrap: wrap; gap: 15px; }
.legal-content input[type=checkbox] { accent-color: var(--studio-gold); width: 19px; height: 19px; }
.studio .legal-content a:not(.btn) { text-decoration: underline; text-underline-offset: 4px; }
.studio .error-page { padding-block: 110px; min-height: 70vh; }
.error-page p { max-width: 600px; font-size: 19px; }
.error-page h1 { margin-bottom: 30px; }

/* Existing article typography */
.studio :is(#blog, #post) { --card: var(--studio-surface); --line: var(--studio-line); }
.studio :is(#blog, #post) .hero, .studio .hero { background: var(--studio-bg); padding: 75px 0 50px; border-bottom: 1px solid var(--studio-line); }
.studio :is(#blog, #post) .h1, .studio .hero .h1 { font-size: clamp(40px, 5vw, 72px); color: var(--studio-text); }
.studio .hero .art, .studio .hero .kpi-bar, .studio .hero .guarantee { display: none; }
.studio .hero .container { display: block; }
.studio .hero .lead { max-width: 740px; font-size: 19px; color: var(--studio-muted); }
.studio .hero .accent { color: var(--studio-gold); background: none; -webkit-text-fill-color: currentColor; }
.studio .hero .eyebrow { display: inline-block; background: none; border: 0; padding: 0; font-size: 16px; color: var(--studio-gold); }
.studio .section { padding: 75px 0; }
.studio .section.alt { background: var(--studio-surface); }
.studio .card { background: var(--studio-surface); border: 1px solid var(--studio-line); border-radius: 7px; box-shadow: none; padding: 26px; }
.studio .pill, .studio .chip, .studio .badge { border-radius: 3px; font-size: 16px; box-shadow: none; }
.studio .reveal, .studio .reveal-up, .studio .reveal-fade { opacity: 1; transform: none; }
.studio :is(#blog, #post) .wrap { padding-block: 45px; gap: 45px; }
.studio #blog .featured { background: var(--studio-surface); border-color: var(--studio-line); border-radius: 7px; }
.studio #blog .featured__body { padding: 30px; }
.studio #blog .post { border-color: var(--studio-line); background: var(--studio-surface); border-radius: 7px; }
.studio #blog .post__body { padding: 24px; }
.studio #blog .post__title { font-size: 25px; }
.studio #blog .post__excerpt { font-size: 16px; line-height: 1.65; }
.studio #blog .controls { flex-wrap: wrap; }
.studio #blog .filters .row { display: grid; }
.studio #blog .input, .studio #blog .select { background: var(--studio-bg); color: var(--studio-text); border-color: #586147; border-radius: 4px; min-height: 48px; font-size: 16px; }
.studio #post .prose { font-size: 18px; line-height: 1.85; }
.studio #post .prose h2 { font-size: 34px; margin-top: 45px; }
.studio #post .prose h3 { font-size: 26px; }
.studio .prose a { text-decoration: underline; text-underline-offset: 4px; }
.studio[data-page='policy'] main .card, .studio[data-page='terms'] main .card, .studio[data-page='cookies'] main .card { line-height: 1.8; }

@media (min-width: 1600px) { .hero-layout { padding-block: 85px; } }
@media (max-width: 1150px) {
  .studio .container { width: calc(100% - 64px); }
  .site-nav { gap: 21px; }
  .hero-layout { gap: 35px; }
  .hero-copy h1 { font-size: 6.7vw; }
  .hero-actions { gap: 18px; }
  .price-card { padding: 25px; }
  .contact-layout { gap: 50px; }
  .upgrade-layout { gap: 45px; }
  .footer-main { gap: 28px; }
  .person-card { grid-template-columns: 1fr; align-items: start; }
  .person-card > img { aspect-ratio: 5/4; object-position: center 30%; }
  .service-grid { grid-template-columns: 1fr 1fr; }
  .portfolio-toolbar { align-items: start; flex-direction: column; }
  .portfolio-search { width: 100%; }
}
@media (max-width: 1080px) {
  .featured-story { gap: 30px; }
  .featured-story h2 { font-size: 31px; }
  .journal-filter { grid-template-columns: 1fr 1fr; }
  .journal-grid { grid-template-columns: 1fr 1fr; }
  .studio .legal-layout { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .legal-nav { position: static; display: flex; flex-wrap: wrap; max-height: none; gap: 13px 22px; border-bottom: 1px solid var(--studio-line); padding-bottom: 25px; }
  .legal-nav .overline { width: 100%; }
  .studio #post .wrap { grid-template-columns: 1fr; }
  .studio .container { width: calc(100% - 48px); }
  .header-inner { min-height: 77px; }
  .menu-toggle { display: block; }
  .site-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #15161b; padding: 24px; border-bottom: 1px solid #3d3e45; box-shadow: 0 20px 30px #0004; max-height: calc(100dvh - 77px); overflow-y: auto; }
  .site-nav.is-open { display: flex; flex-direction: column; align-items: stretch; gap: 8px; }
  .site-nav > a:not(.btn) { font-size: 19px; border-bottom: 1px solid #34353d; }
  .site-nav .btn { margin: 10px 0 0; }
  .no-js .site-header { position: relative; }
  .no-js .header-inner { flex-wrap: wrap; padding-top: 24px; }
  .no-js .site-nav { display: flex; position: static; flex-wrap: wrap; }
  .no-js .menu-toggle { display: none; }
  .hero-topline { padding-top: 27px; }
  .availability { display: none; }
  .hero-layout { grid-template-columns: 1fr; padding: 45px 0; gap: 35px; }
  .hero-copy h1 { font-size: clamp(57px, 10.5vw, 85px); }
  .hero-copy > p { max-width: 510px; }
  .hero-showcase { max-width: 660px; padding: 0; width: 100%; }
  .showcase-browser img { aspect-ratio: 16/9; }
  .hero-bottom { gap: 20px; }
  .hero-bottom > a { display: none; }
  .studio-section { padding: 80px 0; }
  .value-grid { grid-template-columns: 1fr 1fr; }
  .section-heading { gap: 30px; }
  .section-heading > p, .section-heading > div + div { max-width: 310px; }
  .process-tabs button { padding: 18px 10px; gap: 10px; font-size: 16px; }
  .step-arrow { display: none; }
  .process-panel { gap: 35px; padding: 35px 5px; }
  .process-copy h3 { font-size: 30px; }
  .process-delivery { padding-left: 25px; }
  .process-delivery li { font-size: 16px; }
  .price-grid { gap: 14px; }
  .price-card { padding: 24px 18px; }
  .price-card-top { flex-wrap: wrap; align-content: start; min-height: 62px; }
  .price-intro { min-height: 80px; }
  .price-card-top h3 { font-size: 26px; }
  .price-amount > div { font-size: 36px; }
  .price-card .btn { gap: 12px; padding-inline: 14px; }
  .check-list li { font-size: 16px; }
  .upgrade-layout, .contact-layout, .faq-layout, .ai-demo-layout { grid-template-columns: 1fr; gap: 45px; }
  .upgrade-art { max-width: 640px; }
  .contact-copy h2 br:last-of-type, .contact-copy h1 br:last-of-type { display: none; }
  .contact-copy > p { max-width: 580px; }
  .contact-person { margin-top: 28px; max-width: 450px; }
  .faq-layout h2 br { display: none; }
  .faq-layout > div > p { max-width: none; }
  .page-heading { padding: 65px 0 50px; }
  .studio .page-heading h1 { font-size: clamp(46px, 7.5vw, 70px); }
  .page-heading-bottom { align-items: start; flex-direction: column; gap: 25px; }
  .ai-demo-layout > div > p { max-width: 600px; }
  .footer-main { grid-template-columns: 1.3fr 1fr; gap: 40px; }
  .footer-bottom { align-items: start; flex-wrap: wrap; }
  .footer-bottom nav { order: 3; width: 100%; }
  .studio .closing-inner { align-items: start; flex-direction: column; gap: 35px; }
  .closing-action { text-align: left; }
  .studio :is(#blog, #post) .wrap { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .featured-story, .journal-grid, .journal-filter { grid-template-columns: 1fr; }
  .featured-story { gap: 25px; }
  .journal-filter input, .journal-filter select { font-size: 16px; }
  .studio .legal-layout { padding-block: 40px; }
  .studio .legal-content .compare .row { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .studio .legal-content .note.inline { display: block; }
  .studio .legal-content h2 { font-size: 27px; }
  .legal-nav a { font-size: 16px; }
  .studio .error-page { padding-block: 65px; }
  .studio { font-size: 16px; }
  .studio .container { width: calc(100% - 40px); }
  .wordmark { font-size: 27px; }
  .hero-topline .overline { font-size: 16px; letter-spacing: .09em; }
  .hero-copy h1 { font-size: clamp(49px, 12.3vw, 74px); }
  .hero-copy > p { font-size: 17px; }
  .hero-actions { gap: 20px; }
  .hero-actions .btn { font-size: 16px; gap: 15px; padding-inline: 17px; }
  .hero-actions .text-link { font-size: 16px; }
  .hero-reassurance { font-size: 16px; gap: 15px; }
  .hero-bottom p { font-size: 16px; }
  .hero-bottom > div { gap: 10px; }
  .hero-bottom > div strong { font-size: 32px; }
  .hero-bottom > div span { font-size: 16px; max-width: 85px; }
  .showcase-caption { font-size: 16px; }
  .showcase-detail { margin-inline: 14px; padding: 17px; gap: 12px; }
  .showcase-mark { font-size: 35px; padding-right: 12px; }
  .showcase-detail strong { font-size: 16px; }
  .showcase-detail div > span { font-size: 16px; }
  .studio-section { padding: 65px 0; }
  .studio h2 { font-size: 37px; }
  .studio .overline { font-size: 16px; margin-bottom: 20px; }
  .section-heading { display: block; margin-bottom: 32px; }
  .section-heading > p, .section-heading > div + div { max-width: none; margin-top: 22px; font-size: 16px; }
  .work-grid { grid-template-columns: 1fr; gap: 32px; }
  .work-info h3 { font-size: 25px; }
  .work-info p { font-size: 16px; }
  .work-info .overline { margin-bottom: 8px; }
  .value-section { padding: 0 0 65px; }
  .value-grid { gap: 30px 20px; }
  .value-grid > div:first-child { grid-column: 1 / -1; }
  .value-grid > div:first-child h2 br { display: none; }
  .value-item { padding-left: 16px; }
  .value-item:last-child { grid-column: 1 / -1; }
  .value-item p { font-size: 16px; }
  .value-item h3 { font-size: 22px; }
  .process-tabs { grid-template-columns: 1fr 1fr; }
  .process-tabs button { padding: 16px 10px; font-size: 16px; }
  .process-panel { grid-template-columns: 1fr; gap: 28px; padding: 30px 0; min-height: 470px; align-content: start; }
  .process-copy h3 { font-size: 29px; }
  .process-copy p { font-size: 16px; }
  .process-delivery { border-left: 0; padding: 20px 0 0; border-top: 1px solid #33343b; }
  .process-delivery .overline { margin-bottom: 12px; }
  .process-delivery li { padding-block: 6px; }
  .process-bottom { align-items: start; flex-direction: column-reverse; gap: 18px; }
  .price-grid { grid-template-columns: 1fr; gap: 20px; }
  .price-card { padding: 29px; }
  .price-card-top { min-height: 32px; align-items: center; }
  .price-intro { min-height: 0; }
  .price-amount > div { font-size: 49px; }
  .check-list li { font-size: 16px; }
  .pricing-extra { display: block; padding: 26px; }
  .extra-price { text-align: left; margin-top: 25px; }
  .pricing-foot { flex-direction: column; align-items: start; gap: 16px; }
  .assurance-grid { grid-template-columns: 1fr; gap: 26px; }
  .assurance-grid p { font-size: 16px; }
  .upgrade-art { padding: 22px 15px 17px; }
  .mini-body { padding: 26px 22px; }
  .mini-body strong { font-size: 34px; }
  .mini-top { padding-inline: 18px; }
  .mini-bottom { font-size: 16px; padding-inline: 12px; }
  .website-review > div { flex-direction: column; }
  .website-review .btn { width: 100%; justify-content: space-between; }
  .contact-copy { padding-top: 0; }
  .studio .contact-copy h1, .studio .contact-copy h2 { font-size: 43px; }
  .contact-copy h1 br:last-of-type, .contact-copy h2 br:last-of-type { display: initial; }
  .contact-email { font-size: 20px; }
  .inquiry-form { padding: 25px 20px; gap: 22px; }
  .form-heading h3 { font-size: 24px; }
  .field-row { grid-template-columns: 1fr; gap: 22px; }
  .form-privacy { font-size: 16px; }
  .studio :is(.inquiry-form, .website-review, .portfolio-search) :is(input:not([type=radio]):not([type=hidden]), textarea) { font-size: 16px; }
  .faq-list summary { font-size: 16px; padding-block: 22px; }
  .faq-answer { padding-right: 20px; }
  .faq-answer p { font-size: 16px; }
  .studio .closing-inner { padding-block: 55px; }
  .studio .closing-section h2 { font-size: 44px; }
  .studio .page-heading h1 { font-size: 46px; }
  .page-heading-bottom p { font-size: 17px; }
  .portfolio-filters { gap: 6px 20px; }
  .portfolio-filters button { font-size: 16px; }
  .people-grid, .service-grid, .service-grid.three { grid-template-columns: 1fr; }
  .people-grid { gap: 40px; }
  .person-card > img { max-height: 390px; object-position: center 25%; }
  .person-card h3 { font-size: 28px; }
  .person-card p { font-size: 16px; }
  .ai-offer { padding: 25px; display: block; }
  .ai-offer h2 { font-size: 40px; }
  .ai-offer .btn { margin-top: 25px; }
  .site-footer { padding-top: 50px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 35px 20px; }
  .footer-brand, .footer-contact { grid-column: 1 / -1; }
  .footer-brand p { font-size: 26px; margin-block: 22px 15px; }
  .footer-main nav > a { font-size: 16px; }
  .footer-bottom nav { gap: 14px 20px; }
  .footer-bottom > span { max-width: 260px; }
  .footer-signature { margin-top: 5px; font-size: 16.2vw; margin-bottom: -4px; }
  .cookie-notice { left: 12px; bottom: 12px; width: calc(100% - 24px); padding: 18px; }
  .studio .hero .h1 { font-size: 40px; }
  .studio #blog .posts, .studio #blog .featured { grid-template-columns: 1fr; }
  .studio #blog .controls { display: grid; grid-template-columns: 1fr; }
  .studio #blog .controls > label { min-width: 0 !important; }
  .studio #post .prose { font-size: 17px; }
  .studio #post .post-nav { display: grid; gap: 20px; }
  .success-section .text-link { margin: 24px 0 0; }
}
/* Refined RUUD identity: original artwork, generous type and softer surfaces. */
.studio { font-size: 18px; line-height: 1.7; }
.studio h1, .studio h2 { font-weight: 600; letter-spacing: -.05em; }
.studio h3 { font-weight: 550; }
.studio em { font-family: inherit; font-style: normal; font-weight: inherit; color: var(--studio-gold); }
.studio .overline { font-size: 16px; letter-spacing: 0; text-transform: none; color: var(--studio-muted); font-weight: 400; }
.studio .btn { border-radius: 10px; min-height: 58px; padding: 16px 26px; font-size: 17px; }
.studio .btn.primary { background: linear-gradient(120deg, #f6dfa8, #dfbb70); border-color: #e9c77f; color: #181511; box-shadow: inset 0 1px 0 #fff5, 0 5px 24px #e6bc5810; }
.studio .btn.primary:hover { background: #f8e4b8; box-shadow: 0 7px 32px #e6bc5838; }
.studio .btn.secondary { background: #ffffff06; border-color: #ffffff24; }
.studio .text-link { font-size: 17px; border-color: #62616a; }
.studio .container { max-width: 1320px; }
.site-header { background: #090a0cf5; border-bottom: 1px solid #ffffff0d; }
.header-inner { min-height: 100px; }
.brand-logo { display: inline-flex; flex-shrink: 0; border-radius: 18px; }
.brand-logo img { display: block; width: 68px; height: 68px; object-fit: contain; border-radius: 16px; }
.site-nav { gap: 28px; }
.site-nav > a { font-size: 17px; }
.site-nav .btn { font-size: 16px; min-height: 50px; padding: 12px 20px; }
.menu-toggle { border-radius: 14px; }
.home-hero { background: radial-gradient(ellipse at 83% 38%, #8e662517, transparent 55%), #090a0c; padding-bottom: 60px; }
.hero-layout { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); min-height: 760px; gap: 36px; padding-block: 65px 80px !important; }
.hero-copy, .hero-identity { min-width: 0; }
.hero-copy h1 { font-size: clamp(54px, 5.8vw, 84px); line-height: 1.07; margin: 0 0 30px; letter-spacing: -.055em; }
.hero-copy > p { max-width: 550px; font-size: 21px; line-height: 1.7; }
.hero-copy .hero-intro { color: #d8c59e; font-size: 18px; margin-bottom: 30px; }
.hero-intro > span { width: 8px; height: 8px; border-radius: 50%; background: var(--studio-gold); box-shadow: 0 0 18px #e6bc5860; }
.hero-actions { gap: 16px; }
.hero-copy .hero-promise { margin-top: 28px; margin-bottom: 0; font-size: 17px; max-width: 420px; color: var(--studio-muted); }
.hero-identity { position: relative; width: 100%; aspect-ratio: 1; isolation: isolate; }
.identity-logo { width: 100%; height: auto; mix-blend-mode: screen; mask-image: radial-gradient(ellipse at center, #000 43%, transparent 71%); }
.identity-orbit { position: absolute; inset: 8% -3%; border: 1px solid #cda76520; border-radius: 50%; transform: rotate(-24deg) scaleY(.78); z-index: -1; box-shadow: 0 0 70px #d9a74208; }
.identity-orbit::after { content: ''; position: absolute; inset: -18%; border: 1px solid #cda7650c; border-radius: 50%; }
.identity-preview { display: block; position: absolute; width: 66%; right: 6%; bottom: -9%; overflow: hidden; border: 1px solid #ffffff28; border-radius: 22px; background: #16171d; box-shadow: 0 20px 60px #0009; transform: rotate(-5deg); text-decoration: none; transition: transform .2s ease; }
.identity-preview:hover { transform: rotate(-2deg) translateY(-4px); }
.identity-preview img { width: 100%; height: auto; aspect-ratio: 2.4; object-fit: cover; object-position: center 40%; }
.identity-preview > span { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 17px 20px; font-size: 17px; }
.identity-preview b { font-size: 25px; color: var(--studio-gold); font-weight: 400; }
.studio-section { padding-block: 95px; }
.section-heading { margin-bottom: 45px; align-items: center; }
.section-heading > p, .section-heading > div + div { max-width: 420px; font-size: 19px; }
.work-section { border-top: 0; background: linear-gradient(#0f1014, #090a0c); border-radius: 50px 50px 0 0; }
.work-grid { gap: 38px; }
.work-image { border-radius: 24px; background: #18191e; border-color: #ffffff1b; box-shadow: 0 16px 36px #0004; }
.work-image img { aspect-ratio: 16/10; }
.work-open { border-radius: 12px; background: #f2dfb5; color: #25211a; padding: 12px 18px; font-size: 16px; }
.work-info { display: flex; align-items: start; justify-content: space-between; gap: 24px; padding: 25px 4px 0; }
.work-info a { text-decoration: none; }
.work-info h3 a:hover { color: var(--studio-gold); }
.work-direct { display: grid; place-items: center; font-size: 27px; min-width: 44px; min-height: 44px; color: var(--studio-gold) !important; }
.work-direct:hover { transform: translate(2px, -2px); }
.work-open { border: 1px solid #f4dfb544; cursor: pointer; font-family: inherit; transition: background .2s, transform .2s; }
.work-open:hover { background: #fff0cb; transform: translateY(-2px); }
.work-info h3 { font-size: 29px; margin-bottom: 10px; }
.work-info p { font-size: 18px; }
.value-section { padding-bottom: 95px; }
.value-grid { gap: 32px; }
.value-grid h2 { font-size: 37px; }
.value-item { border: 0; padding: 6px 0 0; }
.value-item h3 { font-size: 26px; margin-bottom: 16px; }
.value-item h3::before { content: ''; display: block; height: 3px; width: 34px; border-radius: 3px; background: var(--studio-gold); margin-bottom: 25px; }
.value-item p { font-size: 18px; }
.surface { background: transparent; }
#prosess { background: radial-gradient(ellipse at 10% 60%, #6c542310, transparent 60%); }
.process { display: grid; grid-template-columns: 290px minmax(0, 1fr); column-gap: 40px; padding: 42px; border: 1px solid #ffffff16; border-radius: 32px; background: linear-gradient(140deg, #1c1c21, #111216 70%); box-shadow: 0 24px 60px #0003; }
.process-tabs { display: flex; flex-direction: column; gap: 12px; border: 0; padding-top: 8px; }
.process-tabs button { border: 0; border-radius: 18px; padding: 18px 16px; gap: 16px; font-size: 18px; color: #b8b8c0; }
.process-tabs button:hover { background: #ffffff05; }
.process-tabs button[aria-selected='true'] { background: linear-gradient(100deg, #e4c27e16, #e4c27e03); color: var(--studio-text); }
.step-number { width: 43px; height: 43px; display: grid; place-items: center; border: 1px solid #ffffff25; border-radius: 50%; font-size: 16px; flex-shrink: 0; }
[aria-selected='true'] .step-number { background: var(--studio-gold); border-color: var(--studio-gold); color: #17130e; }
.step-arrow { display: none; }
.process-panels { min-width: 0; }
.process-panel { display: block; min-height: 380px; padding: 25px 15px 20px 32px; border: 0; }
.process-copy h3 { font-size: 36px; margin-bottom: 20px; }
.process-copy p { font-size: 19px; max-width: 600px; }
.process-note { font-size: 17px; }
.process-delivery { border: 0; padding: 20px 0 0; margin-top: 12px; }
.process-delivery li { font-size: 18px; padding-block: 7px; }
.process-bottom { grid-column: 1 / -1; border-top: 1px solid #ffffff12; margin-top: 25px; padding-top: 25px; gap: 25px; }
.process-bottom p { font-size: 16px; max-width: 720px; }
.process-controls button { border-radius: 13px; width: 46px; height: 46px; }
.process-controls span { font-size: 16px; }
.price-grid { gap: 25px; align-items: stretch; padding-top: 14px; }
.price-card { border-radius: 28px; border: 1px solid #ffffff21; padding: 36px; background: linear-gradient(145deg, #1b1c22, #121317); }
.price-card.recommended { border-color: #e3c2819c; background: radial-gradient(ellipse at top, #ba914b25, transparent 65%), linear-gradient(145deg, #242127, #151519); box-shadow: 0 0 55px #dcb3540c; }
.price-card-top { gap: 12px; min-height: 40px; }
.price-card-top h3 { font-size: 32px; }
.recommendation { text-transform: none; letter-spacing: 0; font-size: 16px; }
.price-intro { font-size: 18px; min-height: 90px; margin-bottom: 20px; }
.price-amount > div { font-size: 55px; }
.price-amount small, .price-amount del { font-size: 16px; }
.check-list { padding-block: 28px; }
.check-list li { font-size: 17px; padding-block: 9px; }
.price-details summary, .price-details p { font-size: 17px; }
.pricing-extra { border-radius: 25px; margin-top: 28px; padding: 35px; background: #15161a; border-color: #ffffff17; }
.pricing-extra .overline { font-size: 19px; color: var(--studio-gold); }
.pricing-extra p, .pricing-foot p { font-size: 18px; }
.extra-price strong { font-size: 32px; }
.extra-price .text-link, .extra-price > span { font-size: 16px; }
.pricing-foot { padding-block: 32px; }
.assurance-grid strong { font-size: 19px; }
.assurance-grid p { font-size: 17px; }
.upgrade-section { border: 0; padding-top: 35px; }
.studio .upgrade-layout { grid-template-columns: 1.1fr 1fr; padding: 55px; gap: 60px; background: radial-gradient(ellipse at top left, #ba914b1b, transparent 75%), #15161a; border: 1px solid #ddc28c28; border-radius: 32px; }
.upgrade-layout h2 { font-size: 44px; }
.upgrade-layout > div > p { font-size: 19px; margin-bottom: 0; }
.website-review { margin: 0; }
.website-review h3 { font-size: 26px; margin-bottom: 23px; }
.website-review label { font-size: 17px; }
.website-review > input:not([type=hidden]) { display: block; width: 100%; }
.website-review > .btn { width: 100%; margin-top: 15px; justify-content: space-between; font-size: 17px; }
.website-review > p { font-size: 16px; margin-bottom: 0; }
.contact-section { background: radial-gradient(ellipse at 20% 60%, #81642910, transparent 65%); }
.contact-layout { gap: 75px; grid-template-columns: .9fr 1.1fr; align-items: center; }
.contact-copy { padding: 0; }
.studio .contact-copy h1, .studio .contact-copy h2 { font-size: clamp(45px, 4.9vw, 68px); }
.contact-copy > p { font-size: 20px; max-width: 450px; }
.contact-email { font-size: 23px; }
.contact-person { padding-top: 30px; border-color: #ffffff1b; gap: 18px; }
.contact-person img { width: 72px; height: 72px; }
.contact-person strong { font-size: 19px; }
.contact-person span { font-size: 17px; max-width: 270px; }
.inquiry-form { border-radius: 30px; background: linear-gradient(145deg, #1d1e24, #131418); border-color: #ffffff1e; padding: 40px; gap: 25px; box-shadow: 0 24px 70px #0003; }
.form-heading h3 { font-size: 28px; }
.form-heading p, .form-privacy { font-size: 16px; }
.inquiry-form label, .contact-method legend { font-size: 17px; }
.contact-method label { font-size: 18px; }
.studio :is(.inquiry-form, .website-review, .portfolio-search) :is(input:not([type=radio]):not([type=hidden]), textarea) { border-radius: 12px; background: #0d0e12; border-color: #41424c; font-size: 17px; padding: 15px 17px; min-height: 55px; }
.form-privacy { margin-top: 0; line-height: 1.65; }
.faq-layout { grid-template-columns: .7fr 1.3fr; gap: 70px; }
.faq-layout .overline { display: none; }
.faq-layout > div > p { font-size: 19px; max-width: 360px; }
.faq-list { border: 0; }
.faq-list details { background: #141519; border: 1px solid #ffffff0d; border-radius: 18px; margin-bottom: 13px; }
.faq-list summary { padding: 23px 26px; font-size: 19px; gap: 20px; }
.faq-list details[open] { border-color: #e4c27e65; background: linear-gradient(120deg, #201e1c, #15161a); }
.faq-answer { padding: 0 26px 26px; }
.faq-answer p { font-size: 18px; }
.closing-section { background: transparent; padding: 15px 0 95px; color: var(--studio-text); }
.studio .closing-inner { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 75px 35px; gap: 24px; background: radial-gradient(ellipse at 50% 0, #b4873430, transparent 65%), #17171b; border-radius: 36px; border: 1px solid #d2b47337; }
.studio .closing-section h2 { font-size: clamp(40px, 4.5vw, 63px); }
.studio .closing-section em { color: var(--studio-gold); }
.closing-inner > p { max-width: 620px; margin: 0 0 8px; font-size: 20px; }
.studio .closing-section .btn.primary { background: linear-gradient(120deg, #f6dfa8, #dfbb70); border-color: #e9c77f; color: #181511; }
.site-footer { border-top: 1px solid #ffffff15; padding: 60px 0 12px; background: #0c0d10; }
.footer-main { grid-template-columns: 1.5fr 1fr 1fr; gap: 70px; padding-bottom: 45px; }
.footer-brand .brand-logo img { width: 76px; height: 76px; }
.footer-brand p { font-size: 22px; color: #dedde3; margin: 20px 0 18px; }
.footer-email { font-size: 19px; text-decoration: none; }
.studio .site-footer h2 { font-size: 20px; text-transform: none; color: #eceaf0; letter-spacing: -.01em; margin-bottom: 20px; }
.footer-main nav > a { font-size: 17px; padding-block: 3px; margin-block: 9px; }
.footer-hours { font-size: 16px; margin-top: 20px; }
.footer-hours span { white-space: nowrap; }
.footer-bottom { padding: 25px 0 75px; }
.footer-bottom > span, .footer-bottom nav a, .footer-bottom nav button { font-size: 15px; }
.footer-bottom nav { gap: 20px; }
.back-top { width: 44px; height: 44px; border-radius: 13px; }
.page-heading { border: 0; padding-block: 70px 50px; background: radial-gradient(ellipse at 75% -50%, #a57b2f17, transparent 80%); }
.page-heading .overline { margin-bottom: 22px; color: var(--studio-gold); }
.page-heading-bottom p { font-size: 20px; }
.editorial-note { font-size: 17px; max-width: 360px; }
.portfolio-toolbar { gap: 25px; }
.portfolio-filters { gap: 24px; }
.portfolio-filters button { font-size: 17px; }
.portfolio-search { width: 340px; }
.portfolio-search input { font-size: 17px !important; }
.results-count { font-size: 16px; }
.person-card > img { border-radius: 25px; filter: none; }
.person-card p, .service-grid p { font-size: 18px; }
.person-card .overline { font-size: 18px; margin-bottom: 18px; }
.person-card h3 { font-size: 36px; margin-bottom: 23px; }
.person-card p { max-width: 530px; font-size: 19px; line-height: 1.8; }
.service-grid article { padding: 28px 0 0; border: 0; border-top: 1px solid #ffffff24; border-radius: 0; background: none; }
.service-grid .overline { display: none; }
.service-grid h3 { font-size: 27px; }
.ai-offer, .empty-results { border-radius: 26px; }
.ai-offer p { font-size: 18px; }
.journal-art, .journal-card img, .featured-story img { border-radius: 24px; }
.journal-card .overline { font-size: 16px; }
.journal-card p, .featured-story p { font-size: 18px; }
.journal-art.art-tone-0, .journal-art.feature-art { background: #242329; color: #f0d59d; }
.journal-art.art-tone-1 { background: #e0c48b; color: #302719; }
.journal-art.art-tone-2 { background: #282b34; color: #dddde6; }
.studio .feature-art em { color: var(--studio-gold); }
.journal-filter input, .journal-filter select { border-radius: 12px; }
.studio #post .content, .studio #post .side .card, .studio .legal-content .card { border-radius: 22px; }
.studio #post .side li { font-size: 17px; }
.legal-nav a { font-size: 16px; }
.cookie-notice { border-radius: 20px; }
.cookie-notice p, .cookie-notice strong { font-size: 16px; }
.studio .cookie-actions .btn { border-radius: 12px; font-size: 16px; }
@media (max-width: 1150px) {
  .hero-layout { gap: 15px; }
  .hero-copy h1 { font-size: 62px; }
  .hero-copy > p { font-size: 19px; }
  .price-card { padding: 28px; }
  .price-intro { min-height: 122px; }
  .process { grid-template-columns: 250px minmax(0, 1fr); gap: 15px; padding: 28px; }
  .process-panel { padding-left: 20px; }
  .footer-main { gap: 40px; }
  .footer-bottom { flex-wrap: wrap; }
}
@media (max-width: 1080px) {
  .header-inner { min-height: 88px; }
  .brand-logo img { width: 62px; height: 62px; }
  .site-nav { background: #111216; top: 100%; border-color: #33343c; border-radius: 0 0 22px 22px; padding: 24px; }
  .site-nav .btn { margin-left: 0; }
  .hero-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 690px; padding-block: 60px 85px !important; }
  .hero-copy h1 { font-size: clamp(43px, 6vw, 60px); }
  .hero-copy > p { font-size: 18px; }
  .hero-actions .btn { font-size: 16px; padding-inline: 19px; }
  .identity-preview { width: 85%; right: 0; bottom: -15%; }
  .identity-preview > span { font-size: 16px; padding: 14px; }
  .price-grid { grid-template-columns: 1fr; max-width: 700px; margin-inline: auto; gap: 25px; }
  .price-card { display: grid; grid-template-columns: 1fr 1fr; column-gap: 35px; padding: 32px; }
  .price-card-top, .price-intro, .price-amount { grid-column: 1; }
  .price-card-top { min-height: 40px; }
  .price-intro { min-height: 0; margin-block: 16px 25px; }
  .price-amount { margin-bottom: 0; }
  .price-card > .btn { grid-column: 2; grid-row: 3; align-self: end; }
  .check-list { grid-column: 2; grid-row: 1 / span 2; padding: 0; }
  .price-details { grid-column: 1 / -1; margin-top: 25px; }
  .contact-layout { grid-template-columns: 1fr 1fr; gap: 35px; align-items: start; }
  .inquiry-form { padding: 28px; }
  .field-row { grid-template-columns: 1fr; }
  .studio .contact-copy h1, .studio .contact-copy h2 { font-size: 46px; }
  .contact-copy > p { font-size: 18px; }
  .studio .upgrade-layout { gap: 35px; padding: 35px; }
  .upgrade-layout h2 { font-size: 38px; }
  .faq-layout { grid-template-columns: 1fr; gap: 30px; }
  .faq-layout h2 br { display: none; }
  .faq-layout > div > p { max-width: none; }
  .footer-main { grid-template-columns: 1.3fr 1fr 1fr; gap: 30px; }
}
@media (max-width: 760px) {
  .studio .container { width: calc(100% - 40px); }
  .home-hero { padding-bottom: 45px; }
  .hero-layout { grid-template-columns: minmax(0, 1fr); padding-block: 45px 35px !important; gap: 10px; }
  .hero-copy h1 { font-size: clamp(44px, 7.5vw, 61px); }
  .hero-copy h1 em br { display: none; }
  .hero-copy > p { max-width: 600px; font-size: 19px; }
  .hero-copy .hero-intro { font-size: 16px; margin-bottom: 24px; }
  .hero-copy .hero-promise { font-size: 16px; max-width: none; }
  .hero-identity { max-width: 450px; justify-self: center; margin-top: -10px; margin-bottom: 45px; aspect-ratio: 1.35; }
  .identity-logo { width: 84%; margin: -20px auto 0; }
  .identity-preview { width: 60%; right: 3%; bottom: -7%; border-radius: 18px; }
  .identity-preview > span { font-size: 16px; }
  .identity-orbit { inset: 4% 6%; }
  .studio-section { padding-block: 65px; }
  .section-heading { display: block; }
  .section-heading > p, .section-heading > div + div { font-size: 18px; max-width: none; margin-top: 22px; }
  .studio h2 { font-size: 39px; }
  .work-section { border-radius: 32px 32px 0 0; }
  .work-grid { grid-template-columns: 1fr; gap: 36px; }
  .work-info p { font-size: 17px; }
  .value-grid { grid-template-columns: 1fr; gap: 24px; }
  .value-grid > div, .value-item:last-child { grid-column: auto; }
  .value-grid h2 br { display: none; }
  .value-grid h2 { font-size: 36px; }
  .value-item h3::before { margin-bottom: 18px; }
  .value-item p { font-size: 17px; }
  .value-section { padding: 0 0 65px; }
  .process { grid-template-columns: 1fr; padding: 23px; border-radius: 26px; }
  .process-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 0; }
  .process-tabs button { font-size: 16px; gap: 10px; padding: 12px 8px; border-radius: 14px; }
  .step-number { width: 33px; height: 33px; font-size: 15px; }
  .process-panel { padding: 32px 0 0; min-height: 425px; }
  .process-copy h3 { font-size: 29px; }
  .process-copy p, .process-delivery li { font-size: 17px; }
  .process-note { font-size: 16px; }
  .process-bottom { flex-direction: column-reverse; align-items: start; margin-top: 15px; }
  .process-bottom p { font-size: 16px; }
  .price-card { display: block; padding: 30px; }
  .price-card-top { flex-wrap: nowrap; }
  .price-intro { font-size: 18px; }
  .price-amount { margin-bottom: 25px; }
  .check-list { padding-top: 25px; }
  .price-details { margin-top: 20px; }
  .pricing-extra { padding: 27px; display: block; }
  .pricing-extra h3 { font-size: 28px; }
  .extra-price { text-align: left; margin-top: 22px; }
  .pricing-foot { flex-direction: column; align-items: start; gap: 16px; }
  .assurance-grid { grid-template-columns: 1fr; gap: 27px; }
  .studio .upgrade-layout { grid-template-columns: 1fr; padding: 30px; gap: 30px; border-radius: 27px; }
  .upgrade-layout h2 { font-size: 35px; }
  .upgrade-layout > div > p { font-size: 18px; }
  .contact-layout { grid-template-columns: 1fr; gap: 35px; }
  .contact-copy > p { max-width: 520px; }
  .contact-person { margin-top: 25px; }
  .inquiry-form { border-radius: 25px; padding: 28px; }
  .contact-person span { font-size: 17px; }
  .faq-list summary { font-size: 18px; padding: 20px; }
  .faq-answer { padding: 0 20px 23px; }
  .faq-answer p { font-size: 17px; }
  .closing-section { padding: 10px 0 60px; }
  .studio .closing-inner { padding: 48px 25px; border-radius: 28px; gap: 23px; }
  .studio .closing-section h2 { font-size: 38px; }
  .closing-inner > p { font-size: 18px; }
  .closing-inner .btn { font-size: 16px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 38px 24px; padding-bottom: 25px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-main nav > a { font-size: 16px; }
  .studio .site-footer h2 { font-size: 19px; }
  .footer-hours { font-size: 16px; }
  .footer-bottom > span { max-width: 275px; }
  .footer-bottom nav { gap: 18px; }
  .footer-bottom > span, .footer-bottom nav a, .footer-bottom nav button { font-size: 15px; }
  .page-heading-bottom p { font-size: 19px; }
  .portfolio-filters { gap: 10px 20px; }
  .portfolio-filters button { font-size: 16px; }
  .portfolio-search { width: 100%; }
  .person-card p, .service-grid p { font-size: 17px; }
  .studio .cookie-actions .btn { padding: 11px 12px; font-size: 15px; }
}
@media (max-width: 380px) {
  .studio .container { width: calc(100% - 32px); }
  .hero-copy h1 { font-size: 41px; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .btn { justify-content: space-between; }
  .identity-preview { width: 72%; right: 1%; }
  .process { padding: 18px; }
  .process-tabs button { font-size: 15px; gap: 7px; }
  .step-number { width: 28px; height: 28px; }
  .price-card, .inquiry-form { padding: 24px; }
  .price-card-top { flex-wrap: wrap; }
  .studio .upgrade-layout { padding: 24px; }
  .studio .contact-copy h1, .studio .contact-copy h2 { font-size: 41px; }
  .contact-email { font-size: 20px; }
  .footer-main { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
}

/* Finishing details: quiet structure, two clear services, no capsule controls. */
.expertise-section { padding: 15px 0 105px; }
.expertise-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; padding-top: 65px !important; border-top: 1px solid var(--studio-line); }
.expertise-intro h2 { font-size: clamp(38px, 4vw, 58px); }
.expertise-intro p { max-width: 430px; font-size: 20px; }
.expertise-services { display: grid; gap: 35px; }
.expertise-services article + article { border-top: 1px solid var(--studio-line); padding-top: 35px; }
.expertise-services h3 { font-size: 29px; margin-bottom: 16px; }
.expertise-services p { font-size: 19px; margin-bottom: 17px; }
.studio .text-link { font-weight: 500; }
.studio .text-link > span[aria-hidden] { transition: transform .18s; }
.studio .text-link:hover > span[aria-hidden] { transform: translate(3px, -3px); }
.page-heading::after { content: ''; display: block; width: min(1320px, calc(100% - 96px)); height: 1px; background: linear-gradient(90deg, #ddbd7745, #ffffff0d 60%, transparent); margin: 55px auto 0; }
.page-heading { padding-bottom: 0; }
.page-heading + .studio-section { padding-top: 70px; }
.studio[data-page='about'] .service-grid { grid-template-columns: 1fr 1fr; gap: 50px 70px; }
.studio .contact-person { display: block; }
.contact-person span { max-width: 390px; }
.process-tabs button { border-radius: 10px; }
.step-number { border: 0; border-radius: 0; color: var(--studio-muted); font-size: 18px; width: 33px; }
[aria-selected='true'] .step-number { background: none; color: var(--studio-gold); }
.process-tabs button[aria-selected='true'] { box-shadow: inset 2px 0 0 var(--studio-gold); }
.process-tabs button:focus-visible { outline-offset: 2px; }
.process-controls button, .menu-toggle, .back-top { border-radius: 10px; }
.studio .pill, .studio .chip, .studio .badge { background: none; border: 0; border-radius: 0; padding-inline: 0; }
.studio .journal-art:not(.feature-art) { display: flex; justify-content: center; padding: 30px; }
.studio .journal-art:not(.feature-art) strong { font-family: inherit; font-style: normal; font-size: clamp(32px, 3.1vw, 49px); font-weight: 500; letter-spacing: -.05em; overflow-wrap: anywhere; line-height: 1.1; max-width: 100%; }
.studio .journal-art:not(.feature-art) .art-footer { margin-top: auto; font-size: 28px; justify-content: end; }
.journal-card { border-bottom: 1px solid var(--studio-line); padding-bottom: 28px; }
.studio .journal-card h2 { font-size: 27px; line-height: 1.3; }
.journal-filter label { font-size: 17px; }
.studio .journal-filter input, .studio .journal-filter select { font-size: 17px; min-height: 52px; border-radius: 10px; }
.studio .cookie-actions .btn { border-radius: 10px; }

/* On-demand demo viewer. The iframe is mounted only after a visitor opens it. */
html.demo-preview-open { overflow: hidden; }
.demo-preview { width: min(1280px, calc(100vw - 64px)); height: min(900px, calc(100dvh - 64px)); max-width: none; max-height: none; margin: auto; padding: 0; border: 1px solid #ffffff2b; border-radius: 22px; background: #101115; color: var(--studio-text); box-shadow: 0 30px 100px #000a; overflow: hidden; }
.demo-preview::backdrop { background: #030406e8; }
.preview-shell { height: 100%; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; }
.preview-toolbar { display: flex; align-items: center; gap: 30px; padding: 18px 24px; border-bottom: 1px solid var(--studio-line); }
.studio .preview-toolbar h2 { font-size: 23px; letter-spacing: -.025em; margin: 0 auto 0 0; }
.preview-modes { display: flex; align-items: center; gap: 22px; }
.preview-modes button { padding: 10px 1px; background: none; border: 0; border-bottom: 2px solid transparent; color: var(--studio-muted); font-size: 17px; }
.preview-modes button[aria-pressed='true'] { color: var(--studio-gold); border-color: var(--studio-gold); }
.preview-external { font-size: 16px; text-decoration: none; }
.preview-external-short { display: none; }
.preview-close { width: 44px; height: 44px; display: grid; place-items: center; flex-shrink: 0; background: #ffffff08; border: 1px solid var(--studio-line); border-radius: 10px; color: inherit; font-size: 30px !important; line-height: 1; }
.preview-close:hover { background: #ffffff15; }
.preview-stage { min-height: 0; position: relative; display: flex; align-items: center; justify-content: center; background: radial-gradient(ellipse at top, #35302b55, transparent 75%), #08090c; overflow: hidden; }
.preview-viewport { height: calc(100% - 32px); flex-shrink: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 8px 35px #0006; }
.preview-viewport iframe { display: block; border: 0; transform-origin: top left; background: #fff; }
.preview-stage[data-mode='mobile'] .preview-viewport { border-radius: 18px; outline: 1px solid #ffffff32; }
.preview-loading { position: absolute; z-index: 1; text-align: center; max-width: 420px; padding: 25px; font-size: 18px; }
.is-loading .preview-viewport { visibility: hidden; }
.preview-caption { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 18px 25px; border-top: 1px solid var(--studio-line); font-size: 16px; }
.preview-caption p { margin: 0; }
.preview-caption a { text-decoration: none; color: var(--studio-gold); }
@media (max-width: 1080px) {
  .expertise-layout { gap: 50px; }
  .expertise-intro h2 { font-size: 43px; }
  .expertise-services h3 { font-size: 27px; }
  .people-grid { gap: 45px; }
  .person-card h3 { font-size: 32px; }
  .preview-toolbar { gap: 20px; }
}
@media (max-width: 760px) {
  .expertise-section { padding-bottom: 65px; }
  .expertise-layout { grid-template-columns: 1fr; gap: 28px; padding-top: 45px !important; }
  .expertise-intro h2 { font-size: 37px; }
  .expertise-intro p, .expertise-services p { font-size: 18px; }
  .expertise-services h3 { font-size: 26px; }
  .work-info { gap: 15px; }
  .work-info h3 { font-size: 27px; }
  .work-open { bottom: 14px; right: 14px; border-radius: 10px; font-size: 16px; }
  .page-heading::after { width: calc(100% - 40px); margin-top: 35px; }
  .page-heading + .studio-section { padding-top: 45px; }
  .people-grid { grid-template-columns: 1fr; gap: 35px; }
  .person-card { padding-top: 28px; }
  .person-card h3 { font-size: 31px; }
  .person-card p { font-size: 18px; }
  .studio[data-page='about'] .service-grid { grid-template-columns: 1fr; gap: 35px; }
  .step-number { width: 28px; font-size: 17px; }
  .process-tabs button { border-radius: 8px; }
  .studio .journal-card h2 { font-size: 26px; }
  .demo-preview { width: calc(100vw - 16px); height: calc(100dvh - 24px); border-radius: 16px; }
  .preview-toolbar { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 20px; padding: 12px 16px; }
  .studio .preview-toolbar h2 { font-size: 20px; grid-column: 1 / -1; grid-row: 1; padding-right: 55px; margin: 0; }
  .preview-modes { grid-column: 1; grid-row: 2; margin: 0; }
  .preview-external { grid-column: 2; grid-row: 2; justify-self: end; font-size: 16px; }
  .preview-external-wide { display: none; }
  .preview-external-short { display: inline; }
  .preview-close { grid-column: 2; grid-row: 1; justify-self: end; margin: 0; }
  .preview-caption { display: block; padding: 15px 18px; }
  .preview-caption p { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .studio *, .studio *::before, .studio *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Recurring prices belong to the package overview, with readable billing terms. */
.studio .running-cost{display:flex;align-items:center;justify-content:space-between;gap:50px;padding:32px 38px;margin-top:26px;border:1px solid #494234;border-radius:22px;background:linear-gradient(110deg,#211e18,#131417)}
.studio .running-cost h3{margin-bottom:10px;font-size:26px}
.studio .running-cost>div>p{font-size:17px;max-width:650px;margin:0}
.studio .running-cost>p{flex-shrink:0;margin:0;font-size:18px}
.studio .running-cost strong{color:var(--studio-gold);font-size:32px;font-weight:500;letter-spacing:-.04em}
.studio .running-cost>p>span{display:block;text-align:right;font-size:16px;margin-top:4px}
.studio .subscription-price{padding-top:15px;border-top:1px solid var(--studio-line);margin-top:24px!important}
.studio .subscription-price strong{color:var(--studio-text);font-weight:500}
/* Editorial pages: spacious reading column and a quiet, useful contents rail. */
.studio .article-heading{padding-top:55px;padding-bottom:55px;border-bottom:1px solid var(--studio-line)}
.studio .article-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:20px;font-size:17px;margin-bottom:45px;color:var(--studio-muted)}
.studio .article-breadcrumb a{text-decoration:none;padding-block:6px}
.studio .article-breadcrumb a:hover{color:var(--studio-gold)}
.studio .article-breadcrumb>span{color:#66656a}
.studio .article-heading h1{font-size:clamp(44px,5.1vw,76px);max-width:1110px;line-height:1.08;letter-spacing:-.045em;margin-bottom:32px;text-wrap:balance}
.studio .article-lead{max-width:900px;font-size:23px;line-height:1.7;margin-bottom:34px}
.studio .article-byline{display:flex;flex-wrap:wrap;gap:12px 28px;font-size:16px;color:var(--studio-muted)}
.studio .article-byline>a{color:var(--studio-gold);text-underline-offset:5px}
.studio .article-layout{display:grid;grid-template-columns:minmax(0,790px) minmax(220px,290px);gap:90px;justify-content:space-between;padding-block:60px 75px}
.studio .article-sidebar{grid-column:2;grid-row:1;align-self:start;position:sticky;top:120px;min-width:0}
.studio .article-reading{grid-column:1;grid-row:1;min-width:0}
.studio .article-toc{border:0;border-top:1px solid var(--studio-line);border-radius:0;background:none;padding:0}
.studio .article-toc>summary{list-style:none;display:flex;justify-content:space-between;gap:20px;padding:25px 0 18px;color:var(--studio-text);font-size:19px;cursor:pointer}
.studio .article-toc>summary::-webkit-details-marker{display:none}
.studio .article-toc>summary>span{color:var(--studio-gold)}
.studio .article-toc ol{padding:0;list-style:none;counter-reset:article-toc;margin:0}
.studio .article-toc li{counter-increment:article-toc}
.studio .article-toc a{display:grid;grid-template-columns:24px 1fr;gap:12px;padding:11px 0;color:var(--studio-muted);font-size:16px;line-height:1.6;text-decoration:none}
.studio .article-toc a::before{content:counter(article-toc,decimal-leading-zero);color:#9b968a;font-size:14px;padding-top:1px}
.studio .article-toc a:hover,.studio .article-toc a[aria-current]{color:var(--studio-gold)}
.studio .article-side-note{border-top:1px solid var(--studio-line);margin-top:30px;padding-top:26px}
.studio .article-side-note>p{font-size:18px}
.studio .article-takeaways{padding:33px 36px;margin-bottom:55px;background:linear-gradient(125deg,#201e19,#151619);border:1px solid #474034;border-radius:8px 28px 28px 8px;border-left:3px solid var(--studio-gold)}
.studio .article-takeaways h2{font-size:25px;letter-spacing:-.025em;margin-bottom:22px}
.studio .article-takeaways ul{list-style:none;margin:0;padding:0;display:grid;gap:15px}
.studio .article-takeaways li{display:flex;gap:17px;line-height:1.65;font-size:19px;color:#e2ddd2}
.studio .article-takeaways li::before{content:'↗';color:var(--studio-gold)}
.studio .article-prose{font-size:20px;line-height:1.85;color:#d6d4d0;overflow-wrap:anywhere}
.studio .article-prose section+section{margin-top:48px}
.studio .article-prose h2{font-size:36px;line-height:1.2;color:var(--studio-text);text-wrap:pretty;margin:0 0 24px;letter-spacing:-.035em;scroll-margin-top:125px}
.studio .article-prose p{color:#cecdca;margin-bottom:23px}
.studio .article-prose a{color:var(--studio-gold);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.studio .article-prose a:hover{text-decoration-thickness:2px}
.studio .article-prose code{font-size:.85em;background:#242321;border:1px solid #49443a;border-radius:4px;padding:2px 5px;word-break:break-word;white-space:normal;color:#edd7a8}
.studio .article-sources{margin-top:50px;border-top:1px solid var(--studio-line);padding-top:30px}
.studio .article-sources h2{font-size:25px;letter-spacing:-.025em}
.studio .article-sources ul{list-style:none;padding:0;display:grid;gap:16px}
.studio .article-sources a{font-size:17px;line-height:1.6;text-underline-offset:5px;color:var(--studio-muted)}
.studio .article-sources a:hover{color:var(--studio-gold)}
.studio .article-end{display:flex;justify-content:space-between;align-items:start;gap:25px;border-top:1px solid var(--studio-line);padding-top:30px;margin-top:42px;font-size:17px}
.studio .article-end>div>a{color:var(--studio-gold);text-underline-offset:5px}
.studio .article-end p{font-size:16px;margin:12px 0 0}
.studio .article-share{max-width:260px}
.studio .article-share .btn{font-size:16px}
.studio .article-neighbours{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px;margin-top:35px;border-top:1px solid var(--studio-line);padding-top:30px}
.studio .article-neighbours>a{text-decoration:none;min-width:0}
.studio .article-neighbours span{display:block;font-size:15px;color:var(--studio-muted);margin-bottom:13px}
.studio .article-neighbours strong{font-size:20px;font-weight:500;line-height:1.4;display:block}
.studio .article-neighbours>a:hover strong{color:var(--studio-gold)}
.studio .article-related{background:#121316;border-block:1px solid var(--studio-line);padding-block:75px}
.studio .article-related .section-heading h2{font-size:43px}
.studio .article-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px}
.studio .article-related-grid>article{min-width:0;border-top:1px solid #514a3c;padding-top:26px;display:flex;flex-direction:column;align-items:start}
.studio .article-related-grid h3{font-size:28px;line-height:1.25;letter-spacing:-.03em}
.studio .article-related-grid h3 a{text-decoration:none}
.studio .article-related-grid p{font-size:17px;line-height:1.8}
.studio .article-related-grid .overline{font-size:15px;margin-bottom:20px}
.studio .article-related-grid .text-link{margin-top:auto}
.studio .article-contact{padding-block:80px;background:radial-gradient(ellipse at 20% 120%,#302619 0,transparent 65%),#0c0d10}
.studio .article-contact>.container{display:flex;align-items:center;justify-content:space-between;gap:45px}
.studio .article-contact h2{font-size:46px;line-height:1.15;margin-bottom:20px}
.studio .article-contact p{font-size:19px;margin:0}
@media(max-width:1100px){
.studio .article-layout{gap:45px;grid-template-columns:minmax(0,1fr) 245px}
.studio .article-related-grid{gap:28px}
}
@media(max-width:800px){
.studio .running-cost{gap:25px;padding:28px;align-items:start;flex-direction:column}
.studio .running-cost>p>span{display:inline;margin-left:8px}
.studio .article-heading{padding-top:35px;padding-bottom:35px}
.studio .article-breadcrumb{margin-bottom:28px;font-size:16px}
.studio .article-heading h1{font-size:clamp(39px,6.8vw,58px)}
.studio .article-lead{font-size:21px}
.studio .article-byline{gap:10px 20px}
.studio .article-layout{display:flex;flex-direction:column;gap:32px;padding-block:30px 55px}
.studio .article-sidebar{position:static;width:100%}
.studio .article-side-note{display:none}
.studio .article-toc>summary{padding-top:15px}
.studio .article-toc ol{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}
.studio .article-takeaways{margin-bottom:40px}
.studio .article-prose h2{font-size:33px}
.studio .article-related .section-heading{align-items:start}
.studio .article-related-grid{grid-template-columns:1fr;gap:35px}
.studio .article-related-grid h3{font-size:29px;max-width:640px;margin-bottom:15px}
.studio .article-related-grid .overline{margin-bottom:15px}
.studio .article-contact>.container{align-items:start;flex-direction:column;gap:30px}
}
@media(max-width:500px){
.studio .running-cost{padding:25px;gap:20px}
.studio .running-cost strong{font-size:29px}
.studio .running-cost>p>span{display:block;text-align:left;margin:2px 0 0}
.studio .article-heading h1{font-size:39px}
.studio .article-lead{font-size:20px}
.studio .article-byline{font-size:15px;gap:8px 20px}
.studio .article-toc ol{grid-template-columns:1fr}
.studio .article-toc a{font-size:17px;padding-block:9px}
.studio .article-takeaways{padding:25px 22px;border-radius:6px 20px 20px 6px}
.studio .article-takeaways h2{font-size:24px}
.studio .article-takeaways li{font-size:18px;gap:13px}
.studio .article-prose{font-size:19px;line-height:1.8}
.studio .article-prose h2{font-size:30px}
.studio .article-prose section+section{margin-top:36px}
.studio .article-end{flex-direction:column}
.studio .article-neighbours{grid-template-columns:1fr;gap:25px}
.studio .article-related .section-heading h2,.studio .article-contact h2{font-size:36px}
.studio .article-contact{padding-block:60px}
}
/* RUUD finish: one gold palette, four spacious offers and a quieter navigation. */
:root { --studio-gold: #e8be55; --studio-gold-light: #f7df97; --studio-gold-gradient: linear-gradient(120deg, #f7df97 0%, #ecc761 52%, #dcb143 100%); }
.studio .container { max-width: 1400px; }
.studio .btn.primary, .studio .closing-section .btn.primary,
.studio .btn.primary:hover, .studio .closing-section .btn.primary:hover {
  /* Keep the image and opaque base intact: gradient-to-color transitions flash. */
  background-color: #ecc761;
  background-image: var(--studio-gold-gradient);
  background-size: 160% 100%;
  background-position: 65% 50%;
  border-color: #e5bd58;
  color: #211b0d;
  filter: none;
  box-shadow: inset 0 1px 0 #fff6, 0 4px 16px #e6bc5812;
  transition: background-position .32s ease, border-color .25s ease, box-shadow .25s ease, transform .2s ease;
}
@media (hover: hover) and (pointer: fine) {
  .studio .btn.primary:hover, .studio .closing-section .btn.primary:hover {
    background-position: 0% 50%;
    border-color: #f7df97;
    box-shadow: inset 0 1px 0 #fff8, 0 6px 22px #e6bc5826;
    transform: translateY(-1px);
  }
}
.studio .btn.primary:active, .studio .closing-section .btn.primary:active {
  transform: translateY(1px);
  box-shadow: inset 0 1px 3px #78581c25, 0 2px 8px #e6bc5810;
}
.studio .btn.primary:focus-visible { outline: 2px solid var(--studio-gold-light); outline-offset: 5px; }
.site-header { background: #090a0ced; backdrop-filter: blur(18px); }
.header-inner { min-height: 92px; }
.brand-logo img { width: 64px; height: 64px; }
.site-nav { gap: 32px; }
.site-nav > a:not(.btn) { position: relative; color: #d5d3cf; }
.site-nav > a:not(.btn)::after { content: ''; position: absolute; left: 0; right: 0; bottom: 5px; height: 1px; background: var(--studio-gold); transform: scaleX(0); transform-origin: left; transition: transform .2s; }
.site-nav > a:hover:not(.btn), .site-nav > a[aria-current]:not(.btn) { color: #f7df97; }
.site-nav > a:hover:not(.btn)::after, .site-nav > a[aria-current]:not(.btn)::after { transform: scaleX(1); }
.home-hero { background: radial-gradient(ellipse at 81% 40%, #bb842312, transparent 48%), #090a0c; padding-bottom: 25px; }
.hero-layout { min-height: 730px; padding-block: 60px 65px !important; gap: 40px; }
.hero-copy h1 { font-size: clamp(52px, 5.35vw, 80px); letter-spacing: -.055em; line-height: 1.06; }
.hero-copy h1 em { color: var(--studio-gold); }
.hero-copy .hero-intro { color: #d3c6a9; margin-bottom: 25px; }
.hero-copy > p { font-size: 20px; max-width: 500px; margin-bottom: 28px; }
.hero-copy .hero-promise { margin-top: 24px; font-size: 16px; }
.identity-orbit { border-color: #e8be5527; }
.work-open { background: #f0d68f; }
.studio .price-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; max-width: none; margin: 0; align-items: stretch; }
.studio .price-card { position: relative; display: flex; flex-direction: column; padding: 30px 25px 25px; border-radius: 26px; border: 1px solid #ffffff1b; background: linear-gradient(155deg, #1c1d21, #121317 68%); box-shadow: 0 15px 40px #0002; overflow: hidden; }
.price-card::before { content: ''; position: absolute; top: 0; left: 26px; right: 26px; height: 1px; background: linear-gradient(90deg, transparent, #ffffff48, transparent); }
.studio .price-card.recommended { border-color: #e6be5665; background: radial-gradient(ellipse at 20% 0, #e8be5520, transparent 70%), #151619; }
.price-card.recommended::before { background: linear-gradient(90deg, transparent, #f8dc89, transparent); }
.studio .price-card-top { display: flex; flex-direction: column; align-items: start; justify-content: start; flex-wrap: nowrap; min-height: 76px; gap: 10px; }
.studio .price-card-top h3 { font-size: clamp(26px, 2.1vw, 31px); font-weight: 550; letter-spacing: -.035em; }
.studio .recommendation { color: #e7ca83; font-size: 15px; text-transform: none; letter-spacing: 0; font-weight: 400; background: none; padding: 0; border: 0; border-radius: 0; }
.studio .price-intro { min-height: 87px; margin: 8px 0 24px; font-size: 17px; line-height: 1.65; color: #c1bfba; }
.studio .price-amount { padding-top: 21px; margin: 0 0 26px; min-height: 120px; }
.studio .price-amount > del { top: -4px; font-size: 15px; }
.studio .price-amount > div { font-size: clamp(36px, 3.2vw, 48px); line-height: 1.15; letter-spacing: -.045em; color: #f2d17d; }
.studio .price-amount > div > span { font-size: 21px; letter-spacing: -.01em; }
.studio .price-amount > small { font-size: 15px; color: #c0bdb5; margin-top: 10px; }
.studio .price-card > .btn { padding: 14px 16px; font-size: 16px; min-height: 55px; gap: 12px; justify-content: space-between; width: 100%; }
.studio .price-card .check-list { padding: 25px 0; margin: 0; flex: 1; }
.studio .price-card .check-list li { font-size: 16px; line-height: 1.55; padding-block: 8px; gap: 9px; }
.studio .price-details { padding-top: 18px; margin: 0; border-color: #ffffff20; }
.studio .price-details summary, .studio .price-details p { font-size: 16px; }
.studio .price-custom { background: radial-gradient(ellipse at 100% 0, #81632c28, transparent 65%), #121317; border-color: #b998513e; }
.price-custom .price-card-top { position: relative; padding-right: 28px; }
.custom-mark { position: absolute; top: 0; right: 0; font-size: 26px; line-height: 1; color: #e8be55; }
.studio .custom-amount { padding-top: 8px; }
.studio .custom-amount > div { font-size: clamp(26px, 2.1vw, 31px); line-height: 1.18; letter-spacing: -.025em; white-space: normal; color: #f4e3b6; }
.studio .custom-amount > small { margin-top: 8px; }
.pricing-estimates { display: grid; grid-template-columns: 1fr 1fr; gap: 30px 65px; margin-top: 30px; padding: 36px 38px 26px; border: 1px solid #ffffff16; border-radius: 25px; background: #121316; }
.pricing-estimates > div + div { border-left: 1px solid #ffffff1c; padding-left: 50px; }
.pricing-estimates .overline { font-size: 16px; color: #bcb7ab; margin-bottom: 12px; }
.pricing-estimates h3 { font-size: 29px; margin: 0 0 15px; color: #f0d695; letter-spacing: -.025em; }
.pricing-estimates h3 > span { font-size: 18px; color: #c1b8a3; }
.pricing-estimates p { font-size: 17px; line-height: 1.75; margin: 0; max-width: 530px; }
.pricing-estimates a { color: #eacf8d; text-decoration: underline; text-underline-offset: 4px; white-space: nowrap; }
.pricing-estimates .estimate-note { grid-column: 1 / -1; max-width: none; padding-top: 22px; border-top: 1px solid #ffffff12; font-size: 15px; color: #c0bbb0; }
.assurance-grid { padding-top: 38px; gap: 35px; }
.assurance-grid strong { font-size: 18px; font-weight: 500; }
.assurance-grid p { font-size: 16px; }
.campaign-note { font-size: 16px; color: #d9c291 !important; }
.studio .closing-inner { border-color: #e8be552b; background: radial-gradient(ellipse at 50% 0, #ae7d2430, transparent 65%), #141519; }
.site-footer { background: #0a0b0d; }
@media (max-width: 1250px) {
  .studio .price-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .studio .price-card { padding: 32px; }
  .studio .price-card-top { min-height: 72px; }
  .studio .price-card-top h3 { font-size: 31px; }
  .studio .price-intro { min-height: 60px; max-width: 360px; }
  .studio .price-amount > div { font-size: 48px; }
  .studio .custom-amount > div { font-size: 31px; }
  .studio .price-card .check-list li { font-size: 17px; }
  .site-nav { gap: 25px; }
}
@media (max-width: 1080px) {
  .header-inner { min-height: 84px; }
  .brand-logo img { width: 58px; height: 58px; }
  .hero-layout { min-height: 650px; gap: 15px; }
  .hero-copy h1 { font-size: clamp(42px, 5.5vw, 58px); }
  .site-nav > a:not(.btn)::after { content: none; }
  .pricing-estimates { gap: 25px 35px; padding: 30px; }
  .pricing-estimates > div + div { padding-left: 30px; }
}
@media (max-width: 760px) {
  .hero-layout { min-height: 0; padding-block: 40px 20px !important; }
  .hero-copy h1 { font-size: clamp(46px, 9vw, 67px); }
  .hero-copy h1 em br { display: initial; }
  .hero-copy > p { font-size: 18px; }
  .hero-copy .hero-intro { margin-bottom: 23px; }
  .hero-identity { max-width: 350px; margin-block: 5px 5px; }
  .identity-logo { width: 85%; }
  .home-hero { padding-bottom: 20px; }
  .studio .price-grid { gap: 18px; }
  .studio .price-card { padding: 26px; }
  .studio .price-intro { min-height: 86px; }
  .pricing-estimates { grid-template-columns: 1fr; gap: 26px; }
  .pricing-estimates > div + div { border-left: 0; border-top: 1px solid #ffffff1c; padding: 26px 0 0; }
}
@media (max-width: 620px) {
  .studio .price-grid { grid-template-columns: 1fr; }
  .studio .price-card { padding: 30px; }
  .studio .price-card-top { min-height: 0; flex-direction: row; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
  .studio .recommendation { font-size: 14px; }
  .studio .price-intro { min-height: 0; margin-top: 22px; margin-bottom: 28px; }
  .studio .price-amount { min-height: 0; }
  .studio .price-card-top h3 { font-size: 30px; }
  .pricing-estimates { padding: 26px; }
  .pricing-estimates h3 { font-size: 27px; }
}
@media (prefers-reduced-motion: reduce) { .site-nav > a::after { transition: none; } }

/* The consent notice uses the same neutral surfaces and gold as the site. */
.studio .cookie-notice { background: #191a1d; color: #f1ede4; border-color: #c3a9674d; box-shadow: 0 15px 50px #0007; }
.studio .cookie-notice p { color: #c7c1b6; }
.studio .cookie-actions .btn { background: #ffffff05; border: 1px solid #8f8367; color: #eee5d1; font-size: 15px; min-height: 46px; box-shadow: none; }
.studio .cookie-actions .btn.primary { background: #ffffff05; border-color: #8f8367; color: #eee5d1; }
.studio .cookie-actions .btn:hover { background: #3b3322; border-color: #e8be55; color: #fff1ce; }
.person-card p + p { margin-top: 18px; }
