@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Manrope:wght@300;400;500;600;700&display=swap');
:root {
  --ink: #241f1b;
  --brown: #3d2d22;
  --cream: #f2eee7;
  --paper: #faf8f4;
  --gold: #b89a65;
  --line: rgba(36, 31, 27, .16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "DM Sans", sans-serif; overflow-x: hidden; }
body::before { content: ""; position: fixed; z-index: 9998; inset: 0; background: var(--brown); transform: translate3d(-101%,0,0); pointer-events: none; }
body::after { content: "POSHINI MILANO"; position: fixed; z-index: 9999; inset: 0; display: grid; place-items: center; color: white; font: 500 clamp(1rem,2vw,1.5rem) "Manrope",sans-serif; letter-spacing: .28em; opacity: 0; pointer-events: none; }
body.page-leaving::before { animation: pageWipeIn .65s cubic-bezier(.76,0,.24,1) forwards; }
body.page-leaving::after { animation: pageNameIn .55s .12s ease forwards; }
body.doors-page-enter::before { transform: translate3d(0,0,0); animation: pageWipeOut .85s .12s cubic-bezier(.76,0,.24,1) forwards; }
body.doors-page-enter::after { opacity: 1; animation: pageNameOut .55s .08s ease forwards; }
@keyframes pageWipeIn { to { transform: translate3d(0,0,0); } }
@keyframes pageWipeOut { to { transform: translate3d(101%,0,0); } }
@keyframes pageNameIn { to { opacity: 1; } }
@keyframes pageNameOut { to { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { body.page-leaving::before, body.page-leaving::after, body.doors-page-enter::before, body.doors-page-enter::after { animation-duration: .01ms; animation-delay: 0s; } }
a { color: inherit; text-decoration: none; }
button { font: inherit; }

.site-header {
  position: fixed; z-index: 30; top: 0; left: 0; width: 100%; height: 94px;
  display: flex; align-items: center; justify-content: space-between; padding: 0 5vw;
  color: white; border-bottom: 1px solid rgba(255,255,255,.24); transition: .35s ease;
}
.site-header.scrolled { height: 76px; background: rgba(35,28,23,.94); backdrop-filter: blur(14px); }
.brand { display: inline-flex; align-items: center; gap: 11px; font: 700 1.15rem "Manrope"; letter-spacing: .2em; }
.site-header > .brand { width: 230px; height: 76px; overflow: hidden; flex: 0 0 230px; }
.site-header > .brand img { width: 100%; height: 100%; object-fit: contain; }
.header-logo { height: 76px; width: 230px; overflow: hidden; }
.header-logo img { width: 100%; height: 100%; object-fit: contain; }
.brand-mark { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid currentColor; border-radius: 50%; font-family: Georgia, serif; font-style: italic; letter-spacing: 0; }
.nav-links { display: flex; align-items: center; gap: clamp(20px, 2.5vw, 42px); font-size: .84rem; }
.nav-links > a:not(.nav-cta) { position: relative; }
.nav-links > a:not(.nav-cta)::after { content: ""; position: absolute; left: 0; bottom: -7px; width: 0; height: 1px; background: white; transition: width .25s; }
.nav-links > a:hover::after { width: 100%; }
.nav-cta, .button { display: inline-flex; align-items: center; justify-content: space-between; gap: 34px; padding: 15px 20px; border: 1px solid rgba(255,255,255,.55); transition: .25s; }
.nav-cta:hover, .button-light:hover { background: white; color: var(--ink); }
.menu-toggle { display: none; color: white; background: none; border: 0; padding: 10px; }
.menu-toggle span { display: block; width: 25px; height: 1px; margin: 7px; background: currentColor; }

.hero { min-height: 100svh; position: relative; display: flex; align-items: flex-end; color: white; overflow: hidden; }
.hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(18,13,10,.78) 0%, rgba(22,16,12,.4) 50%, rgba(18,13,10,.24) 100%), linear-gradient(0deg, rgba(14,10,8,.55), transparent 55%); }
.hero-content { position: relative; z-index: 2; width: 86%; margin: 0 auto 14vh; }
.eyebrow, .section-label { text-transform: uppercase; letter-spacing: .18em; font-size: .68rem; font-weight: 600; }
.eyebrow::before { content: ""; display: inline-block; width: 38px; height: 1px; margin: 0 13px 3px 0; background: currentColor; }
.light { color: #eee6da; }
h1, h2 { font-family: "Manrope", sans-serif; letter-spacing: -.055em; margin: 0; line-height: .98; }
h1 { font-size: clamp(3.1rem, 5.4vw, 5.8rem); font-weight: 500; }
h1 em, h2 em { font-family: Georgia, serif; font-weight: 400; }
.hero-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(340px, .65fr); gap: 7vw; align-items: end; }
.hero-details { padding-bottom: 8px; }
.hero-copy { max-width: 500px; margin: 0 0 28px; color: rgba(255,255,255,.8); font-size: 1rem; line-height: 1.7; }
.hero-actions { display: flex; align-items: center; flex-wrap: nowrap; gap: 20px; }
.hero-actions .button { flex: 0 0 auto; gap: 22px; padding-right: 16px; padding-left: 16px; white-space: nowrap; }
.hero-actions .text-link { flex: 0 0 auto; white-space: nowrap; }
.button-light { color: white; border-color: rgba(255,255,255,.6); }
.text-link, .arrow-link { border-bottom: 1px solid currentColor; padding-bottom: 5px; font-size: .85rem; }
.text-link span, .arrow-link span { margin-left: 15px; }
.hero-footer { position: absolute; z-index: 2; left: 5vw; right: 5vw; bottom: 22px; display: flex; align-items: center; justify-content: center; font-size: .66rem; text-transform: uppercase; letter-spacing: .15em; }
.scroll-discover { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.scroll-discover b { font-size: 1.15rem; font-weight: 400; animation: scroll-bounce 1.5s ease-in-out infinite; }
@keyframes scroll-bounce { 50% { transform: translateY(5px); } }
.sound-toggle { position: absolute; right: 0; color: white; border: 0; background: transparent; text-transform: uppercase; letter-spacing: .15em; cursor: pointer; }

.section { padding: 120px 7vw; }
.section-label { display: flex; gap: 15px; align-items: center; margin-bottom: 70px; }
.section-label span { color: var(--gold); }
.intro { padding-top: 78px; padding-bottom: 78px; }
.intro .section-label { margin-bottom: 42px; }
.intro-grid { display: grid; grid-template-columns: 1.55fr .75fr; gap: 10vw; align-items: start; }
.display { font-size: clamp(2.8rem, 5vw, 5.5rem); font-weight: 500; }
.intro-copy p, .panel-heading p, .brands-heading > p { color: #6d665f; line-height: 1.85; font-size: .98rem; }
.intro-copy .arrow-link { display: inline-block; margin-top: 25px; }
.stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 68px; padding-top: 30px; border-top: 1px solid var(--line); }
.stats div { display: flex; min-width: 0; min-height: 88px; flex-direction: column; justify-content: flex-start; padding: 0 clamp(18px, 2.4vw, 38px); border-right: 1px solid var(--line); }
.stats div:first-child { padding-left: 0; }.stats div:last-child { border: 0; }
.stats strong { display: block; white-space: nowrap; font: 500 clamp(2rem, 3.3vw, 3.7rem)/1 "Manrope"; letter-spacing: -.06em; }
.stats div:last-child strong { font-size: clamp(1.8rem, 2.9vw, 3.25rem); }
.stats span { display: block; margin-top: 13px; color: #7a736b; font-size: .78rem; line-height: 1.35; }

.comparison { padding-top: 45px; }
.comparison-heading { display: grid; grid-template-columns: 1.3fr .6fr; gap: 10vw; align-items: end; margin-bottom: 55px; }
.comparison-heading p { margin: 0; color: #6d665f; line-height: 1.8; }
.comparison-stage {
  --position: 50%;
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #c8b187;
  cursor: pointer;
  user-select: none;
}
.comparison-stage img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.comparison-before-wrap { position: absolute; z-index: 1; inset: 0; width: var(--position); overflow: hidden; transition: width .8s cubic-bezier(.22,.8,.22,1); }
.comparison-before { max-width: none; width: calc(100vw - 14vw) !important; }
.comparison-divider { position: absolute; z-index: 4; top: 0; bottom: 0; left: var(--position); width: 2px; background: white; box-shadow: 0 0 0 1px rgba(0,0,0,.12); transform: translateX(-1px); transition: left .8s cubic-bezier(.22,.8,.22,1); }
.comparison-stage.dragging .comparison-before-wrap,
.comparison-stage.dragging .comparison-divider { transition: none; }
.comparison-divider span { position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 52px; height: 52px; color: var(--ink); background: white; border-radius: 50%; box-shadow: 0 6px 24px rgba(0,0,0,.2); transform: translate(-50%,-50%); font-size: 1.25rem; }
.comparison-hit { position: absolute; z-index: 3; top: 0; bottom: 0; width: 50%; padding: 0; border: 0; background: transparent; cursor: pointer; }
.comparison-hit-before { left: 0; }
.comparison-hit-after { right: 0; }
.comparison-tag { position: absolute; z-index: 5; bottom: 24px; padding: 10px 15px; color: white; background: rgba(35,28,23,.8); backdrop-filter: blur(8px); text-transform: uppercase; letter-spacing: .14em; font-size: .66rem; pointer-events: none; transition: opacity .3s ease, visibility .3s ease; }
.tag-before { left: 24px; }
.tag-after { right: 24px; background: rgba(184,154,101,.9); }
.comparison-stage.show-before .tag-after,
.comparison-stage.show-after .tag-before { opacity: 0; visibility: hidden; }
.comparison-caption { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 25px; padding-top: 18px; border-bottom: 1px solid var(--line); padding-bottom: 18px; }
.comparison-caption button { padding: 0; border: 0; background: none; color: var(--ink); font: 500 .85rem "Manrope"; cursor: pointer; }
.comparison-caption button:last-child { justify-self: end; }
.comparison-caption span { color: #8b837a; font-size: .7rem; text-transform: uppercase; letter-spacing: .12em; }

.service-showcase { padding-top: 75px; padding-bottom: 85px; background: #f6f2eb; }
.showcase-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 50px; margin-bottom: 44px; }
.showcase-heading .section-label { margin-bottom: 34px; }
.showcase-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(350px, .7fr); min-height: 610px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.showcase-visual { position: relative; min-height: 610px; overflow: hidden; background: #ddd5c9; }
.showcase-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.035); transition: opacity .65s ease, transform .85s ease; }
.showcase-image.active { opacity: 1; transform: scale(1); }
.showcase-count { position: absolute; z-index: 3; right: 20px; bottom: 20px; padding: 11px 14px; color: white; background: rgba(34,27,22,.8); backdrop-filter: blur(8px); font-size: .68rem; letter-spacing: .14em; }
.showcase-count b { color: #d8bc87; font-weight: 500; }
.showcase-list { padding-left: 38px; background: #f6f2eb; }
.showcase-item { border-bottom: 1px solid var(--line); }
.showcase-item:last-child { border-bottom: 0; }
.showcase-item button { display: grid; width: 100%; grid-template-columns: 38px 1fr 25px; align-items: center; padding: 26px 0; border: 0; color: #8f877e; background: transparent; text-align: left; cursor: pointer; transition: color .25s; }
.showcase-item button span { color: var(--gold); font-size: .66rem; }
.showcase-item button strong { font: 500 1rem "Manrope"; text-transform: uppercase; }
.showcase-item button b { justify-self: end; color: var(--gold); font-weight: 400; opacity: 0; transition: opacity .25s; }
.showcase-item.active button { padding-bottom: 13px; color: var(--ink); }
.showcase-item.active button b { opacity: 1; }
.showcase-item-body { display: grid; grid-template-rows: 0fr; opacity: 0; overflow: hidden; transition: grid-template-rows .45s ease, opacity .4s ease, padding .45s ease; }
.showcase-item-body > * { min-height: 0; }
.showcase-item.active .showcase-item-body { grid-template-rows: 1fr; padding: 0 0 24px 38px; opacity: 1; }
.showcase-item-body p { margin: 0 0 15px; color: #756e66; line-height: 1.65; font-size: .78rem; }
.showcase-item-body .showcase-more { display: inline-flex; width: max-content; grid-template-columns: none; align-items: center; justify-content: space-between; gap: 18px; padding: 7px 8px 7px 18px; color: #241f1b; background: #c8aa72; border: 1px solid #c8aa72; border-radius: 999px; box-shadow: 0 8px 20px rgba(61,45,34,.12); font: 600 .66rem "Manrope"; text-transform: uppercase; letter-spacing: .1em; cursor: pointer; transition: transform .25s, background .25s, box-shadow .25s; }
.showcase-item-body .showcase-more:hover { color: #241f1b; background: #d8bd88; border-color: #d8bd88; box-shadow: 0 12px 28px rgba(61,45,34,.2); transform: translateY(-2px); }
.showcase-item-body .showcase-more span { display: grid; place-items: center; width: 30px; height: 30px; margin: 0; color: white; background: var(--brown); border-radius: 50%; transition: transform .25s; }
.showcase-item-body .showcase-more:hover span { transform: rotate(45deg); }

.services { padding-top: 70px; background: var(--cream); }
.products-heading { display: grid; grid-template-columns: 1.4fr .6fr; align-items: end; gap: 8vw; margin-bottom: 60px; }
.products-heading p { margin: 0; color: #6d665f; line-height: 1.8; }
.products-layout { display: grid; grid-template-columns: 285px 1fr; gap: 28px; align-items: start; }
.product-menu { position: sticky; top: 100px; padding: 35px 30px; color: white; background: var(--ink); border-radius: 14px; }
.product-menu h3 { margin: 0 0 25px; font: 500 1.35rem "Manrope"; text-transform: uppercase; letter-spacing: .03em; }
.product-menu nav { display: flex; flex-direction: column; }
.product-menu a { display: flex; justify-content: space-between; padding: 11px 0; border-bottom: 1px solid rgba(255,255,255,.1); font-size: .86rem; color: rgba(255,255,255,.78); transition: color .2s, padding .2s; }
.product-menu a:last-child { border-bottom: 0; }
.product-menu a span { opacity: 0; color: var(--gold); transition: opacity .2s; }
.product-menu a:hover { color: white; padding-left: 6px; }
.product-menu a:hover span { opacity: 1; }
.product-menu a.active { padding-left: 6px; color: white; }
.product-menu a.active::before { content: ""; width: 5px; height: 5px; margin: 7px 8px 0 0; flex: 0 0 auto; border-radius: 50%; background: var(--gold); }
.product-menu a.active span { opacity: 1; }
.product-gallery-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 18px; border-bottom: 1px solid var(--line); padding-bottom: 13px; }
.product-gallery-head p { margin: 0; color: #837b72; font-size: .68rem; text-transform: uppercase; letter-spacing: .14em; }
.product-gallery-head > div { display: flex; align-items: center; gap: 25px; }
.product-gallery-head h3 { margin: 0; font: 500 1.35rem "Manrope"; }
.gallery-view-all { display: inline-flex; align-items: center; gap: 12px; padding: 8px 12px; color: white; background: var(--brown); font-size: .65rem; text-transform: uppercase; letter-spacing: .08em; transition: .25s; }
.gallery-view-all:hover { background: var(--gold); }
.gallery-view-all.hidden { display: none; }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.product-card { display: block; min-width: 0; background: white; overflow: hidden; }
.product-card img { display: block; width: 100%; height: 210px; object-fit: cover; transition: transform .6s ease; }
.product-card span { display: flex; justify-content: space-between; align-items: center; padding: 16px 18px; color: white; background: var(--brown); font: 500 1rem "Manrope"; text-transform: uppercase; }
.product-card span i { overflow: hidden; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.product-card.is-changing { opacity: 0; transform: translateY(10px); }
.product-card { transition: opacity .25s ease, transform .25s ease; }
.product-card b { color: var(--gold); font-weight: 400; opacity: 0; transform: translateX(-8px); transition: .25s; }
.product-card:hover img { transform: scale(1.045); }
.product-card:hover b { opacity: 1; transform: none; }
.dark-panel { color: white; background: var(--brown); border-radius: 26px; padding: 90px 7vw 55px; }
.panel-heading { display: grid; grid-template-columns: 1.4fr .65fr; gap: 12vw; align-items: end; margin-bottom: 70px; }
.panel-heading h2 { font-size: clamp(3rem, 5vw, 5.5rem); font-weight: 500; }
.panel-heading p { color: rgba(255,255,255,.58); }
.service-item { display: grid; grid-template-columns: 70px 1fr 50px; align-items: center; border-top: 1px solid rgba(255,255,255,.18); padding: 32px 0; transition: padding .25s, color .25s; }
.service-item:hover { padding-left: 15px; color: #d8bd8b; }
.service-number { color: var(--gold); font-size: .72rem; }
.service-item h3 { margin: 0 0 7px; font: 500 clamp(1.55rem, 2.4vw, 2.6rem) "Manrope"; }
.service-item p { margin: 0; color: rgba(255,255,255,.55); font-size: .85rem; }
.service-arrow { justify-self: end; font-size: 1.4rem; }

.projects { padding-top: 78px; padding-bottom: 88px; }
.projects .section-label { margin-bottom: 38px; }
.projects-heading, .brands-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 60px; margin-bottom: 42px; }
.project-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.project-card { min-width: 0; }
.project-image { position: relative; display: block; height: 470px; border-radius: 14px; overflow: hidden; background: #ddd5c9; box-shadow: 0 14px 35px rgba(47,35,27,.08); }
.project-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(24,17,13,.88) 0%, rgba(24,17,13,.3) 52%, transparent 78%); transition: background .4s; }
.project-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.project-card:hover .project-image img { transform: scale(1.035); }
.project-card-content { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; display: flex; flex-direction: column; align-items: flex-start; padding: 30px; color: white; }
.project-card-content small { margin-bottom: 9px; color: rgba(255,255,255,.68); font-size: .68rem; text-transform: uppercase; letter-spacing: .14em; }
.project-card-content > strong { margin-bottom: 22px; font: 500 clamp(1.45rem, 2vw, 2rem)/1.15 "Manrope"; letter-spacing: -.035em; }
.project-view { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 13px 15px; color: var(--ink); background: white; font-size: .73rem; transition: background .25s, color .25s; }
.project-view b { color: var(--gold); font-weight: 400; }
.project-view:hover { color: white; background: var(--brown); }

.brands { padding-top: 68px; padding-bottom: 72px; background: var(--cream); }
.brands .section-label { margin-bottom: 34px; }
.brands .brands-heading { margin-bottom: 38px; }
.brands-heading > p { max-width: 390px; }
.logo-slider { width: calc(100% + 14vw); margin-left: -7vw; overflow-x: auto; overflow-y: hidden; border: 0; cursor: grab; scrollbar-width: none; scroll-behavior: auto; touch-action: pan-y; overscroll-behavior-x: contain; }
.logo-slider::-webkit-scrollbar { display: none; }
.logo-slider.dragging { cursor: grabbing; user-select: none; }
.logo-track { display: flex; width: max-content; }
.logo-set { display: flex; }
.logo-card { width: 250px; height: 150px; display: grid; place-items: center; padding: 30px; border: 0; background: rgba(255,255,255,.25); }
.logo-card img { width: 100%; max-height: 75px; object-fit: contain; mix-blend-mode: multiply; filter: saturate(.85); }
.logo-card, .logo-card img { user-select: none; -webkit-user-drag: none; pointer-events: none; }

.testimonial { padding-top: 78px; padding-bottom: 60px; overflow: hidden; background: #f3f3f1; }
.review-layout { display: grid; grid-template-columns: 245px minmax(0, 1fr); gap: 30px; align-items: stretch; }
.review-intro-card { position: relative; min-height: 285px; padding: 36px 28px; overflow: hidden; background: #ecece9; border-radius: 10px 10px 42px 10px; }
.review-intro-card .section-label { position: relative; z-index: 1; margin-bottom: 28px; }
.review-intro-card h2 { position: relative; z-index: 1; margin: 0; font: 600 clamp(2rem, 2.8vw, 3.1rem)/.98 "Manrope"; letter-spacing: -.055em; }
.review-quote-mark { position: absolute; right: 10px; top: -42px; color: rgba(255,255,255,.8); font: 13rem Georgia, serif; }
.review-carousel { min-width: 0; overflow: hidden; }
.review-controls { display: flex; gap: 10px; padding-bottom: 8px; }
.review-controls button { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); background: white; cursor: pointer; transition: .25s; }
.review-controls button:hover { color: white; background: var(--brown); }
.review-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 36px) / 3); gap: 18px; height: 100%; overflow-x: auto; scrollbar-width: none; scroll-behavior: smooth; scroll-snap-type: x mandatory; }
.review-track::-webkit-scrollbar { display: none; }
.review-card { position: relative; min-height: 285px; display: flex; flex-direction: column; padding: 30px 27px 36px; border: 0; border-radius: 10px 10px 38px 10px; background: white; box-shadow: 0 10px 28px rgba(42,34,28,.035); scroll-snap-align: start; transition: transform .45s ease, box-shadow .45s ease; }
.review-card:hover { transform: translateY(-5px); box-shadow: 0 16px 35px rgba(42,34,28,.09); }
.review-card::after { content: ""; position: absolute; right: 0; bottom: -1px; width: 30px; height: 30px; background: #f3f3f1; clip-path: polygon(100% 0, 0 100%, 100% 100%); }
.review-stars { color: var(--gold); letter-spacing: .16em; font-size: .76rem; }
.review-card > p { margin: 27px 0 32px; color: #6d665f; font: 400 .86rem/1.7 "DM Sans"; }
.review-author { display: flex; flex-direction: column; gap: 6px; margin-top: auto; }
.review-author strong { color: #a88b56; font: 600 .76rem "Manrope"; }
.review-author span { color: #857d74; font-size: .7rem; }
.review-footer { display: flex; align-items: center; justify-content: space-between; margin-left: 275px; padding: 34px 0 0; }
.review-score { display: flex; align-items: baseline; gap: 12px; }
.review-score strong { font: 600 2.25rem "Manrope"; letter-spacing: -.05em; }
.review-score span { color: var(--gold); font-size: .65rem; text-transform: uppercase; letter-spacing: .08em; }

.contact { padding-top: 30px; }
.contact-inner { position: relative; isolation: isolate; overflow: hidden; text-align: center; color: white; background: var(--brown) url("/assets/comparison/kitchen-after.png") center 54% / cover no-repeat; border-radius: 26px; padding: 110px 25px; }
.contact-inner::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(44,31,23,.9), rgba(58,41,29,.82)), linear-gradient(0deg, rgba(25,18,14,.3), transparent); }
.contact h2 { font-size: clamp(3rem, 6vw, 6.5rem); font-weight: 500; margin: 25px 0 45px; }
.contact .button { margin: auto; }
.site-footer { color: #f6f0e7; background: #241d18; }
.footer-main { display: grid; grid-template-columns: 1.35fr .65fr .9fr 1fr; gap: clamp(35px, 6vw, 90px); padding: 80px 7vw 65px; }
.footer-logo { display: block; width: 250px; margin-bottom: 25px; }
.footer-logo img { display: block; width: 100%; }
.footer-about > p { max-width: 360px; margin: 0 0 28px; color: rgba(255,255,255,.56); line-height: 1.75; font-size: .82rem; }
.footer-whatsapp { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 7px 12px; padding-bottom: 7px; border-bottom: 1px solid rgba(255,255,255,.35); font-size: .72rem; }
.footer-icon { display: inline-grid; flex: 0 0 auto; place-items: center; width: 19px; height: 19px; color: #c5a971; font-style: normal; }
.footer-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.footer-whatsapp span { color: #bda576; text-transform: uppercase; letter-spacing: .1em; }
.footer-whatsapp strong { font-weight: 500; }
.footer-column h3 { margin: 7px 0 27px; color: #c5a971; font: 600 .7rem "Manrope"; text-transform: uppercase; letter-spacing: .15em; }
.footer-column nav { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; }
.footer-column nav a { color: rgba(255,255,255,.68); font-size: .8rem; transition: color .2s, transform .2s; }
.footer-column nav a:hover { color: white; transform: translateX(4px); }
.footer-contact { display: flex; flex-direction: column; align-items: flex-start; }
.footer-contact > span { margin: 17px 0 5px; color: rgba(255,255,255,.4); font-size: .62rem; text-transform: uppercase; letter-spacing: .1em; }
.footer-contact > span:first-of-type { margin-top: 0; }
.footer-contact a { font-size: .78rem; }
.footer-contact-link { display: inline-flex; align-items: center; gap: 10px; transition: color .2s; }
.footer-contact-link:hover { color: #d9bf8a; }
.footer-phone { font: 500 1.28rem "Manrope" !important; }
.footer-heading-icon { display: flex; align-items: center; gap: 9px; }
.footer-heading-icon .footer-icon { width: 17px; height: 17px; }
.footer-hours > div { display: flex; flex-direction: column; gap: 5px; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.footer-hours > div:first-of-type { padding-top: 0; }
.footer-hours span { color: rgba(255,255,255,.45); font-size: .67rem; }
.footer-hours strong { font-size: .78rem; font-weight: 500; }
.footer-bottom { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px; padding: 22px 7vw 28px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.42); font-size: .65rem; }
.footer-bottom p { margin: 0; }
.footer-bottom div { display: flex; gap: 24px; }
.footer-bottom > a { justify-self: end; color: rgba(255,255,255,.68); }
body > footer:not(.site-footer) { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px; padding: 35px 7vw 55px; }
body > footer:not(.site-footer) .footer-links { display: flex; gap: 30px; font-size: .78rem; }
body > footer:not(.site-footer) p { justify-self: end; color: #817970; font-size: .7rem; }
.detail-hero { position: relative; min-height: 82svh; display: flex; align-items: flex-end; color: white; overflow: hidden; }
.detail-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.detail-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(22,16,12,.78), rgba(22,16,12,.08) 70%), linear-gradient(90deg, rgba(22,16,12,.35), transparent); }
.detail-hero-content { position: relative; z-index: 2; width: 86%; margin: 0 auto 9vh; }
.detail-back { display: inline-flex; gap: 10px; margin-bottom: 30px; font-size: .72rem; text-transform: uppercase; letter-spacing: .14em; }
.detail-hero h1 { max-width: 980px; font-size: clamp(3.6rem, 7vw, 7.5rem); }
.detail-location { display: flex; flex-wrap: wrap; gap: 20px 38px; margin-top: 28px; color: rgba(255,255,255,.78); font-size: .8rem; }
.detail-intro { display: grid; grid-template-columns: 1.25fr .75fr; gap: 10vw; align-items: start; }
.detail-intro h2 { font-size: clamp(2.8rem, 5vw, 5.2rem); font-weight: 500; }
.detail-copy p { color: #6d665f; line-height: 1.85; }
.detail-specs { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 75px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.detail-specs div { min-height: 145px; padding: 30px; border-right: 1px solid var(--line); }
.detail-specs div:first-child { padding-left: 0; }.detail-specs div:last-child { border-right: 0; }
.detail-specs span { display: block; color: var(--gold); margin-bottom: 14px; font-size: .65rem; text-transform: uppercase; letter-spacing: .14em; }
.detail-specs strong { font: 500 1rem/1.5 "Manrope"; }
.detail-gallery { display: grid; grid-template-columns: 1.2fr .8fr; gap: 24px; padding-top: 25px; }
.detail-gallery img { width: 100%; height: 520px; object-fit: cover; }
.detail-gallery img:nth-child(3) { grid-column: 1 / -1; height: 600px; }
.detail-features { background: var(--cream); }
.feature-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 10vw; }
.feature-layout h2 { font-size: clamp(2.7rem, 4.5vw, 4.8rem); font-weight: 500; }
.feature-list { border-top: 1px solid var(--line); }
.feature-list div { display: grid; grid-template-columns: 45px 1fr; padding: 24px 0; border-bottom: 1px solid var(--line); }
.feature-list span { color: var(--gold); font-size: .7rem; }
.feature-list h3 { margin: 0 0 7px; font: 500 1.12rem "Manrope"; }
.feature-list p { margin: 0; color: #746d65; line-height: 1.6; font-size: .84rem; }
.availability { display: flex; align-items: center; gap: 10px; margin-top: 25px; font-size: .78rem; }
.availability::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #6b9b61; box-shadow: 0 0 0 5px rgba(107,155,97,.12); }
.doors-hero { position: relative; min-height: 78svh; display: flex; align-items: flex-end; overflow: hidden; color: white; }
.doors-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.doors-hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(26,19,15,.82), rgba(26,19,15,.3) 68%), linear-gradient(0deg, rgba(25,18,14,.55), transparent 65%); }
.doors-hero-content { position: relative; z-index: 2; width: 86%; margin: 0 auto 9vh; }
.doors-hero-content > a { display: inline-block; margin-bottom: 32px; font-size: .7rem; text-transform: uppercase; letter-spacing: .13em; }
.doors-hero h1 { max-width: 900px; font-size: clamp(3.5rem, 6.8vw, 7rem); }
.doors-hero-content > p:last-child { max-width: 570px; margin: 28px 0 0; color: rgba(255,255,255,.72); line-height: 1.75; }
.door-catalogue-heading { display: grid; grid-template-columns: 1.3fr .6fr; gap: 10vw; align-items: end; margin-bottom: 55px; }
.door-catalogue-heading .section-label { margin-bottom: 35px; }
.door-catalogue-heading > p { margin: 0; color: #706960; line-height: 1.8; }
.door-category-tabs { position: sticky; z-index: 8; top: 76px; display: flex; gap: 8px; overflow-x: auto; padding: 12px; margin-bottom: 55px; background: rgba(250,248,244,.94); border: 1px solid var(--line); border-radius: 12px; backdrop-filter: blur(12px); scrollbar-width: none; }
.door-category-tabs::-webkit-scrollbar { display: none; }
.door-category-tabs button { flex: 0 0 auto; padding: 13px 18px; border: 0; border-radius: 8px; color: #6d665f; background: transparent; cursor: pointer; font-size: .75rem; transition: .25s; }
.door-category-tabs button.active, .door-category-tabs button:hover { color: white; background: var(--brown); }
.door-results-head { display: flex; justify-content: space-between; align-items: end; margin-bottom: 26px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.door-results-head span { color: var(--gold); font-size: .65rem; text-transform: uppercase; letter-spacing: .13em; }
.door-results-head h2 { margin: 7px 0 0; font: 500 clamp(1.7rem, 2.5vw, 2.5rem) "Manrope"; }
.door-results-head > strong { color: #837b73; font-size: .7rem; font-weight: 400; text-transform: uppercase; letter-spacing: .1em; }
.door-results-head > strong b { color: var(--ink); font-size: 1rem; }
.door-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 35px 20px; opacity: 1; transform: none; transition: opacity .18s, transform .18s; }
.door-grid.changing { opacity: 0; transform: translateY(8px); }
.door-swatch { min-width: 0; }
.door-swatch-image { height: 330px; overflow: hidden; background: #eee9e0; }
.door-swatch img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s; }
.door-swatch:hover img { transform: scale(1.035); }
.door-swatch > div:last-child { position: relative; padding: 17px 0; border-bottom: 1px solid var(--line); }
.door-swatch span { color: var(--gold); font-size: .62rem; }
.door-swatch h3 { margin: 7px 0 0; padding-right: 70px; font: 500 .92rem "Manrope"; }
.door-swatch b { position: absolute; right: 0; bottom: 16px; color: #756d64; font-size: .65rem; font-weight: 400; }
.door-swatch:hover b { color: var(--gold); }
.door-help { display: grid; grid-template-columns: 1.2fr .7fr; gap: 10vw; align-items: end; color: white; background: var(--brown); }
.door-help h2 { font-size: clamp(3rem, 5vw, 5.4rem); font-weight: 500; }
.door-help > div:last-child p { color: rgba(255,255,255,.6); line-height: 1.8; }
.door-help .button { width: max-content; margin-top: 28px; }
.door-detail-main { padding-top: 76px; background: var(--paper); }
.door-detail { padding-top: 55px; }
.door-detail-back { display: inline-block; margin-bottom: 35px; color: #716960; font-size: .7rem; text-transform: uppercase; letter-spacing: .12em; }
.door-detail-layout { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(390px, .75fr); gap: 7vw; align-items: start; }
.door-detail-image { position: sticky; top: 105px; height: 690px; overflow: hidden; background: #eee9e0; }
.door-detail-image img { width: 100%; height: 100%; object-fit: contain; }
.door-detail-image button { position: absolute; right: 20px; bottom: 20px; padding: 13px 16px; border: 0; color: white; background: rgba(42,31,24,.88); cursor: pointer; }
.door-detail-content { padding-top: 38px; }
.door-detail-content h1 { margin: 25px 0 30px; color: var(--ink); font-size: clamp(3.1rem, 5vw, 5.6rem); line-height: .98; }
.door-detail-content > p:not(.eyebrow) { max-width: 540px; color: #70685f; line-height: 1.8; }
.door-detail-specs { margin: 45px 0 35px; border-top: 1px solid var(--line); }
.door-detail-specs > div { display: grid; grid-template-columns: 125px 1fr; padding: 18px 0; border-bottom: 1px solid var(--line); }
.door-detail-specs dt { color: #9a8c7b; font-size: .68rem; text-transform: uppercase; letter-spacing: .09em; }
.door-detail-specs dd { margin: 0; font-size: .82rem; }
.door-enquire { display: flex; width: min(100%, 360px); justify-content: space-between; padding: 17px 18px; color: white; background: var(--brown); font-size: .78rem; }
.door-enquire span { color: var(--gold); }
.door-detail-nav { display: grid; grid-template-columns: 1fr auto 1fr; gap: 20px; margin-top: 70px; padding: 25px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: .72rem; }
.door-detail-nav a:nth-child(2) { color: var(--gold); text-transform: uppercase; letter-spacing: .1em; }
.door-detail-nav a:last-child { justify-self: end; }
.door-lightbox { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 4vw; background: rgba(20,15,12,.92); opacity: 0; visibility: hidden; transition: .3s; }
.door-lightbox.open { opacity: 1; visibility: visible; }
.door-lightbox img { max-width: 90vw; max-height: 88vh; object-fit: contain; }
.door-lightbox button { position: absolute; top: 25px; right: 30px; border: 0; color: white; background: transparent; font-size: 2rem; cursor: pointer; }
.inner-hero{position:relative;min-height:72svh;display:flex;align-items:flex-end;overflow:hidden;color:white}.inner-hero.compact{min-height:62svh}.inner-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.inner-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,18,14,.86),rgba(25,18,14,.3)),linear-gradient(0deg,rgba(25,18,14,.55),transparent)}.inner-hero>div:last-child{position:relative;z-index:2;width:86%;margin:0 auto 9vh}.inner-hero h1{max-width:980px;font-size:clamp(3.8rem,7vw,7.5rem)}.back-link{display:inline-block;margin-bottom:35px;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em}.story-section{display:grid;grid-template-columns:1.15fr .75fr;gap:10vw;align-items:end}.story-section h2,.service-page-intro h2,.brands-page h2,.contact-page h2{margin-top:35px;font-size:clamp(3rem,5vw,5.8rem)}.story-copy p,.service-page-intro>p,.brands-page-copy>p,.contact-page>div>p{color:#706960;font-size:.98rem;line-height:1.9}.story-copy .arrow-link{display:inline-block;margin-top:22px}.page-stats{display:grid;grid-template-columns:repeat(4,1fr);padding-top:38px;padding-bottom:38px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.page-stats>div{padding:10px 35px;border-right:1px solid var(--line)}.page-stats>div:last-child{border:0}.page-stats strong{display:block;font:400 clamp(2.2rem,3.5vw,4rem) "Manrope"}.page-stats span{color:#7d746b;font-size:.72rem}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.values-grid article{min-height:300px;padding:40px;background:#f0ebe3}.values-grid article>span{color:var(--gold);font-size:.68rem}.values-grid h3{margin:70px 0 15px;font:500 1.5rem "Manrope"}.values-grid p{color:#746c64;line-height:1.7}.page-cta{text-align:center;color:white;background:var(--brown) url('/assets/comparison/kitchen-after.png') center/cover;background-blend-mode:multiply}.page-cta h2{margin:25px 0 45px;font-size:clamp(3rem,6vw,6.5rem)}.page-cta .button{width:max-content;margin:auto}.service-page-intro{display:grid;grid-template-columns:.55fr 1.2fr .65fr;gap:5vw;align-items:end}.service-page-intro h2{margin:0}.service-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 20px;padding-top:10px}.service-page-grid a{position:relative;min-height:470px;overflow:hidden;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;color:white}.service-page-grid img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}.service-page-grid a::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(0deg,rgba(31,22,17,.86),transparent 65%)}.service-page-grid a:hover img{transform:scale(1.04)}.service-page-grid a>span{color:#d5b77d;font-size:.68rem}.service-page-grid h3{margin:12px 0;font:500 2rem "Manrope"}.service-page-grid b{font-size:.7rem;font-weight:400}.process-section{background:var(--cream)}.process-section>.section-label{margin-bottom:38px}.service-gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:16px;padding-top:40px}.service-gallery img{width:100%;height:520px;object-fit:cover}.projects-page .section-label{margin-bottom:40px}.projects-page-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:55px 22px}.projects-page-grid a:first-child{grid-column:span 2}.projects-page-grid img{width:100%;height:560px;object-fit:cover}.projects-page-grid a:first-child img{height:700px}.projects-page-grid small{display:block;margin-top:18px;color:var(--gold);text-transform:uppercase;letter-spacing:.12em}.projects-page-grid h2{margin:8px 0 14px;font-size:clamp(2rem,3vw,3.6rem)}.projects-page-grid span{border-bottom:1px solid;font-size:.75rem}.brands-page{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw}.brands-page-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.brands-page-grid div{min-height:190px;display:grid;place-items:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.brands-page-grid img{width:75%;max-height:90px;object-fit:contain}.contact-page{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.contact-methods{display:grid;margin-top:45px}.contact-methods a{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid var(--line)}.contact-methods span{color:#8a8178;font-size:.7rem}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:25px 18px;padding:45px;background:#eee8df}.contact-form label{display:grid;gap:10px;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.contact-form .full{grid-column:span 2}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:14px 0;border:0;border-bottom:1px solid #9f958a;outline:0;background:transparent;font:inherit;resize:vertical}.contact-form button{grid-column:span 2;display:flex;justify-content:space-between;padding:18px 20px;border:0;color:white;background:var(--brown);cursor:pointer}
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .8s ease; }
.reveal.visible { opacity: 1; transform: none; }

@media (max-width: 900px) {
  .site-header { height: 76px; padding: 0 6vw; }
  .header-logo { width: 185px; height: 65px; }
  .menu-toggle { display: block; z-index: 2; }
  .nav-links { position: fixed; inset: 0; flex-direction: column; justify-content: center; background: var(--brown); font-size: 1.4rem; transform: translateX(100%); transition: transform .4s; }
  .nav-links.open { transform: none; }
  .nav-cta { margin-top: 20px; font-size: .85rem; }
  .hero-content { width: 88%; margin: 0 auto 14vh; }
  .hero-layout { grid-template-columns: 1fr; gap: 28px; }
  .hero-copy { margin-bottom: 22px; }
  .section { padding: 85px 6vw; }
  .intro { padding-top: 65px; padding-bottom: 65px; }
  .intro-grid, .panel-heading, .products-heading, .comparison-heading { grid-template-columns: 1fr; gap: 35px; }
  .showcase-layout { grid-template-columns: 1fr; }
  .showcase-visual { min-height: 500px; }
  .showcase-list { padding: 10px 28px; }
  .comparison-before { width: 88vw !important; }
  .products-layout { grid-template-columns: 1fr; }
  .product-menu { position: static; }
  .product-menu nav { display: grid; grid-template-columns: repeat(2, 1fr); column-gap: 25px; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stats { grid-template-columns: repeat(2, 1fr); row-gap: 35px; }
  .stats div:nth-child(2) { border: 0; }
  .stats div:nth-child(3), .stats div:nth-child(4) { padding-top: 28px; border-top: 1px solid var(--line); }
  .project-grid { grid-template-columns: 1fr; }
  .project-image { height: 520px; }
  .projects-heading, .brands-heading { align-items: flex-start; flex-direction: column; }
  .review-layout { grid-template-columns: 210px minmax(0, 1fr); }
  .review-track { grid-auto-columns: calc((100% - 18px) / 2); }
  .review-footer { margin-left: 240px; }
  .footer-main { grid-template-columns: repeat(2, 1fr); }
  .footer-bottom { grid-template-columns: 1fr auto; }
  .footer-bottom div { display: none; }
  body > footer:not(.site-footer) { grid-template-columns: 1fr; text-align: center; }
  body > footer:not(.site-footer) .footer-brand,
  body > footer:not(.site-footer) p { justify-self: center; }
  .detail-intro, .feature-layout { grid-template-columns: 1fr; gap: 45px; }
  .door-catalogue-heading, .door-help { grid-template-columns: 1fr; gap: 45px; }
  .door-detail-layout { grid-template-columns: 1fr; }
  .door-detail-image { position: relative; top: auto; height: 620px; }
  .door-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .detail-specs { grid-template-columns: repeat(2, 1fr); }
  .detail-specs div:nth-child(2) { border-right: 0; }
  .detail-specs div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .detail-gallery { grid-template-columns: 1fr; }
  .detail-gallery img, .detail-gallery img:nth-child(3) { grid-column: auto; height: 450px; }
}

@media (max-width: 560px) {
  h1 { font-size: 3.25rem; }
  .hero { min-height: 760px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 22px; }
  .hero-footer > span { display: none; }
  .sound-toggle { display: none; }
  .section-label { margin-bottom: 45px; }
  .stats { margin-top: 65px; }
  .stats div { min-height: 78px; padding-right: 12px; }
  .stats div:nth-child(even) { padding-left: 18px; }
  .dark-panel { padding: 65px 25px 35px; border-radius: 18px; }
  .service-item { grid-template-columns: 38px 1fr 25px; }
  .service-item p { display: none; }
  .product-menu { padding: 28px 24px; }
  .product-menu nav { grid-template-columns: 1fr; }
  .product-grid { grid-template-columns: 1fr; gap: 18px; }
  .product-card img { height: 240px; }
  .comparison-stage { aspect-ratio: 4 / 3; }
  .showcase-heading { align-items: flex-start; flex-direction: column; }
  .showcase-layout { min-height: 0; }
  .showcase-visual { min-height: 360px; }
  .showcase-list { padding: 5px 20px; }
  .showcase-item button { padding: 21px 0; }
  .comparison-stage img { object-position: center; }
  .comparison-before { width: 88vw !important; }
  .comparison-caption { grid-template-columns: 1fr 1fr; }
  .comparison-caption span { display: none; }
  .comparison-divider span { width: 42px; height: 42px; }
  .comparison-tag { bottom: 13px; }
  .tag-before { left: 13px; }
  .tag-after { right: 13px; }
  .project-image { height: 390px; }
  .project-card-content { padding: 22px; }
  .detail-hero { min-height: 700px; }
  .detail-hero-content { width: 88%; }
  .detail-hero h1 { font-size: 3.4rem; }
  .detail-specs div { min-height: 125px; padding: 24px 15px; }
  .detail-gallery img, .detail-gallery img:nth-child(3) { height: 340px; }
  .doors-hero { min-height: 700px; }
  .doors-hero-content { width: 88%; }
  .door-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 14px; }
  .door-swatch-image { height: 270px; }
  .door-category-tabs { margin-right: -6vw; margin-left: -6vw; border-right: 0; border-left: 0; border-radius: 0; }
  .door-detail-main { padding-top: 70px; }
  .door-detail-image { height: 500px; }
  .door-detail-content { padding-top: 5px; }
  .door-detail-nav { grid-template-columns: 1fr 1fr; }
  .door-detail-nav a:nth-child(2) { display: none; }
  .logo-card { width: 190px; height: 120px; }
  .quote-card { padding: 75px 5vw 40px 8vw; }
  .review-layout { grid-template-columns: 1fr; }
  .review-intro-card { min-height: 205px; }
  .review-track { grid-auto-columns: 86%; }
  .review-card { min-height: 285px; padding: 28px; }
  .review-footer { margin-left: 0; }
  .contact-inner { padding: 85px 18px; }
  .footer-main { grid-template-columns: 1fr; padding-top: 60px; }
  .footer-logo { width: 220px; }
  .footer-bottom { grid-template-columns: 1fr; gap: 15px; }
  .footer-bottom > a { justify-self: start; }
}

.editorial-blocks,.design-steps{display:grid}.editorial-blocks article,.design-steps article{display:grid;grid-template-columns:100px .8fr;gap:5vw;padding:50px 0;border-top:1px solid var(--line)}.editorial-blocks article>span,.design-steps article>span{color:var(--gold);font-size:.7rem}.editorial-blocks article>div,.design-steps article>div{max-width:850px}.editorial-blocks h2,.design-steps h2{font-size:clamp(2.3rem,4vw,4.5rem)}.editorial-blocks p,.design-steps p{color:#706960;line-height:1.85}.editorial-blocks blockquote{margin:35px 0 0;font:italic 2rem Georgia;color:var(--brown)}.comparison-head{display:grid;grid-template-columns:1fr .55fr;gap:8vw;align-items:end;margin:35px 0 55px}.comparison-head h2{font-size:clamp(3rem,5vw,5.7rem)}.comparison-head p{color:#706960;line-height:1.8}.comparison-table{border-top:1px solid var(--line)}.comparison-row{display:grid;grid-template-columns:.55fr 1fr 1fr;gap:35px;padding:26px 20px;border-bottom:1px solid var(--line)}.comparison-row.heading{color:white;background:var(--brown)}.comparison-row p{margin:0;color:#706960;line-height:1.65}.locations-section{display:grid;grid-template-columns:.55fr 1.2fr;gap:8vw;background:var(--cream)}.locations-section h2{margin-top:35px;font-size:clamp(3rem,5vw,5.7rem)}.location-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.location-grid article{min-height:220px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.location-grid span{color:var(--gold);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em}.location-grid h3{margin:45px 0 12px;font:500 1.45rem "Manrope"}.location-grid p,.location-grid a{color:#706960;line-height:1.7}.opening-panel{display:grid;grid-template-columns:repeat(3,1fr);padding-top:38px;padding-bottom:38px;background:var(--brown);color:white}.opening-panel div{display:flex;justify-content:space-between;gap:20px;padding:10px 35px;border-right:1px solid rgba(255,255,255,.18)}.opening-panel div:last-child{border:0}.opening-panel span{color:rgba(255,255,255,.55);font-size:.7rem}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; }
}
@media (max-width:900px){.story-section,.brands-page,.contact-page{grid-template-columns:1fr}.service-page-intro{grid-template-columns:1fr}.service-page-grid{grid-template-columns:repeat(2,1fr)}.page-stats{grid-template-columns:repeat(2,1fr)}.values-grid{grid-template-columns:1fr}.service-gallery{grid-template-columns:1fr 1fr}.service-gallery img:first-child{grid-column:span 2}.projects-page-grid img,.projects-page-grid a:first-child img{height:480px}}
@media (max-width:600px){.inner-hero,.inner-hero.compact{min-height:620px}.inner-hero h1{font-size:clamp(3rem,14vw,5rem)}.service-page-grid,.page-stats,.contact-form,.service-gallery,.projects-page-grid,.brands-page-grid{grid-template-columns:1fr}.service-page-grid a{min-height:390px}.page-stats>div{border-right:0;border-bottom:1px solid var(--line)}.contact-form{padding:28px 20px}.contact-form .full,.contact-form button,.service-gallery img:first-child,.projects-page-grid a:first-child{grid-column:auto}.contact-methods a{flex-direction:column}.service-gallery img{height:360px}.projects-page-grid img,.projects-page-grid a:first-child img{height:420px}}
@media(max-width:900px){.locations-section,.comparison-head{grid-template-columns:1fr}.comparison-row{grid-template-columns:1fr}.comparison-row.heading{display:none}.opening-panel{grid-template-columns:1fr}.opening-panel div{border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}}
@media(max-width:600px){.editorial-blocks article,.design-steps article{grid-template-columns:45px 1fr;gap:15px}.location-grid{grid-template-columns:1fr}}
.inner-hero h1{max-width:820px;font-size:clamp(2.8rem,4.7vw,5.2rem);line-height:1.02}.doors-page-enter .site-header{padding-right:3vw;padding-left:3vw}.doors-page-enter .site-header>.brand{width:190px;flex-basis:190px}.doors-page-enter .nav-links{gap:clamp(12px,1.55vw,25px);font-size:.76rem;white-space:nowrap}.doors-page-enter .nav-cta{gap:18px;padding:13px 15px}
@media(max-width:600px){.inner-hero h1{font-size:clamp(2.5rem,11vw,4rem)}}
.doors-page-enter .inner-hero,.doors-page-enter .inner-hero.compact{height:500px;min-height:500px;padding:76px 0 0}.doors-page-enter .inner-hero>div:last-child{width:86%;margin:0 auto;padding:0 0 44px}.doors-page-enter .inner-hero .eyebrow{margin:0 0 18px}.doors-page-enter .inner-hero h1{margin:0}
@media(max-width:700px){.doors-page-enter .inner-hero,.doors-page-enter .inner-hero.compact{height:440px;min-height:440px;padding-top:70px}.doors-page-enter .inner-hero>div:last-child{width:88%;padding-bottom:36px}}
