.studio-edit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.studio-edit-grid a{display:block;min-width:0;border-bottom:1px solid var(--line);padding-bottom:18px}
.studio-edit-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px 36px 4px 4px}
.studio-edit-grid strong{display:block;margin-top:15px;font:400 clamp(20px,2vw,30px)/1.2 Georgia,serif;color:var(--ink)}
.studio-interior-lead{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;background:var(--soft);overflow:hidden;border-radius:4px 64px 4px 4px;margin-bottom:60px}
.studio-interior-lead figure{position:relative}.studio-interior-lead img{width:100%;height:100%;min-height:360px;object-fit:cover}
.studio-interior-lead figcaption{position:absolute;bottom:16px;left:16px;background:var(--ink);color:var(--paper);padding:8px 12px;font-size:11px}
.studio-interior-lead>div{padding:clamp(25px,4vw,64px)}.studio-interior-lead h2{font:400 clamp(36px,4vw,62px)/1.05 Georgia,serif;letter-spacing:-.045em;margin:22px 0}
.studio-interior-lead h2 em{color:var(--accent)}.studio-interior-lead div>p:not(.small-label){color:var(--muted);font-size:14px;line-height:1.8;margin-bottom:20px}
.studio-interior-lead .text-link{display:flex;width:fit-content;margin-top:8px}
.optional-studio{border-block:1px solid var(--line);margin-block:30px}.optional-studio>summary{cursor:pointer;padding:24px var(--edge);font:400 22px/1.3 Georgia,serif;color:var(--accent)}
.policy-nav{display:flex;gap:14px 25px;flex-wrap:wrap;margin-top:24px}.policy-nav a,.policy-copy a,.form-note a{text-decoration:underline;text-underline-offset:3px}
.policy-nav a{color:var(--paper);font-size:12px}.policy-copy{max-width:780px;padding-block:65px 85px}
.policy-copy h1{font:400 clamp(43px,6vw,78px)/1.02 Georgia,serif;letter-spacing:-.04em;margin:20px 0}
.policy-copy h2{font:400 clamp(25px,2.7vw,37px)/1.2 Georgia,serif;color:var(--accent);margin:32px 0 12px}
.policy-copy p,.policy-copy address{font:400 15px/1.8 Arial,sans-serif;color:var(--ink);margin:10px 0}.policy-copy .text-link{margin-top:7px}.policy-copy details{margin:14px 0}
.world-selected>.actions{margin-top:14px}.policy-copy .small-label{font:500 11px/1.6 Arial,sans-serif;letter-spacing:.1em}
.studio-cover{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);
  margin-block:28px 0;overflow:hidden;isolation:isolate;
  background:linear-gradient(110deg,#075b63 0%,#124347 50%,#12292b 100%);
  color:var(--paper);border-radius:5px 72px 5px 5px;
}
.studio-cover-copy{position:relative;z-index:1;align-self:center;padding:clamp(32px,4.1vw,76px)}
.studio-cover-copy .kicker{color:#d5e9e1;font-size:11px;line-height:1.6}
.studio-cover-copy h1{font:400 clamp(58px,7.5vw,122px)/.97 Georgia,serif;letter-spacing:-.06em;margin:27px 0}
.studio-cover-copy h1 em{color:var(--apricot);font-weight:400}
.studio-cover-copy>p:not(.small-label){color:#e5eee7;max-width:35ch;font-size:clamp(14px,1.15vw,17px);line-height:1.75}
.studio-cover-copy .actions{margin-top:27px;gap:12px 23px}
.studio-cover-copy .text-link{color:var(--paper);border-color:#a0c2bd}
.studio-cover-copy .button.light:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.studio-cover-picture{position:relative;min-width:0;margin:0;background:#11282a;overflow:hidden}
.studio-cover-picture>img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:contain;mask-image:linear-gradient(90deg,transparent,#000 9%,#000 92%,transparent)}
.studio-cover-picture figcaption{position:absolute;inset:auto 0 0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:43px 25px 18px;background:linear-gradient(transparent,#14292cdb);color:var(--paper);font-size:12px}
.studio-cover-picture figcaption a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--apricot);color:var(--ink);font-size:20px}
.studio-edit{padding-block:clamp(50px,6vw,94px)}.studio-edit-grid a{color:var(--ink)}
.studio-edit-grid img{box-shadow:0 6px 18px #172d300c}.studio-edit-grid a:focus-visible strong,.studio-edit-grid a:hover strong{color:var(--accent)}
.service-hero .hero-copy h1,.portfolio-head h1{color:var(--accent)}
.service-hero .service-photo{border-radius:6px clamp(36px,5vw,76px) 6px 6px;box-shadow:0 18px 38px #172d3012}
.existing-service .card b{font-size:clamp(16px,1.5vw,22px);line-height:1.25}
.world-mobile-picker{display:none}
.policy-copy{margin-block:clamp(22px,4vw,58px);padding:clamp(26px,4vw,60px);background:#fffbf3;border:1px solid var(--line);border-radius:4px 42px 4px 4px}
.policy-copy h1{color:var(--accent)}
@media(min-width:701px){.studio-cover{min-height:clamp(418px,40vw,635px)}}
@media(max-width:700px){
  .studio-cover{grid-template-columns:minmax(0,1fr);margin-top:16px;border-radius:4px 36px 4px 4px}
  .studio-cover-copy{padding:29px 23px 22px}
  .studio-cover-copy h1{font-size:clamp(55px,13.5vw,83px);margin:17px 0}
  .studio-cover-copy .kicker{font-size:9px}
  .studio-cover-copy>p:not(.small-label){font-size:13px;max-width:43ch}
  .studio-cover-copy .actions{margin-top:16px;gap:6px 14px}
  .studio-cover-copy .button{padding-inline:15px;gap:8px}
  .studio-cover-picture{height:clamp(245px,72vw,370px)}
  .studio-cover-picture figcaption{padding:28px 16px 12px;font-size:11px}
  .studio-cover-picture figcaption a{width:38px;height:38px}
  .world-mobile-picker{display:block}.world-mobile-picker select{width:100%;min-height:46px;font-size:16px}
  .world-gallery-layout{grid-template-columns:minmax(0,1fr)}.world-index{display:none}
}
@media(max-width:650px){
  .head-inner{column-gap:8px}
  .head-inner .head-cta{display:inline-flex;order:1;min-height:40px;gap:5px;font-size:11px;padding:7px 10px;white-space:nowrap}
  .head-inner .menu-toggle{order:2}
  .head-inner .wordmark{margin-right:auto;gap:7px}
}
@media(max-width:700px){.studio-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 13px}.studio-edit-grid strong{font-size:20px}.studio-interior-lead{grid-template-columns:1fr;margin-bottom:32px}.studio-interior-lead img{min-height:0;aspect-ratio:1.4}.policy-copy{padding-block:32px 45px}.optional-studio>summary{font-size:19px}.world-selected .actions{align-items:flex-start}}

/* Let the shape of each photographed object determine its space on the page. */
.studio-edit-grid {
  grid-template-columns: 1.775fr .837fr .883fr 1fr;
  gap: clamp(12px, 1.65vw, 26px);
}
.workbench-pair { display: contents; }
.studio-edit-grid img {
  aspect-ratio: auto;
  height: auto;
  object-fit: contain;
  border-radius: 4px 22px 4px 4px;
}
.studio-edit-grid strong { font-size: clamp(18px, 1.65vw, 25px); line-height: 1.24; }
.studio-edit-grid a { padding-bottom: 14px; }
.gallery-section .gallery-grid {
  --photo-height: clamp(186px, 20vw, 320px);
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 30px clamp(14px, 1.8vw, 28px);
}
.gallery-section .gallery-grid::after { content: ""; flex: 9999 1 0; }
.gallery-grid .card {
  flex: var(--frame-ratio, 1) 1 calc(var(--frame-ratio, 1) * var(--photo-height));
  max-width: 100%;
  min-width: 0;
}
.gallery-grid .card img, .gallery-grid .card:first-child img {
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
  border-radius: 4px;
}
.gallery-grid .card .cap { padding-block: 13px 16px; }
.gallery-grid .card b { color: var(--ink); line-height: 1.35; }
.gallery-grid .card:is(:hover, :focus-visible) b { color: var(--accent); }
body[data-page="custom"] .service-photo img {
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
}
body[data-page="custom"] .service-photo { border-radius: 4px 30px 4px 4px; }
.service-hero .hero-copy .intro { font-size: clamp(15px, 1.18vw, 18px); line-height: 1.75; }
.detail-grid p, .feature-copy > p:last-child, .spec-list dd, .benefit p,
.faq details p, .designer-process .process-list p { font-size: 14px; line-height: 1.75; }
.section-head > p, .range-heading > p:last-child, .contact-inner p:not(.eyebrow) { font-size: 14px; }
.photo figcaption, .designer-hero figcaption, .world-selected-image > span { font-size: 11px; line-height: 1.5; }
.footer-tagline, .footer-links > a { font-size: 12px; }
.footer-bottom { font-size: 10px; line-height: 1.6; }
.site-head .nav-links > a[aria-current="page"] { text-decoration: underline; text-underline-offset: 6px; }
.dialog-close, .dialog-nav button { min-width: 44px; min-height: 44px; }
.field label, .field select, .field input, .field textarea { line-height: 1.45; }
.project-dialog .form-note, .world-recipe-note, .collection-disclosure { font-size: 11px; line-height: 1.7; }
.concept-feedback { margin-top: 12px; font-size: 13px; color: var(--muted); }
.concept-feedback:empty { display: none; }
.brief-context, .policy-copy, #reference-filename { overflow-wrap: anywhere; }
.project-dialog { overscroll-behavior: contain; }
.menu-toggle { min-width: 44px; min-height: 44px; }
.policy-nav a[aria-current="page"] { text-decoration-thickness: 2px; }
:is(a, button, summary, select, input, textarea):focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: 3px;
  box-shadow: 0 0 0 3px var(--paper);
}
.policy-copy { line-height: 1.75; }
.policy-copy h2 { margin-block: 36px 10px; }
.policy-copy p + p { margin-top: 13px; }
:focus-visible { outline-offset: 4px; }
@media (max-width: 700px) {
  .studio-edit-grid { display: flex; flex-direction: column; gap: 22px; }
  .workbench-pair { display: grid; grid-template-columns: 1.775fr .837fr; gap: 12px; align-items: start; }
  .workbench-pair + .workbench-pair { grid-template-columns: .883fr 1fr; }
  .studio-edit-grid strong { margin-top: 10px; font-size: clamp(16px, 4vw, 21px); }
  .studio-edit-grid img { border-radius: 4px 15px 4px 4px; }
  .gallery-section .gallery-grid { --photo-height: clamp(135px, 32vw, 195px); gap: 22px 12px; }
  .gallery-grid .card .cap { gap: 6px; padding-block: 10px 13px; }
  .gallery-grid .card .expand-indicator { width: 21px; height: 21px; }
  .studio-cover-picture figcaption a { width: 44px; height: 44px; }
  .project-dialog .field input, .project-dialog .field select, .project-dialog .field textarea,
  .studio-controls .field select { font-size: 16px; }
  .policy-nav { gap: 0 18px; }
  .policy-nav a { display: inline-flex; align-items: center; min-height: 44px; }
  .section-head { align-items: flex-start; }
}
@media (max-width: 380px) {
  .site-head .wordmark small { display: none; }
  .site-head .wordmark strong { font-size: 13px; letter-spacing: .12em; }
}


.industrial-quote-note {
  padding: clamp(24px, 4vw, 54px);
  border-radius: 5px 44px 5px 5px;
  background: var(--accent);
  color: var(--paper);
}
.industrial-quote-note dl { margin-top: 24px; }
.industrial-quote-note dl > div { padding-block: 14px; border-top: 1px solid #689795; }
.industrial-quote-note dt { color: var(--apricot); font-weight: 600; }
.industrial-quote-note dd { margin-top: 5px; font-size: 14px; line-height: 1.65; }
#bulk-holders-title + p { color: var(--muted); font-size: 14px; line-height: 1.75; margin-bottom: 12px; }
