/* One quiet visual language across the five active pages. */
:root {
  --gesn-panel-radius:8px;
  --gesn-image-radius:6px;
  --gesn-control-radius:6px;
  --gesn-column-gap:3.6%;
}
.site-polish :is(button, select, input:not([type=range]), textarea, summary) {
  border-radius:var(--gesn-control-radius)!important;
}
.site-polish :is(dialog, .home-sheet, .home-shell, .about-shell, .polish-detail-shell,
  .settings-panel, .model-submenu, .materials-panel, .current-wall-palette,
  .wall-section, .image-pair, .next-design, .model-viewport, .scheme-switch, .modes) {
  border-radius:var(--gesn-panel-radius);
}
.site-polish :is(.hero-figure, .hero-open, .hero-image, .hero, .feature-stage,
  .feature-image-link, .card-image, .scene-card img, .panel-image img,
  .wall-sources img, .feature-styles img, #scene-image, #hero-image,
  #feature-image, #dialog-image, #viewer-image, .collection-card img) {
  border-radius:var(--gesn-image-radius);
}
.site-polish :is(.download-package, .image-open, .zoom-label, .scheme-switch a) {
  border-radius:var(--gesn-control-radius);
}
.site-polish :is(.hero, .hero-figure, .feature-image-link, .image-pair, #scene) {
  overflow:hidden;
}
.site-polish #scene {border-radius:var(--gesn-panel-radius)}
.site-polish :is(.gesn-brand-logo, .gesn-brand-logo img, .contact-qr, .contact-qr>img) {
  border-radius:0!important;
}
.site-polish select {background-color:var(--paper);color:var(--green)}
.site-polish :is(.door-controls button, .door-switch button)[aria-pressed=true] {
  background:var(--green);color:var(--paper);border-color:var(--green);
}
.site-polish .door-controls button {padding:8px 12px;border:1px solid var(--line)}
.site-polish .door-controls {gap:6px}
.site-polish .scene-card i {font-style:normal;color:var(--muted)}

/* The collection, design and about pages share the homepage paper margins. */
.site-polish:is([data-polish-page=detail],[data-polish-page=collection],[data-polish-page=about]) {
  padding:46px 4.2%;background:#353128;
}
.site-polish :is(.polish-detail-shell, .home-shell, .about-shell) {
  width:100%;max-width:1730px;margin:0 auto;padding:0 4.6%;
  background:var(--paper);box-shadow:0 12px 65px #00000018;
  min-height:calc(100svh - 92px);
}
.site-polish :is(.design-header, .home-header, .about-header) {
  min-height:112px;padding-top:18px;padding-bottom:18px;
}
.site-polish .design-header {padding-left:0;padding-right:0}
.site-polish .design-header nav {gap:25px}
.site-polish .polish-detail-lead,
.site-polish .featured,
.site-polish .about-intro {
  display:grid;grid-template-columns:minmax(0,35fr) minmax(0,65fr);
  column-gap:var(--gesn-column-gap);align-items:start;
}
.site-polish .polish-detail-lead {padding:48px 0 84px}
.site-polish .polish-detail-lead>.design-intro {
  min-width:0;max-width:none;margin:0;padding:50px 0 28px;text-align:left;
  container-type:inline-size;
}
.site-polish .design-intro h1 {
  font-size:clamp(40px,16cqw,76px);line-height:1.25;letter-spacing:.035em;
  margin:26px 0 29px;overflow-wrap:anywhere;
}
.site-polish .design-intro .intro-copy {max-width:36em;font-size:14px;line-height:1.95}
.site-polish .design-intro .text-link {margin-top:34px}
.site-polish .polish-detail-media {min-width:0}
.site-polish .polish-detail-media .hero {min-height:160px}
.site-polish .polish-detail-media .hero:not([data-view]) .hero-image,
.site-polish .polish-detail-media .hero[data-view=scenes] .hero-image {aspect-ratio:var(--scene-aspect,16/9)}
.site-polish .polish-detail-media .view-bar {min-height:66px}
.site-polish .polish-detail-media .hero-image img {
  max-height:min(68vh,690px);height:auto;width:100%;object-fit:contain;
}
.site-polish .polish-detail-media .hero:is([data-view=white],[data-view=materials]) img {
  height:min(62vh,620px);padding:24px;
}
.site-polish .polish-detail-media .view-bar {
  padding:15px 0 10px;flex-wrap:wrap;gap:10px 20px;
}
.site-polish .polish-detail-media .scene-controls {flex-wrap:wrap;gap:10px 14px}
.site-polish .polish-detail-media select {
  border:1px solid var(--line);padding:7px 28px 7px 10px;max-width:210px;
}
.site-polish .polish-detail-media .view-tabs {gap:22px}
.site-polish .polish-detail-media .zoom-label {right:16px;bottom:16px;font-size:11px}
.site-polish[data-polish-page=detail] :is(.scene-section, .materials-section) {
  padding-left:0;padding-right:0;
}
.site-polish[data-polish-page=detail] .scene-section {padding-bottom:70px}
.site-polish[data-polish-page=detail] .materials-section {padding-top:76px;padding-bottom:76px}
.site-polish[data-polish-page=detail] .material-layout {gap:var(--gesn-column-gap)}
.site-polish[data-polish-page=detail] .panel-image {height:580px;padding:30px}
.site-polish[data-polish-page=detail] .next-design {padding:42px 34px}
.site-polish[data-polish-page=detail] footer {padding-left:0;padding-right:0}

/* Retain the original collection selector and tab rail beside the larger image. */
.site-polish .featured {padding-top:40px;padding-bottom:26px}
.site-polish .featured>.feature-heading {
  display:block;min-width:0;margin:0;padding-top:76px;container-type:inline-size;
}
.site-polish .feature-heading h1 {
  font-size:clamp(30px,10.8cqw,58px);line-height:1.52;text-wrap:balance;
}
.site-polish .feature-heading .eyebrow {margin-bottom:25px}
.site-polish .polish-feature-media {min-width:0}
.site-polish .polish-feature-tools {display:flex;justify-content:flex-end;margin-bottom:16px}
.site-polish .featured-select {margin:0;display:flex;align-items:center;gap:15px}
.site-polish .featured-select select {
  border:1px solid var(--line);font:12px var(--sans);min-width:180px;
  padding:10px 28px 10px 10px;max-width:250px;
}
.site-polish .feature-stage {min-height:0;background:transparent}
.site-polish .feature-image-link img {
  width:100%;height:auto;min-height:0;max-height:none;object-fit:contain;
}
.site-polish .feature-styles {
  position:relative;inset:auto;width:100%;padding:12px 0 0;
  flex-direction:row;gap:10px;background:transparent;
}
.site-polish .feature-styles button {flex:0 0 100px;min-width:0;font-size:10px}
.site-polish .feature-styles img {object-fit:contain}
.site-polish .feature-caption {padding:19px 0 24px;gap:20px}
.site-polish .feature-caption h2 {font-size:25px}
.site-polish .feature-caption .detail-link {gap:16px}
.site-polish .collection {padding-top:48px}

/* About keeps its existing content and uncropped contact artwork. */
.site-polish .about-intro {padding:76px 0 70px}
.site-polish .about-intro .intro-title {min-width:0;container-type:inline-size}
.site-polish .about-intro .intro-title h1 {
  font-size:clamp(30px,10.8cqw,58px);line-height:1.4;
}
.site-polish .about-intro>.intro-copy {max-width:none;min-width:0;padding-top:31px}
.site-polish .about-intro>.intro-copy p {font-size:15px;line-height:2}
.site-polish .about-intro .signature {font-size:11px}
.site-polish .contact-section {grid-template-columns:minmax(0,35fr) minmax(0,65fr);gap:var(--gesn-column-gap)}
.site-polish .contact-copy {min-width:0}
.site-polish .contact-copy h2 {font-size:clamp(32px,3vw,46px)}
.site-polish .contact-qr {justify-self:center}
.site-polish .contact-phone {font-size:12px;line-height:1.5;gap:12px}
.site-polish .contact-section .contact-phone {font-size:clamp(18px,1.55vw,22px);gap:14px}
.site-polish .contact-section .contact-phone span {font-size:18px}
.site-polish[data-polish-page=models] {background:var(--paper)}

@media(max-width:1100px) and (min-width:801px) {
  .site-polish:is([data-polish-page=detail],[data-polish-page=collection],[data-polish-page=about]) {padding:28px 3%}
  .site-polish :is(.polish-detail-shell, .home-shell, .about-shell) {padding:0 4%;min-height:calc(100svh - 56px)}
  .site-polish .design-header {gap:20px}
  .site-polish .design-header nav {gap:18px}
  .site-polish .polish-detail-media .view-bar {flex-direction:column}
  .site-polish .feature-caption {display:block}
  .site-polish .feature-caption .detail-link {margin-top:18px;width:max-content}
}
@media(max-width:800px) {
  .site-polish:is([data-polish-page=detail],[data-polish-page=collection],[data-polish-page=about]) {padding:12px 8px}
  .site-polish :is(.polish-detail-shell, .home-shell, .about-shell) {padding:0 14px;min-height:calc(100svh - 24px)}
  .site-polish :is(.design-header, .home-header, .about-header) {min-height:100px;padding-top:15px;padding-bottom:12px}
  .site-polish .design-header nav {gap:18px}
  .site-polish .polish-detail-lead,
  .site-polish .featured {display:flex;flex-direction:column;gap:0;padding:22px 0 45px}
  .site-polish .polish-detail-media,
  .site-polish .polish-feature-media {order:0;width:100%}
  .site-polish .polish-detail-lead>.design-intro,
  .site-polish .featured>.feature-heading {order:1;width:100%;padding:42px 0 0}
  .site-polish .design-intro h1 {font-size:44px;margin:20px 0}
  .site-polish .design-intro .intro-copy {font-size:13px}
  .site-polish .design-intro .text-link {margin-top:24px}
  .site-polish .polish-detail-media .hero-image img {max-height:none}
  .site-polish .polish-detail-media .hero:is([data-view=white],[data-view=materials]) img {height:55vh;padding:18px}
  .site-polish .polish-detail-media .view-bar {padding:11px 0;gap:8px}
  .site-polish .polish-detail-media .view-bar {min-height:110px}
  .site-polish .polish-detail-media .view-tabs {gap:24px}
  .site-polish .polish-detail-media .scene-controls {gap:9px}
  .site-polish .polish-detail-media select {max-width:185px;font-size:11px}
  .site-polish .door-controls button {font-size:11px;padding:8px 10px}
  .site-polish .polish-detail-media .zoom-label {right:10px;bottom:10px;font-size:10px}
  .site-polish[data-polish-page=detail] .scene-section {padding-bottom:45px}
  .site-polish[data-polish-page=detail] .scene-card {flex-basis:82%}
  .site-polish[data-polish-page=detail] .panel-image {height:460px;padding:24px}
  .site-polish[data-polish-page=detail] .materials-section {padding-top:48px;padding-bottom:48px}
  .site-polish[data-polish-page=detail] .material-layout {gap:34px}
  .site-polish[data-polish-page=detail] .next-design {padding:30px 20px}
  .site-polish .polish-feature-tools {margin-bottom:14px}
  .site-polish .featured-select {width:100%;justify-content:space-between;gap:12px}
  .site-polish .featured-select select {min-width:0;max-width:70%;font-size:12px}
  .site-polish .feature-styles {gap:8px;padding-top:10px}
  .site-polish .feature-styles button {flex-basis:91px}
  .site-polish .feature-caption {padding-bottom:20px}
  .site-polish .feature-heading h1 {font-size:31px;line-height:1.5}
  .site-polish .feature-heading .eyebrow {margin-bottom:16px}
  .site-polish .collection {padding-top:22px}
  .site-polish .about-intro {grid-template-columns:1fr;gap:27px;padding:40px 0}
  .site-polish .about-intro .intro-title h1 {font-size:38px}
  .site-polish .about-intro>.intro-copy {padding:0;max-width:none}
  .site-polish .about-intro>.intro-copy p {font-size:14px;line-height:1.9}
  .site-polish .contact-section {grid-template-columns:1fr;gap:30px}
  .site-polish .contact-copy h2 {font-size:34px}
  .site-polish .contact-section .contact-phone {font-size:20px}
}
@media(prefers-reduced-motion:reduce) {
  .site-polish {scroll-behavior:auto}
}
