/* Screenshot-led studio UI. Shared across all twelve pages. */
:root {
  color-scheme: light;
  --bg:#fff; --surface:#f3f5f5; --ink:#101719; --muted:#566064;
  --line:#dde2e3; --accent:#a92f24; --button:#b83b2e;
  --display:'DM Sans',Arial,sans-serif; --body:'DM Sans',Arial,sans-serif;
  --width:1280px; --gutter:32px;
}
h1,h2,h3,h4,.serif,.service-block h3,.numbered-row h3,.project-meta h3,.plan h3 {
  font-family:var(--display); font-weight:500; letter-spacing:-.035em;
}
h1 {font-size:clamp(44px,5.2vw,72px);line-height:1.08;max-width:1000px;}
h1 em {font-style:normal;color:inherit;font-weight:inherit;}
h2 {font-size:clamp(32px,3.7vw,50px);line-height:1.14;}
h3 {line-height:1.22;}
p {max-width:72ch;}
.lead {font-size:clamp(20px,2vw,26px);letter-spacing:-.02em;}
.section {padding-block:100px;}
.page-hero {padding-block:80px 64px;}
.page-hero .lead {max-width:760px;}
.dark-panel,.dark-opening .site-header,.cta,.site-footer,.intro-offer,.offer-intro {
  --bg:#0b1012;--surface:#202729;--ink:#f8fafb;--muted:#b6c0c3;--line:#30383b;--accent:#f18072;
  color-scheme:dark;background:var(--bg);color:var(--ink);
}
.dark-panel {max-width:none;padding-inline:max(var(--gutter),calc((100% - 1216px)/2));border-radius:0 0 36px 36px;}
.site-header {max-width:none;padding:18px max(var(--gutter),calc((100% - 1216px)/2));min-height:88px;border-bottom:1px solid var(--line);position:relative;}
.wordmark {letter-spacing:-.045em;}
.site-nav {gap:36px;letter-spacing:.1em;}
.site-nav .button {margin-left:18px;border-radius:5px;}
.light-opening .site-nav .button {--button-rest:#0b1012;--button-rest-ink:#fff;--button-fill:#30383b;}
.button {border-radius:5px;min-height:54px;}
.button.secondary {--button-rest:var(--surface);--button-rest-ink:var(--ink);--button-fill:#3c4549;}
.light-opening .button.secondary {--button-fill:#e3e7e8;}
.actions {gap:16px;}
.studio-hero {padding-top:65px;padding-bottom:68px;}
.studio-title h1 {max-width:940px;}
.studio-title .actions {margin-top:28px;}
.studio-feature {display:grid;grid-template-columns:1.12fr 1fr;gap:58px;align-items:center;margin-top:52px;}
.studio-feature-image {display:block;min-width:0;}
.studio-feature-image img {width:100%;aspect-ratio:1.6;object-fit:cover;border-radius:10px;}
.studio-feature-image>span {display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted);padding-top:12px;}
.studio-feature-image>span>span {color:var(--ink);white-space:nowrap;}
.studio-feature-copy .lead {font-size:23px;line-height:1.4;color:var(--ink);}
.studio-feature-copy blockquote {border-top:1px solid var(--line);padding-top:22px;}
.studio-feature-copy blockquote p {font-size:16px;color:var(--muted);margin-bottom:10px;}
.studio-feature-copy cite {font-size:12px;font-style:normal;color:var(--ink);}
.studio-feature-copy .note {margin-top:22px;font-size:12px;}
.partner-introduction {display:grid;grid-template-columns:1fr 1fr;gap:90px;}
.partner-introduction h2 {max-width:470px;}
.intro-offer {max-width:none;padding-inline:max(var(--gutter),calc((100% - 1216px)/2));border-radius:30px;}
.columns-three {display:block;}
.service-block {display:grid;grid-template-columns:1fr 1.2fr;gap:50px;padding-block:30px;}
.service-block h3 {font-size:30px;margin:0;}
.service-block p {margin:0;}
.service-block .index {display:none;}
.service-directory h2 {margin-bottom:42px;}
.service-directory article {display:grid;grid-template-columns:.85fr 1.2fr;gap:80px;padding-block:34px;border-top:1px solid var(--line);}
.service-directory h3 {font-size:32px;}
.service-directory p {color:var(--muted);}
.offer-intro {border-radius:30px;}
.offer-intro .numbered-row:not(:has(.index)) {grid-template-columns:1fr 1.2fr;}
.work-grid {display:grid;grid-template-columns:1fr;gap:76px;}
.project-link {display:grid;grid-template-columns:1.08fr 1fr;gap:42px;align-items:start;}
.project-image {width:100%;aspect-ratio:1.25;object-fit:cover;border-radius:10px;}
.project-meta {display:flex;flex-direction:column;align-items:start;gap:22px;padding-top:16px;}
.project-meta h3 {font-size:38px;margin-bottom:18px;}
.project-meta p {font-size:14px;}
.project-meta .project-summary {font-size:19px;line-height:1.5;margin-top:28px;color:var(--ink);}
.project-meta>span {display:inline-flex;background:var(--button);color:white;padding:15px 23px;border-radius:5px;font-size:12px;text-transform:uppercase;letter-spacing:.09em;}
.service-visual img,.project-hero-image,.about-image,.article-image {border-radius:10px;}
.project-hero-image {margin-top:36px;}
.pricing-grid {display:block;}
.plan,.plan:first-child,.plan:last-child {display:grid;grid-template-columns:.7fr 1fr 1.3fr;gap:16px 36px;padding:36px 0;border:0;border-bottom:1px solid var(--line);align-items:start;background:transparent;}
.plan-label {grid-column:1;grid-row:1;}
.plan h3 {grid-column:1;grid-row:2;font-size:34px;}
.plan .price {grid-column:2;grid-row:1/3;margin:0;font-size:44px;}
.plan>p:not(.price) {grid-column:1/3;grid-row:3;max-width:40ch;}
.plan ul {grid-column:3;grid-row:1/4;margin:0;}
.plan .button {grid-column:1/3;grid-row:4;justify-self:start;margin:0;}
.cta {border-radius:32px 32px 0 0;padding-block:90px;margin-top:30px;}
.cta-inner {align-items:center;gap:70px;}
.cta h2 {font-size:clamp(38px,4.7vw,66px);max-width:780px;}
.cta-actions {display:flex;flex-direction:column;align-items:start;gap:22px;flex-shrink:0;}
.site-footer {border-radius:0;padding-top:55px;}
.booking-hero {padding-bottom:64px;}
.booking-hero .note {margin-top:20px;}
.consultation-layout {display:grid;grid-template-columns:.85fr 1.2fr;gap:90px;align-items:start;}
.consultation-booking {background:var(--surface);padding:32px;border-radius:8px;}
.consultation-booking h2,.consultation-content h2 {font-size:36px;}
.consultation-booking dl {margin-block:26px;}
.consultation-booking dl div {display:flex;justify-content:space-between;gap:20px;padding-block:13px;border-bottom:1px solid var(--line);font-size:15px;}
.consultation-booking dt {color:var(--muted);}
.consultation-booking dd {margin:0;text-align:right;}
.consultation-booking .button {width:100%;}
.consultation-booking>.text-link {font-size:14px;margin-top:22px;}
.consultation-agenda {padding:0;list-style-position:inside;margin-top:32px;}
.consultation-agenda li {padding:0;margin:0 0 30px;}
.consultation-agenda h3 {display:inline;font-size:23px;}
.consultation-agenda p {color:var(--muted);margin:12px 0 0;}
.consultation-quote {border-top:1px solid var(--line);padding-top:24px;}
.consultation-quote p {font-size:24px;line-height:1.4;}
.consultation-quote cite {font-size:13px;font-style:normal;}
.message-alternative h2 {margin-bottom:24px;}
.message-disclosure {margin-top:30px;max-width:820px;border-top:1px solid var(--line);}
.message-form-wrap {padding-block:20px 36px;}
input,textarea,select {background:var(--surface);color:var(--ink);border-color:#858e92;border-radius:3px;}
input::placeholder,textarea::placeholder {color:#626c70;}
.article-body h2 {font-size:36px;}
.article-checklist {background:var(--surface);}
/* The services panel is a native disclosure: click, keyboard and touch all work. */
.services-menu {border:0;margin:0;padding:0;}
.services-menu>summary {display:flex;align-items:center;gap:9px;padding:12px 0;font:inherit;cursor:pointer;list-style:none;}
.services-menu>summary::-webkit-details-marker {display:none;}
.services-menu>summary::after {display:none;}
.services-menu>summary svg {width:15px;height:15px;transition:transform 180ms ease;}
.services-menu[open]>summary svg {transform:rotate(180deg);}
.mega-menu {--bg:#fff;--ink:#101719;--muted:#566064;--line:#dde2e3;--accent:#a92f24;position:absolute;z-index:40;top:100%;left:0;right:0;background:var(--bg);color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:.65fr 1fr 1.15fr;gap:50px;padding:42px max(var(--gutter),calc((100% - 1216px)/2));text-transform:none;letter-spacing:0;font-weight:400;box-shadow:0 20px 30px rgb(0 0 0 / 12%);}
.mega-intro {border-right:1px solid var(--line);padding-right:32px;font-size:15px;}
.mega-intro>a:first-child {font-size:22px;font-weight:500;}
.mega-intro p {color:var(--muted);margin-top:24px;}
.mega-intro .text-link {font-size:14px;}
.mega-links {display:flex;flex-direction:column;gap:20px;}
.mega-links>a {font-size:25px;line-height:1.25;letter-spacing:-.03em;}
.mega-links span {display:block;font-size:12px;letter-spacing:0;color:var(--muted);margin-top:5px;}
.mega-links>a:hover {color:var(--accent);}
.mega-project img {width:100%;height:240px;object-fit:cover;border-radius:8px;}
.mega-project>span {display:flex;justify-content:space-between;font-size:14px;margin-top:12px;}
@media(min-width:1101px) {.site-header:has(.services-menu[open]) {background:#fff;color:#101719;--line:#dde2e3;}}
@media(max-width:1100px) {
 .site-nav {gap:22px;} .site-nav .button {margin-left:0;}
 .section {padding-block:76px;} .studio-feature {gap:35px;}
 .studio-feature-copy .lead {font-size:21px;}
 .partner-introduction,.consultation-layout {gap:45px;}
 .js .site-nav {background:var(--bg);color:var(--ink);overflow-y:auto;max-height:calc(100dvh - 88px);}
 .services-menu {width:100%;}
 .services-menu>summary {font-size:22px;justify-content:space-between;}
 .mega-menu {position:static;display:block;padding:20px;border-radius:5px;box-shadow:none;}
 .mega-intro {border:0;padding:0;margin-bottom:24px;}
 .mega-intro p,.mega-project {display:none;}
 .mega-intro .text-link {display:block;margin-top:16px;width:fit-content;}
 .mega-links {gap:22px;} .mega-links>a {font-size:21px;}
}
@media(max-width:760px) {
 :root {--gutter:24px;}
 .site-header {padding-block:18px;min-height:82px;}
 h1 {font-size:clamp(40px,9.2vw,60px);}
 h2 {font-size:34px;}
 .section {padding-block:58px;}
 .page-hero,.studio-hero {padding-top:45px;padding-bottom:45px;}
 .dark-panel {border-radius:0 0 22px 22px;}
 .studio-feature {grid-template-columns:1fr;gap:28px;margin-top:36px;}
 .studio-feature-copy .lead {font-size:21px;}
 .studio-feature-image>span {font-size:11px;}
 .studio-title .actions {align-items:start;gap:12px;}
 .studio-title .button {padding-inline:20px;}
 .partner-introduction,.service-directory article,.consultation-layout {grid-template-columns:1fr;gap:28px;}
 .service-directory h3 {font-size:28px;}
 .service-directory article {gap:18px;}
 .service-block,.offer-intro .numbered-row:not(:has(.index)) {grid-template-columns:1fr;gap:18px;}
 .offer-intro .numbered-row:not(:has(.index)) p {grid-column:auto;}
 .project-link {grid-template-columns:1fr;gap:8px;}
 .project-meta {gap:18px;}
 .project-meta h3 {font-size:30px;margin-bottom:10px;}
 .project-meta .project-summary {margin-top:16px;font-size:18px;}
 .work-grid {gap:55px;}
 .plan,.plan:first-child,.plan:last-child {display:flex;gap:18px;padding-block:30px;}
 .plan>p,.plan-label {margin:0;}
 .cta {padding-block:60px;border-radius:22px 22px 0 0;}
 .cta-inner {align-items:start;gap:30px;}
 .cta h2 {font-size:40px;}
 .consultation-booking {padding:26px;}
 .consultation-booking h2,.consultation-content h2 {font-size:30px;}
 .consultation-layout {gap:45px;}
 .article-body h2 {font-size:30px;}
}
@media(prefers-reduced-motion:reduce) {.services-menu>summary svg {transition:none;}}
@media(min-width:1101px) {
 .site-header:has(.services-menu[open]) {--accent:#a92f24;}
 .site-header:has(.services-menu[open]) .site-nav>.button {--button-rest:#0b1012;--button-rest-ink:#fff;--button-fill:#30383b;background:var(--button-rest);color:var(--button-rest-ink);}
}
/* On light surfaces, secondary button feedback must retain readable text. */
.light-opening .button.secondary:hover,.light-opening .button.secondary:focus-visible {color:var(--ink);}
.site-nav .button {background:var(--button-rest);color:var(--button-rest-ink);}
.site-nav .button:hover,.site-nav .button:focus-visible {color:#fff;}
@media(max-width:1100px) {.js .site-nav {max-height:calc(100dvh - 82px);}}
/* Main destinations stay visible on desktop and in the mobile menu. */
.site-nav {gap:24px;}
.site-nav .button {margin-left:4px;padding-inline:22px;}
.services-menu>.current-section {color:var(--accent);}
.breadcrumb {display:flex;gap:12px;align-items:center;color:var(--muted);font-size:13px;margin-bottom:28px;}
.breadcrumb a {text-decoration:underline;text-underline-offset:4px;}
@media(min-width:1101px) and (max-width:1250px) {
 .site-nav {gap:16px;font-size:11px;}
 .site-nav .button {padding-inline:16px;letter-spacing:.04em;}
}
@media(max-width:1100px) {.site-nav.is-open {gap:10px;}}
.hero-relevance {max-width:760px;font-size:21px;line-height:1.5;color:var(--muted);margin:24px 0 0;}
.project-story h3 {font-size:25px;margin:32px 0 14px;}
.project-story h3:first-child {margin-top:0;}
.scope-clarity .lead {margin-top:24px;}
.scope-clarity h3 {margin:28px 0 14px;font-size:25px;}
.scope-clarity h3:first-child {margin-top:0;}
.booking-interest {margin-top:24px;color:var(--ink);border-top:1px solid var(--line);padding-top:20px;max-width:760px;}
@media(max-width:760px) {.hero-relevance {font-size:18px;margin-top:20px;}}
