/* BLENC / Apple-inspired interface refinement. Glass is reserved for controls. */
:root {
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --ui-glass: rgba(238, 244, 237, .09);
  --ui-glass-hover: rgba(238, 244, 237, .16);
  --ui-edge: rgba(255, 255, 255, .23);
  --ui-shadow: inset 0 1px 0 rgba(255,255,255,.22), inset 0 -1px 0 rgba(0,0,0,.09), 0 8px 24px rgba(0,0,0,.12);
  --ui-blur: blur(24px) saturate(145%);
  --muted: #bdc5bc;
  --paper-muted: #536257;
}
html { text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
body { font-family: var(--sans); font-size: 16px; line-height: 1.65; letter-spacing: -.012em; }
button, input, select, textarea { font-family: var(--sans); }
h1, h2, h3 { font-family: var(--sans); font-weight: 600; font-synthesis: none; }
h1, h2 { line-height: 1.06; letter-spacing: -.055em; text-wrap: balance; }
h1 { font-size: clamp(64px, 7.5vw, 116px); }
h2 { font-size: clamp(40px, 4.6vw, 68px); }
h3 { letter-spacing: -.025em; }
h1 em, h2 em { font-family: inherit; font-style: normal; font-weight: inherit; }
p { text-wrap: pretty; }
.lead { font-size: clamp(19px, 1.65vw, 24px); line-height: 1.55; letter-spacing: -.022em; }
.eyebrow { font-family: var(--sans); font-size: 11px; line-height: 1.6; font-weight: 500; letter-spacing: .13em; }
:focus-visible { outline: 3px solid #b9d4ec; outline-offset: 4px; }
.light-section :focus-visible { outline: 3px solid #3c709e; }
.button,
.button.small,
.button.primary,
.button.dark-button {
  min-height: 52px;
  padding: 10px 12px 10px 23px;
  gap: 22px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -.015em;
  line-height: 1.4;
  text-align: left;
  text-decoration: none;
  position: relative;
  isolation: isolate;
  border: 1px solid var(--ui-edge);
  background: linear-gradient(160deg, rgba(255,255,255,.08), transparent 60%), var(--ui-glass);
  color: var(--ink);
  box-shadow: var(--ui-shadow);
  backdrop-filter: var(--ui-blur);
  -webkit-backdrop-filter: var(--ui-blur);
  transition: background-color .2s, box-shadow .2s, border-color .2s, transform .2s;
}
.button > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(255,255,255,.09);
  font-size: 18px;
}
.ui-icon { width: 17px; height: 17px; display: block; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.button.primary {
  color: #172b20;
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(234,239,228,.88));
  border-color: rgba(255,255,255,.72);
  box-shadow: inset 0 1px 0 #fff, inset 0 -1px 0 rgba(0,0,0,.06), 0 6px 20px rgba(0,0,0,.14);
}
.button.primary > span { background: rgba(22,43,30,.08); }
.button.dark-button { color: #f4f6ee; background: linear-gradient(145deg, rgba(75,101,82,.95), rgba(34,57,42,.98)); border-color: rgba(36,59,43,.6); }
.button:hover, .button.small:hover { background-color: var(--ui-glass-hover); border-color: rgba(255,255,255,.42); transform: translateY(-1px); box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 9px 28px rgba(0,0,0,.16); }
.button.primary:hover { background: #f7faf3; border-color: #fff; }
.button.dark-button:hover { background: #3e5b47; border-color: #597660; }
.button:active, .watch-button:active, .filter:active, .icon-button:active { transform: scale(.98); }
.button.small { min-height: 44px; padding: 7px 9px 7px 18px; font-size: 13px; gap: 18px; }
.button.small > span { width: 28px; height: 28px; }
.text-button { min-height: 44px; padding: 10px 12px; font-size: 13px; font-weight: 500; border-radius: 16px; }
.text-button:hover { background: rgba(133,153,136,.12); text-decoration: none; }
.text-link { min-height: 44px; align-items: center; font-size: 14px; font-weight: 500; gap: 28px; padding: 8px 0; line-height: 1.5; }
.nav { min-height: 80px; padding: 12px 20px; border-radius: 28px; gap: 20px; background: linear-gradient(140deg,rgba(255,255,255,.06),transparent 70%),rgba(29,48,37,.63); border-color: rgba(239,247,234,.26); backdrop-filter: blur(30px) saturate(145%); -webkit-backdrop-filter: blur(30px) saturate(145%); box-shadow: inset 0 1px 0 rgba(255,255,255,.19), inset 0 -1px 0 rgba(0,0,0,.12), 0 12px 40px rgba(0,0,0,.14); }
.brand > span { font-size: 24px; letter-spacing: -.01em; }
.brand small { font-size: 8px; font-weight: 500; letter-spacing: .16em; }
.desktop-nav { gap: 8px; font-size: 13px; font-weight: 500; }
.desktop-nav a { min-height: 44px; padding: 10px 14px; display: inline-flex; align-items: center; border-radius: 999px; transition: background .2s; }
.desktop-nav a:hover, .desktop-nav a[aria-current] { background: rgba(255,255,255,.1); }
.desktop-nav a:hover:after, .desktop-nav a[aria-current]:after { display: none; }
.nav-tools { gap: 14px; }
.nav .button { color: #f0eee6; }
.lamp { width: 44px; height: 44px; flex-shrink: 0; border-radius: 50%; }
.lamp-wire { left: 21px; top: -18px; height: 26px; }
.lamp-shade { left: 11px; top: 7px; }
.lamp-cord { left: 22px; top: 28px; }
.lamp:hover { background: rgba(255,255,255,.06); }
.menu-toggle { width: 44px; height: 44px; padding: 11px; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; background: rgba(255,255,255,.06); flex-shrink: 0; }
.menu-toggle span { margin: 6px 0; }
.mobile-nav { padding: 18px 24px; border-radius: 26px; background: rgba(28,47,35,.94); border-color: rgba(255,255,255,.24); box-shadow: var(--ui-shadow); -webkit-backdrop-filter: var(--ui-blur); }
.mobile-nav a { font-family: var(--sans); font-size: 24px; font-weight: 500; letter-spacing: -.035em; padding: 18px 0; }
.mobile-nav a span { font-size: 12px; }
.hero h1 { font-size: clamp(66px,7.6vw,116px); margin-left: -4px; line-height: 1.035; letter-spacing: -.06em; }
.hero .eyebrow { font-size: 11px; letter-spacing: .13em; margin-bottom: 32px; }
.hero-content { max-width: 1280px; }
.hero-content > p { font-size: 18px; line-height: 1.65; max-width: 580px; color: #d4ddd1; }
.hero-actions { align-items: center; gap: 18px; }
.watch-button { min-height: 52px; display: inline-flex; align-items: center; gap: 12px; padding: 6px 18px 6px 7px; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; background: linear-gradient(145deg,rgba(255,255,255,.07),transparent),rgba(238,244,237,.06); box-shadow: var(--ui-shadow); backdrop-filter: var(--ui-blur); -webkit-backdrop-filter: var(--ui-blur); font-family: var(--sans); font-size: 14px; font-weight: 500; line-height: 1.4; transition: background .2s,transform .2s; }
.watch-button small { font-family: var(--sans); font-size: 9px; line-height: 1.4; letter-spacing: .08em; margin-top: 3px; opacity: 1; color: #c8d0c2; }
.play-circle { width: 38px; height: 38px; flex-shrink: 0; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.11); box-shadow: inset 0 1px 0 rgba(255,255,255,.15); padding: 0; backdrop-filter: none; }
.play-circle .ui-icon { width: 13px; height: 13px; fill: currentColor; stroke: none; margin-left: 2px; }
.watch-button:hover { background: rgba(255,255,255,.14); }
.watch-button:hover .play-circle { transform: none; background: rgba(255,255,255,.18); }
.hero-foot { align-items: center; font-size: 11px; letter-spacing: .01em; }
.hero-foot > a { min-height: 44px; display: inline-flex; align-items: center; }
.hero-foot .text-button { font-size: 11px; padding: 8px 14px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: rgba(255,255,255,.07); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.hero-reference { font-size: 10px; opacity: .85; }
.hero-index { font-size: 10px; letter-spacing: .12em; }
.discipline-strip { font-size: 11px; letter-spacing: .08em; }
.intro-grid p + p { font-size: 16px; }
.intro-note { font-size: 12px; letter-spacing: 0; }
.section-heading p { font-size: 16px; line-height: 1.65; }
.service-row { gap: 20px; padding: 26px 0; }
.service-row h3 { font-family: var(--sans); font-size: clamp(23px,2.1vw,31px); font-weight: 500; line-height: 1.2; letter-spacing: -.04em; }
.service-row p { font-size: 13px; line-height: 1.55; margin-top: 10px; }
.service-number { font-size: 11px; margin-top: 4px; }
.service-row > div { min-width: 0; }
.round-arrow, .work-arrow { width: 44px; height: 44px; flex-shrink: 0; background: var(--ui-glass); border: 1px solid var(--ui-edge); box-shadow: var(--ui-shadow); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.service-row:hover .round-arrow { transform: translate(1px,-1px); background: var(--ui-glass-hover); color: var(--ink); }
.photo-note p { font-family: var(--sans); font-size: 36px; font-weight: 500; line-height: 1.15; letter-spacing: -.04em; }
.photo-note > span, .photo-note small { font-size: 10px; letter-spacing: .08em; }
.photo-note small { color: #d2d9c9; }
.work-caption h3 { font-family: var(--sans); font-size: 26px; font-weight: 500; line-height: 1.2; letter-spacing: -.035em; margin-top: 10px; }
.work-caption .eyebrow { font-size: 10px; letter-spacing: .1em; }
.work-image, .studio-image { border-radius: 22px; }
.media-kind { font-size: 10px; font-weight: 500; letter-spacing: .02em; padding: 8px 13px; border-color: rgba(255,255,255,.3); }
.work-card:focus-visible { border-radius: 22px; outline-color: #3c709e; }
.reference-note { font-size: 12px !important; line-height: 1.7; }
.reference-note > span { font-size: 9px; padding: 4px 10px; letter-spacing: .08em; }
.film-banner h2 { font-size: clamp(58px,7vw,102px); line-height: 1.035; }
.step { font-family: var(--sans); font-size: 34px; font-weight: 400; letter-spacing: -.045em; }
.process-grid h3 { font-family: var(--sans); font-size: 25px; font-weight: 500; letter-spacing: -.035em; margin: 24px 0 16px; line-height: 1.2; }
.process-grid p { font-size: 14px; line-height: 1.75; }
.faq summary { font-size: 16px; font-weight: 500; letter-spacing: -.02em; min-height: 44px; }
.faq details { padding: 16px 0; }
.faq details p { font-size: 14px; line-height: 1.75; }
.closing h2 { font-size: clamp(52px,6.2vw,92px); line-height: 1.06; }
.footer .brand > span { font-size: 23px; }
.footer-top p { font-size: 14px; }
.footer-top .eyebrow { font-size: 10px; }
.footer-top > div > a:not(.brand) { font-size: 13px; line-height: 1.5; min-height: 32px; padding: 6px 0; margin: 2px 0; }
.footer-bottom { font-size: 11px; letter-spacing: 0; align-items: center; }
.footer-bottom > div { gap: 20px; align-items: center; }
.footer-bottom a { display: inline-flex; min-height: 36px; align-items: center; }
.page-intro h1 { font-size: clamp(58px,6.9vw,104px); line-height: 1.06; }
.page-intro-bottom .eyebrow { font-size: 10px; }
.filter { min-height: 44px; padding: 10px 20px; font-size: 13px; font-weight: 500; line-height: 1.4; border-color: rgba(37,57,46,.17); background: rgba(255,255,255,.48); box-shadow: inset 0 1px 0 rgba(255,255,255,.75),0 3px 9px rgba(37,57,46,.04); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); transition: background .2s,transform .2s; }
.filter:hover { background: rgba(255,255,255,.85); }
.filter.active { background: #294332; color: #f5f7ef; box-shadow: inset 0 1px 0 rgba(255,255,255,.16),0 4px 10px rgba(37,57,46,.12); }
.portfolio-tail h3 { font-family: var(--sans); font-size: 36px; font-weight: 500; letter-spacing: -.045em; }
.service-hero-copy h1 { font-size: clamp(62px,7.2vw,110px); line-height: 1.06; }
.service-line { font-family: var(--sans); font-size: 24px; line-height: 1.45; letter-spacing: -.03em; }
.service-hero-copy small { font-size: 11px; opacity: .85; }
.scope h3, .reading h3 { font-family: var(--sans); font-size: 26px; font-weight: 500; letter-spacing: -.03em; line-height: 1.25; }
.scope .subtle, .subtle { font-size: 13px !important; }
.scope-list li { font-size: 15px; line-height: 1.6; }
.values h2 { font-size: 52px; }
.values p { font-size: 16px; }
.related-links a { min-height: 60px; font-size: 16px; }
.enquiry-section aside h2 { font-size: 44px; line-height: 1.1; }
.enquiry-section aside > a { font-size: 14px; }
.aside-note p { font-size: 14px; }
form label, legend { font-size: 14px; font-weight: 500; line-height: 1.5; letter-spacing: -.01em; }
legend { margin-bottom: 20px; }
.form-grid { gap: 24px; }
input, textarea, select { min-height: 52px; border: 1px solid rgba(37,57,46,.18); border-radius: 15px; background: rgba(255,255,255,.68); color: #25392e; font-size: 16px; font-weight: 400; line-height: 1.5; padding: 13px 16px; box-shadow: inset 0 1px 1px rgba(37,57,46,.025),0 1px 0 rgba(255,255,255,.7); }
input::placeholder, textarea::placeholder { color: #637165; opacity: 1; }
input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid rgba(60,112,158,.7); outline-offset: 2px; background: #fff; }
.service-choice { min-height: 44px; }
.service-choice span { min-height: 44px; display: flex; align-items: center; padding: 10px 18px; font-size: 13px; font-weight: 500; border-color: rgba(37,57,46,.19); background: rgba(255,255,255,.45); box-shadow: inset 0 1px 0 rgba(255,255,255,.8),0 3px 9px rgba(37,57,46,.035); }
.service-choice input { min-height: 0; }
.service-choice input:checked + span { background: #294332; border-color: #294332; box-shadow: inset 0 1px 0 rgba(255,255,255,.17),0 3px 10px rgba(37,57,46,.1); }
.form-grid small { font-size: 12px; line-height: 1.5; margin-top: 8px; font-weight: 400; }
.consent { font-size: 13px; font-weight: 400; min-height: 44px; align-items: flex-start; gap: 12px; }
.consent input { width: 20px; height: 20px; min-height: 0; padding: 0; box-shadow: none; }
.form-note { font-size: 13px !important; line-height: 1.6; }
.form-error { font-size: 13px; }
dialog { background: rgba(25,42,31,.92); border: 1px solid rgba(255,255,255,.26); border-radius: 30px; padding: 28px; box-shadow: inset 0 1px 0 rgba(255,255,255,.21),0 30px 100px rgba(0,0,0,.4); backdrop-filter: blur(34px) saturate(130%); -webkit-backdrop-filter: blur(34px) saturate(130%); }
dialog::backdrop { background: rgba(7,18,11,.66); backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); }
.dialog-top .eyebrow { font-size: 10px; letter-spacing: .1em; }
.dialog-top h2 { font-family: var(--sans); font-size: 30px; font-weight: 600; letter-spacing: -.04em; }
.icon-button { width: 44px; height: 44px; font-size: 25px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.25); box-shadow: var(--ui-shadow); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.icon-button .ui-icon { width: 18px; height: 18px; margin: auto; }
.media-caption { font-size: 13px; line-height: 1.6; color: #c4cebd; }
.dialog-bottom { font-size: 12px; }
#media-content img, #media-content video { border-radius: 16px; }
#brief-dialog p { font-size: 14px; }
#brief-preview { font-family: var(--sans); font-size: 14px; line-height: 1.75; border-radius: 18px; }
.light-section { --ui-glass: rgba(255,255,255,.56); --ui-glass-hover: rgba(255,255,255,.8); --ui-edge: rgba(37,57,46,.18); }
[data-theme=light] { --ui-glass: rgba(255,255,255,.45); --ui-glass-hover: rgba(255,255,255,.72); --ui-edge: rgba(37,57,46,.2); --muted: #536257; }
[data-theme=light] .button:not(.primary):not(.dark-button) { background: linear-gradient(145deg,rgba(255,255,255,.35),transparent),var(--ui-glass); border-color: var(--ui-edge); }
[data-theme=light] .button.primary { color: #f4f7ef; background: linear-gradient(145deg,#47654f,#284333); border-color: #47614e; }
[data-theme=light] .button.primary > span { background: rgba(255,255,255,.13); }
[data-theme=light] .hero .button.primary, [data-theme=light] .service-hero .button.primary { color: #172b20; background: linear-gradient(145deg,rgba(255,255,255,.98),rgba(234,239,228,.88)); border-color: rgba(255,255,255,.72); }
[data-theme=light] .hero .button.primary > span, [data-theme=light] .service-hero .button.primary > span { background: rgba(22,43,30,.08); }
[data-theme=light] .nav { --ui-glass: rgba(238,244,237,.09); --ui-edge: rgba(255,255,255,.23); }
[data-theme=light] .nav .button { background: linear-gradient(145deg,rgba(255,255,255,.12),transparent),rgba(255,255,255,.05); }
[data-theme=light] dialog { background: rgba(245,247,240,.94); color: #25392e; border-color: rgba(255,255,255,.8); }
[data-theme=light] .dialog-top .eyebrow { color: #665c42; }
[data-theme=light] .media-caption, [data-theme=light] #brief-dialog p { color: #536257; }
[data-theme=light] #brief-preview { background: rgba(255,255,255,.55); border-color: rgba(37,57,46,.15); }
[data-theme=light] .dialog-bottom { border-color: rgba(37,57,46,.18); }
[data-theme=light] .icon-button { background: rgba(255,255,255,.6); border-color: rgba(37,57,46,.18); }
@media (hover: none) { .button:hover { transform: none; } }
@media (max-width:1100px) {
  .nav { gap: 12px; padding: 12px 16px; }
  .brand > span { font-size: 22px; }
  .desktop-nav { gap: 0; }
  .desktop-nav a { padding: 10px; }
  .nav-tools { gap: 8px; }
  .service-row h3 { font-size: 25px; }
  .footer-top > div:last-child > a { display: inline-block; margin-right: 24px; }
}
@media (max-width:800px) {
  .nav { min-height: 76px; padding: 12px 14px; border-radius: 25px; }
  .brand > span { font-size: 22px; }
  .brand small { font-size: 7px; letter-spacing: .12em; }
  .nav-tools { gap: 6px; }
  .hero { min-height: 780px; }
  .hero h1 { font-size: clamp(52px,9.7vw,78px); line-height: 1.06; letter-spacing: -.055em; margin-left: -2px; }
  .hero .eyebrow { font-size: 10px; line-height: 1.7; letter-spacing: .1em; }
  .hero-content > p { font-size: 17px; line-height: 1.6; }
  .hero-actions { align-items: flex-start; gap: 14px; }
  .hero-foot { font-size: 10px; gap: 10px; }
  .hero-reference { font-size: 9px; }
  .hero-foot .text-button { font-size: 10px; min-height: 44px; }
  .discipline-strip { font-size: 10px; gap: 14px; letter-spacing: .045em; }
  .intro-grid { gap: 30px; }
  h2 { font-size: clamp(38px,6.5vw,54px); line-height: 1.1; }
  .eyebrow { font-size: 10px; }
  .section-heading p { font-size: 15px; }
  .service-row { gap: 14px; }
  .service-row h3 { font-size: 25px; }
  .service-row p { font-size: 12px; }
  .service-number { font-size: 10px; }
  .round-arrow { width: 42px; height: 42px; }
  .photo-note p { font-size: 32px; }
  .work-caption h3 { font-size: 25px; }
  .work-caption .eyebrow { font-size: 10px; }
  .media-kind { font-size: 10px; padding: 7px 11px; }
  .work-arrow { width: 44px; height: 44px; }
  .film-banner h2 { font-size: clamp(50px,8.5vw,72px); }
  .process-grid h3 { font-size: 23px; }
  .process-grid p { font-size: 14px; }
  .faq summary { font-size: 15px; }
  .faq details p { font-size: 14px; }
  .closing h2 { font-size: clamp(45px,7.5vw,64px); }
  .footer-top .eyebrow { font-size: 10px; }
  .footer-top > div > a:not(.brand) { font-size: 13px; }
  .footer-top > div:last-child > a { display: block; }
  .footer-bottom { font-size: 10px; }
  .page-intro h1 { font-size: clamp(48px,8.5vw,68px); }
  .page-intro-bottom .eyebrow { font-size: 10px; }
  .service-hero-copy h1 { font-size: clamp(47px,8.5vw,72px); }
  .service-line { font-size: 22px; line-height: 1.45; }
  .scope h3, .reading h3 { font-size: 25px; }
  .scope p { font-size: 16px; }
  .values h2 { font-size: 44px; }
  .enquiry-section aside h2 { font-size: 40px; }
  .reading h2 { font-size: 36px; }
  .dialog-top h2 { font-size: 26px; }
  .dialog-top .eyebrow { font-size: 9px; }
  dialog { border-radius: 25px; padding: 21px; }
  .brief-actions .button { padding: 10px 12px 10px 18px; font-size: 14px; gap: 14px; }
}
@media (max-width:480px) {
  :root { --pad: 24px; }
  .nav-wrap { left: 12px; right: 12px; top: 14px; }
  .nav { gap: 8px; padding: 11px 12px; min-height: 74px; }
  .brand { gap: 9px; }
  .brand img { width: 29px; height: 29px; }
  .brand > span { font-size: 20px; }
  .brand small { font-size: 6px; letter-spacing: .12em; margin-top: 7px; }
  .nav-tools { gap: 3px; }
  .hero { min-height: 800px; }
  .hero-content { padding: 164px 24px 145px; }
  .hero h1 { font-size: clamp(48px,12.8vw,62px); }
  .hero-content > p { font-size: 16px; margin-top: 26px; }
  .hero-content > p br { display: none; }
  .hero-actions { margin-top: 30px; }
  .hero-actions .button { min-height: 54px; }
  .watch-button { min-height: 52px; font-size: 14px; }
  .hero-foot { left: 24px; right: 24px; }
  .hero-foot > a { font-size: 10px; }
  .discipline-strip { font-size: 9px; gap: 10px; padding: 22px 18px; }
  h2 { font-size: clamp(36px,10vw,43px); }
  .service-row h3 { font-size: 23px; }
  .service-row p { font-size: 12px; }
  .round-arrow { width: 40px; height: 40px; }
  .intro-note { font-size: 11px; }
  .work-caption h3 { font-size: 26px; }
  .process-grid { gap: 36px 24px; }
  .process-grid h3 { font-size: 23px; }
  .process-grid p { font-size: 14px; }
  .closing h2 { font-size: clamp(40px,10.7vw,49px); }
  .closing .button { font-size: 13px; gap: 14px; }
  .footer-bottom > div { gap: 16px; }
  .page-intro h1 { font-size: clamp(44px,12vw,55px); }
  .enquiry-intro h1 { font-size: clamp(48px,13vw,60px); }
  .service-hero-copy h1 { font-size: clamp(44px,12vw,57px); }
  .service-line { font-size: 21px; }
  .service-hero-copy { padding-left: 24px; padding-right: 24px; }
  .filter { font-size: 13px; padding: 10px 17px; }
  .dialog-top h2 { font-size: 24px; }
  #brief-preview { padding: 16px; font-size: 13px; }
}
@media (max-width:360px) {
  .nav .brand > span { font-size: 17px; }
  .nav .brand img { width: 26px; height: 26px; }
  .nav-tools { gap: 0; }
  .hero h1 { font-size: 44px; }
  .hero .eyebrow { font-size: 9px; }
  .service-row h3 { font-size: 21px; }
  .button { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .button, .watch-button, .filter, .icon-button { transition: none; }
  .button:active, .watch-button:active, .filter:active, .icon-button:active { transform: none; }
}
@media (prefers-reduced-transparency: reduce) {
  .nav, .mobile-nav { background: #263d2e; backdrop-filter: none; -webkit-backdrop-filter: none; }
  .watch-button, .icon-button, .round-arrow, .work-arrow { background: #3d5140; backdrop-filter: none; -webkit-backdrop-filter: none; }
  dialog { background: #213728; backdrop-filter: none; -webkit-backdrop-filter: none; }
  [data-theme=light] dialog { background: #f5f7f0; }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .nav, .mobile-nav { background: #263d2e; }
  dialog { background: #213728; }
  [data-theme=light] dialog { background: #f5f7f0; }
}

.hero-foot .text-button { display: inline-flex; align-items: center; gap: 8px; }
.hero-foot .text-button .ui-icon { width: 12px; height: 12px; }
@media(max-width:480px){.hero-actions .watch-button{min-height:54px;padding-top:7px;padding-bottom:7px}}
@media(max-width:480px){.brief-actions .button{flex:1 1 100%;width:100%;min-height:52px}.brief-actions .text-button{width:100%;text-align:center}}
/* BLENC STUDIO — modern wordmark, retaining the group symbol. */
.brand > .brand-wordmark {
  display: block;
  font-family: var(--sans);
  font-size: 21px;
  font-weight: 650;
  line-height: 1.1;
  letter-spacing: .075em;
  font-synthesis: none;
}
.brand .wordmark-studio {
  font-size: .88em;
  font-weight: 400;
  letter-spacing: .115em;
  margin-left: 3px;
}
.brand .brand-wordmark small {
  font-size: 7px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .2em;
  margin-top: 7px;
}
.footer .brand > .brand-wordmark { font-family: var(--sans); font-size: 21px; }
.studio-parent { display: block; margin-top: 18px; color: var(--gold); font-size: 10px; font-weight: 500; letter-spacing: .04em; }
@media(max-width:800px){.brand > .brand-wordmark{font-size:20px}.brand .brand-wordmark small{font-size:6.5px}}
@media(max-width:480px){.nav .brand > .brand-wordmark{font-size:18px;letter-spacing:.065em}.nav .brand .wordmark-studio{letter-spacing:.09em;margin-left:2px}.nav .brand .brand-wordmark small{font-size:6px;letter-spacing:.13em}.footer .brand > .brand-wordmark{font-size:20px}}
@media(max-width:360px){.nav .brand > .brand-wordmark{font-size:15.5px}.nav .brand .brand-wordmark small{font-size:5.5px;letter-spacing:.07em}}
/* BLENC INTERNATIONAL — the selected name, in the modern wordmark font. */
.brand .wordmark-international{font-family:var(--sans);font-size:.68em;font-weight:400;letter-spacing:.09em;margin-left:3px}
@media(max-width:480px){.nav .brand > .brand-wordmark{font-size:18px}.nav .brand .wordmark-international{font-size:.65em;letter-spacing:.045em;margin-left:1px}}
@media(max-width:360px){.nav .brand > .brand-wordmark{font-size:15px}.nav .brand .wordmark-international{font-size:.61em;letter-spacing:.015em;margin-left:0}}
/* Dubai venue and location collection. */
.home-work.dubai-work .work-card{margin-top:0}
.home-work.dubai-work .work-image{aspect-ratio:1.45}
.dubai-work .work-caption h3{font-size:24px}
.dubai-credit{font-size:11px!important;line-height:1.7;margin-top:35px;max-width:800px}
.dubai-credit a{text-decoration:underline;text-underline-offset:3px}
@media(min-width:1100px){.home-work.dubai-work{grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 24px}.dubai-work .work-caption h3{font-size:23px}}
@media(max-width:480px){.home-work.dubai-work .work-image{aspect-ratio:1.35}.dubai-work .work-caption h3{font-size:25px}}
.media-caption a{text-decoration:underline;text-underline-offset:3px}
.dubai-card img[src*="dubai-creek"]{object-position:center 67%}
