/* Hallmark · macrostructure: Fashion catalogue · theme: custom SPIRIT · anchor hue: burgundy · Bebas Neue + Heebo */
@import url('./tokens.css');
*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-weight:400;font-size:var(--text-body);line-height:1.7}h1,h2,p,figure{margin:0}h1,h2{font-style:normal;font-weight:400;text-wrap:balance;min-width:0;overflow-wrap:anywhere}h2{font-size:var(--text-heading);line-height:1.2;letter-spacing:-.035em}p{text-wrap:pretty}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;width:100%;height:auto}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--color-terra);outline-offset:6px}button:active,.text-link:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}::selection{color:var(--color-paper);background:var(--color-accent)}.skip{position:fixed;top:-100px;right:16px;z-index:100;background:var(--color-paper);padding:16px}.skip:focus{top:16px}.section{padding:var(--space-section) var(--space-gutter)}.header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-gutter);position:relative;z-index:20;background:var(--color-paper)}.company{display:block;width:170px}.company img{filter:grayscale(1) brightness(6) invert(1);mix-blend-mode:multiply}.header nav{display:flex;gap:40px;font-size:15px}.header a{white-space:nowrap}.header nav a{position:relative}.header nav a:after{content:'';position:absolute;right:0;left:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform var(--dur-fast) var(--ease-out)}.header-cta{font-size:15px;display:flex;gap:25px;align-items:center}.header-cta span{font-size:25px}.menu-toggle,.mobile-menu{display:none}.hero{height:calc(100svh - 94px);min-height:650px;max-height:1050px;background:var(--color-accent);color:var(--color-paper);position:relative}.hero-stage{position:relative;height:100%;isolation:isolate;overflow:clip}.hero-photo{position:absolute;right:0;top:0;bottom:0;width:48%;overflow:clip;z-index:-1}.hero-photo img{height:100%;object-fit:cover;object-position:60% 62%;transform-origin:center}.hero-title{position:absolute;left:var(--space-gutter);top:8.5%;z-index:2;pointer-events:none}.hero h1{font-family:var(--font-display);font-size:clamp(96px,11.7vw,192px);line-height:.88;letter-spacing:-.012em;text-align:left;overflow-wrap:normal}.hero h1>span{display:block;white-space:nowrap}.hero h1>span+span{margin-top:8px}.hero h1 .outline{-webkit-text-stroke:1.3px var(--color-paper);color:transparent}.hero-note{position:absolute;left:var(--space-gutter);top:57%;max-width:360px;text-align:right;z-index:3;font-weight:300;font-size:18px}.hero-note p{line-height:1.65}.text-link{display:inline-flex;align-items:center;gap:38px;font-size:16px;min-height:48px;white-space:nowrap}.hero-note .text-link{margin-top:20px}.text-link span{font-size:26px;transition:transform var(--dur-fast) var(--ease-out)}.hero-inset{position:absolute;width:15%;max-width:250px;aspect-ratio:1.13;overflow:clip;right:39%;bottom:8%;z-index:1;box-shadow:0 12px 40px color-mix(in oklch,var(--color-ink) 22%,transparent)}.hero-inset img{height:100%;object-fit:cover;object-position:50% 65%}.hero-bottom{position:absolute;bottom:23px;right:var(--space-gutter);left:var(--space-gutter);display:flex;justify-content:space-between;font-size:12px;letter-spacing:.015em}.hero-bottom span:first-child{opacity:0}.introduction{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px 9vw}.intro-detail{max-width:490px;color:var(--color-soft);font-weight:300}.intro-detail p+p{margin-top:16px}.facts{grid-column:1/-1;display:flex;justify-content:flex-start;gap:clamp(48px,11vw,200px);margin-top:16px}.facts>div{display:flex;align-items:center;gap:20px}.facts strong{font-family:var(--font-display);font-weight:400;font-size:80px;line-height:1}.facts span{font-size:15px;max-width:130px;line-height:1.6}.light-story{height:185svh;position:relative;color:var(--color-white);background:var(--color-ink)}.light-stage{position:sticky;top:0;height:100svh;min-height:560px;overflow:clip}.light-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%}.night-view{opacity:0}.light-caption{position:absolute;right:var(--space-gutter);bottom:12%;z-index:2;background:var(--color-accent);padding:32px 40px;max-width:600px}.light-caption h2{font-size:clamp(30px,3.5vw,54px)}.light-caption p{font-size:16px;margin-top:16px;font-weight:300}.light-label{position:absolute;left:var(--space-gutter);bottom:6%;display:flex;align-items:center;gap:12px;direction:rtl;font-size:13px;background:var(--color-accent);padding:8px 14px}.light-track{width:80px;height:1px;background:var(--color-rule);position:relative}.light-track i{position:absolute;right:0;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--color-paper)}.collection{background:var(--color-paper)}.collection-heading{margin-bottom:64px;max-width:640px}.eyebrow{font-size:13px;letter-spacing:.12em;margin-bottom:22px;text-align:right}.collection-heading>p:last-child{margin-top:24px;color:var(--color-soft);font-weight:300}.collection-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8vw;align-items:start}.collection-image{position:sticky;top:50px;overflow:clip}.collection-image img{height:650px;object-fit:cover}.collection-image>span{display:block;padding-top:12px;font-size:13px;color:var(--color-soft)}.project-list{padding-top:0}.project-list details{border-bottom:1px solid var(--color-rule);padding:28px 0}.project-list details:first-child{padding-top:0}.project-list summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;font-size:clamp(22px,2.2vw,34px);line-height:1.5;letter-spacing:-.035em}.project-list summary::-webkit-details-marker{display:none}.project-list summary small{font-size:14px;letter-spacing:0;display:block;color:var(--color-soft);margin-bottom:8px}.project-list summary i{font-style:normal;font-size:24px;font-weight:300;transition:transform var(--dur-fast) var(--ease-out)}.project-list details[open] summary i{transform:rotate(45deg)}.project-detail{padding-top:25px;animation:detail-in .25s var(--ease-out);font-size:16px;color:var(--color-soft);font-weight:300}.project-detail dl{margin:20px 0 0}.project-detail dl div{display:flex;justify-content:space-between;gap:16px;line-height:2}.project-detail dd{margin:0;color:var(--color-ink);text-align:left}.living{background:var(--color-paper-deep);padding-bottom:140px;overflow:clip}.living-title{max-width:600px;margin-bottom:50px}.living-title p{margin-top:22px;font-weight:300;color:var(--color-soft)}.living-spread{position:relative;display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.2fr);gap:10vw;direction:ltr;align-items:start;min-height:780px}.fashion{width:100%;margin-top:90px}.fashion img{height:630px;object-fit:cover}.room{position:relative;z-index:1}.room img{height:710px;object-fit:cover;object-position:center 66%}.room figcaption{display:flex;align-items:center;justify-content:space-between;direction:rtl;gap:15px;padding-top:16px;font-size:14px}.room-options{display:flex;gap:12px}.swatch{width:28px;height:28px;border:3px solid var(--color-paper-deep);outline:1px solid transparent;border-radius:50%;padding:0;transition:transform var(--dur-fast) var(--ease-out)}.swatch[aria-pressed=true]{outline-color:var(--color-ink)}.swatch.cream{background:var(--color-paper)}.swatch.terra{background:var(--color-terra)}.living-word{position:absolute;bottom:-25px;left:15%;z-index:2;font-family:var(--font-display);font-size:clamp(70px,9vw,144px);line-height:.9;color:var(--color-accent);pointer-events:none}.neighborhood{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10vw;align-items:center}.neighborhood-copy>p:not(.eyebrow){margin-top:28px;font-weight:300;color:var(--color-soft)}.neighborhood-photo img{height:760px;object-fit:cover}.nearby{margin-top:42px}.nearby p{display:flex;flex-direction:column;margin-top:24px}.nearby strong{font-weight:500;font-size:17px}.nearby span{font-size:15px;font-weight:300;color:var(--color-soft)}.brand{background:var(--color-accent);color:var(--color-paper);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);direction:ltr;align-items:center}.brand-photo img{height:720px;object-fit:cover;object-position:50% 40%}.brand-copy{padding:64px 5vw;direction:rtl}.brand-copy h2{font-size:clamp(30px,3.1vw,48px)}.brand-copy p{font-weight:300;margin-top:28px}.brand-logo{width:220px;margin:44px 0 30px;filter:grayscale(1) brightness(10);mix-blend-mode:screen}footer{padding:55px var(--space-gutter) 32px}.footer-title{font-family:var(--font-display);font-size:clamp(48px,9.9vw,165px);line-height:1;color:var(--color-accent);white-space:nowrap;letter-spacing:-.015em}.footer-meta{display:flex;justify-content:space-between;gap:24px;font-size:14px;margin-top:35px}.footer-meta a{white-space:nowrap}.disclaimer{margin-top:26px;font-size:12px;color:var(--color-soft);font-weight:300;max-width:900px}.motion [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity var(--dur-reveal) var(--ease-out),transform var(--dur-reveal) var(--ease-out)}.motion [data-reveal].seen{opacity:1;transform:translateY(0)}@keyframes detail-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover) and (pointer:fine){.header nav a:hover:after{transform:scaleX(1)}.text-link:hover span{transform:translateX(-7px)}.project-list summary:hover{color:var(--color-terra)}.swatch:hover{transform:scale(1.12)}}
@media(min-width:1800px){.hero-title{top:13%}.hero-note{top:60%}}
@media(max-width:1000px){.header nav{gap:25px}.header{height:80px}.company{width:140px}.hero{height:calc(100svh - 80px);min-height:620px}.hero h1{font-size:12vw}.hero-title{top:13%}.hero-note{top:51%;font-size:16px;width:32%}.hero-inset{bottom:12%;right:34%;width:20%}.facts{gap:8vw}.collection-image img{height:560px}.living-spread{gap:6vw;min-height:650px}.room img{height:600px}.fashion img{height:510px}.neighborhood{gap:5vw}.neighborhood-photo img{height:650px}}
@media(max-width:700px){html{scroll-padding-top:20px}.header{height:74px;padding:0 22px}.company{width:134px}.header nav,.header-cta{display:none}.menu-toggle{display:flex;flex-direction:column;gap:6px;width:44px;height:44px;align-items:center;justify-content:center;border:0;background:none}.menu-toggle span{height:1px;width:24px;background:var(--color-ink);transition:transform var(--dur-fast) var(--ease-out)}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu:not([hidden]){display:flex;position:absolute;top:74px;right:0;left:0;z-index:15;background:var(--color-paper);padding:24px;gap:22px;flex-direction:column;box-shadow:0 10px 20px color-mix(in oklch,var(--color-ink) 10%,transparent)}.hero{min-height:700px;height:calc(100svh - 74px);max-height:920px}.hero-photo{width:70%;height:69%;top:12%;bottom:auto;right:0}.hero-photo img{object-position:62% 61%}.hero-title{left:22px;top:5%;right:22px}.hero h1{font-size:17.5vw;line-height:.95}.hero h1>span+span{margin-top:0}.hero-note{left:24px;top:auto;bottom:65px;width:calc(100% - 48px);max-width:none;text-align:right;font-size:16px}.hero-note .text-link{margin-top:8px}.hero-inset{right:auto;left:22px;bottom:32%;width:32%;max-width:160px;aspect-ratio:.8}.hero-bottom{bottom:18px;left:24px;right:24px;font-size:10px}.hero-bottom span:first-child{opacity:1}.introduction{display:block}.intro-detail{margin-top:30px}.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:40px}.facts>div{display:block}.facts strong{font-size:58px}.facts span{display:block;font-size:12px;margin-top:10px}.light-story{height:155svh}.light-stage{min-height:600px}.light-stage>img{object-position:center 50%}.day-view{object-position:50% 50%}.light-caption{right:24px;left:24px;bottom:13%;padding:26px;max-width:none}.light-caption h2{font-size:32px}.light-caption p{font-size:14px}.light-label{bottom:5%;left:24px}.collection-heading{margin-bottom:36px}.eyebrow{font-size:12px;margin-bottom:18px}.collection-grid{display:flex;flex-direction:column;gap:36px}.collection-image{position:relative;top:auto;width:100%}.collection-image img{height:430px;object-position:50% 54%}.project-list{width:100%}.project-list details{padding:22px 0}.project-list summary{font-size:25px}.project-list summary small{font-size:13px}.project-detail{font-size:15px}.living{padding-bottom:78px}.living-title{margin-bottom:28px}.living-spread{grid-template-columns:minmax(0,.7fr) minmax(0,1fr);gap:16px;min-height:420px;margin:0 -12px}.fashion{margin-top:70px}.fashion img{height:290px}.room img{height:380px}.room figcaption{align-items:start;flex-direction:column;font-size:12px;gap:10px}.living-word{font-size:15.5vw;left:9%;bottom:20px;line-height:.95}.room-options{gap:10px;align-self:flex-end}.swatch{width:25px;height:25px}.neighborhood{display:flex;flex-direction:column;gap:38px}.neighborhood-photo{width:100%}.neighborhood-photo img{height:460px}.nearby{margin-top:28px}.brand{display:flex;flex-direction:column}.brand-photo{width:100%}.brand-photo img{height:470px;object-position:50% 30%}.brand-copy{width:100%;padding:44px 24px 48px}.brand-copy h2{font-size:32px}.brand-logo{width:200px;margin:28px 0 22px}footer{padding-top:38px}.footer-title{font-size:9.9vw}.footer-meta{flex-direction:column;gap:14px;font-size:13px;margin-top:28px}.disclaimer{line-height:1.7}.section{padding-top:64px;padding-bottom:64px}}
@media(max-width:360px){.hero{min-height:680px}.hero-note{font-size:15px;bottom:60px}.hero-bottom{font-size:9px}.hero-inset{bottom:35%}.project-list summary{font-size:22px}.project-detail dl div{font-size:14px}.light-caption h2{font-size:28px}.living-spread{gap:10px}.living-word{bottom:30px}.room img{height:350px}.fashion img{height:260px}.facts span{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion [data-reveal]{opacity:1;transform:none;transition:none}[data-parallax],.hero-title,.hero-photo img,.hero-inset{transform:none!important}.light-story{height:auto}.light-stage{height:85svh}.night-view{display:none}.light-label{display:none}.project-detail{animation:none}.text-link span,.menu-toggle span{transition:none}}
/* Mobile art direction: separate the image and reading zones. */
@media(max-width:700px){.hero-photo{top:90px;bottom:190px;height:auto}.hero-inset{bottom:230px}.hero-note{bottom:52px}.hero h1{line-height:1}.light-stage{min-height:0}.living-word{bottom:8px}}
@media(max-width:360px){.hero-inset{bottom:240px}.hero-note{bottom:52px}}

/* Project and developer marks in the navigation bar. */
.header-brands{display:flex;align-items:center;gap:24px;flex-shrink:0}.spirit-logo{display:block;width:148px;flex-shrink:0}.spirit-logo img{width:100%;height:auto;filter:grayscale(1) invert(1);mix-blend-mode:multiply}.header-brands .company{width:130px}.header{gap:24px}.header nav{gap:26px}
@media(min-width:701px) and (max-width:1100px){.header-cta{display:none}.header nav{gap:20px}}
@media(max-width:700px){.header{gap:12px;padding-inline:18px}.header-brands{gap:16px}.spirit-logo{width:112px}.header-brands .company{width:100px}.menu-toggle{flex-shrink:0}}
@media(max-width:350px){.header-brands{gap:10px}.spirit-logo{width:100px}.header-brands .company{width:84px}}

.film{position:relative;width:100%;background:var(--color-accent)}.scroll-film{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain}.film-toggle{position:absolute;bottom:16px;left:16px;border:1px solid #ffffff70;background:#281c1dcc;color:#fff;padding:8px 16px;min-height:44px;font-size:14px}.collection-image .film+span{position:relative;display:block;margin-top:14px}.collection-image .film{max-height:75svh}.collection-image video{max-height:75svh}.fashion .film{overflow:hidden}.fashion video{height:auto!important}.film-toggle:focus-visible{outline:2px solid white;outline-offset:3px}

.film-toggle{display:none}.collection-image .film{max-height:none;background:transparent}.collection-image video{height:auto;max-height:none;aspect-ratio:9/16;object-fit:contain}.brand-photo img{object-fit:contain;height:auto!important}

.contact{background:var(--color-accent);color:var(--color-paper);display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.contact-copy p{margin-top:22px;font-weight:300}.lead-form{display:grid;gap:20px}.lead-form label{display:grid;gap:8px;font-size:15px}.lead-form input{font:inherit;font-size:18px;width:100%;min-width:0;padding:15px 18px;border:1px solid #f3ede46b;border-radius:0;background:transparent;color:var(--color-paper)}.lead-form input::placeholder{color:#e0cec5}.lead-form input:focus{outline:2px solid var(--color-paper);outline-offset:3px}.lead-submit{display:flex;align-items:center;justify-content:space-between;border:0;padding:16px 22px;background:var(--color-paper);color:var(--color-accent);font-size:18px;min-height:58px}.lead-submit span{font-size:25px}.form-status{font-size:14px;font-weight:300;min-height:24px}.contact:target h2{scroll-margin-top:30px}@media(max-width:700px){.contact{grid-template-columns:1fr;gap:32px}.lead-form{gap:18px}.contact h2{font-size:38px}.header-cta{display:none}}

/* Upward entrances remain separate from scroll parallax transforms. */
@media(prefers-reduced-motion:no-preference){.motion [data-reveal]{opacity:0;transform:translate3d(0,44px,0);transition:opacity 760ms cubic-bezier(.22,1,.36,1),transform 900ms cubic-bezier(.22,1,.36,1);transition-delay:var(--rise-delay,0ms)}.motion [data-reveal].seen,.motion [data-reveal]:focus-within{opacity:1;transform:translate3d(0,0,0)}.motion .hero h1>[data-reveal]{transition-duration:900ms,1100ms}}
@media(max-width:700px) and (prefers-reduced-motion:no-preference){.motion [data-reveal]{transform:translate3d(0,30px,0);transition-duration:650ms,750ms}.motion [data-reveal].seen,.motion [data-reveal]:focus-within{transform:translate3d(0,0,0)}}

/* SPIRIT collection: original developer mark, persistent contact and compact sections. */
:root {
  --color-ink: var(--color-accent);
  --color-soft: var(--color-accent);
  --space-section: clamp(48px, 5vw, 76px);
  --header-height: 96px;
}
html { scroll-padding-top: calc(var(--header-height) + 20px); }
.header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  position: sticky;
  top: 0;
  height: var(--header-height);
  z-index: 50;
  gap: 32px;
  border-bottom: 1px solid var(--color-rule);
}
.header-brands { grid-column: 2; grid-row: 1; justify-self: center; align-items: center; gap: 32px; }
.spirit-logo { width: 160px; }
/* A viewport over the supplied wordmark excludes its single-project address. */
.spirit-wordmark {
  display: block;
  position: relative;
  overflow: hidden;
  aspect-ratio: 1230 / 512;
}
.spirit-wordmark img {
  position: absolute;
  left: -13.00813%;
  top: -19.140625%;
  width: 124.87805%;
  max-width: none;
  height: auto;
}
.header-brands .company { width: 150px; flex-shrink: 0; }
.company img, .brand-logo { filter: none; mix-blend-mode: normal; }
.header nav { grid-column: 1; grid-row: 1; justify-self: start; gap: 22px; font-size: 14px; }
.header-cta {
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
  display: inline-flex;
  flex-shrink: 0;
  justify-content: center;
  gap: 20px;
  min-height: 48px;
  padding: 8px 20px;
  color: var(--color-paper);
  background: var(--color-accent);
}
.header-cta:focus-visible { outline-color: var(--color-accent); }
.hero { height: calc(100svh - var(--header-height)); }
.hero-note { max-width: 390px; }
.introduction { gap: 32px 8vw; }
.facts { margin-top: 0; }
.light-stage { top: var(--header-height); height: calc(100svh - var(--header-height)); }
.collection-heading { margin-bottom: 36px; }
.collection-heading > p:last-child { margin-top: 18px; }
.collection-grid {
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: clamp(28px, 6vw, 80px);
  align-items: center;
}
.collection-image { position: static; width: min(100%, 340px); justify-self: center; }
.collection-image > span { padding-top: 8px; }
.project-list details { padding: 20px 0; }
.project-list summary { font-size: clamp(22px, 2vw, 30px); }
.project-detail { padding-top: 18px; }
.project-detail dl { margin-top: 14px; }
.living { padding-bottom: var(--space-section); }
.living-title { margin-bottom: 32px; }
.living-spread {
  grid-template-columns: minmax(0, .75fr) minmax(0, 1.2fr);
  align-items: center;
  gap: clamp(28px, 6vw, 80px);
  min-height: 0;
}
.fashion { width: min(100%, 360px); margin: 0; justify-self: center; }
.fashion img { height: auto; object-fit: contain; }
.room img { height: clamp(420px, 41vw, 560px); }
.neighborhood { gap: clamp(32px, 6vw, 80px); }
.neighborhood-photo img { height: clamp(380px, 40vw, 540px); }
.neighborhood-copy > p:not(.eyebrow) { margin-top: 20px; }
.nearby { margin-top: 24px; }
.nearby p { margin-top: 18px; }
.brand {
  grid-template-columns: minmax(0, .75fr) minmax(0, 1.2fr);
  direction: rtl;
  gap: clamp(32px, 7vw, 100px);
  color: var(--color-accent);
  background: var(--color-paper);
  border-top: 1px solid var(--color-rule);
}
.brand-identity { display: flex; justify-content: center; }
.brand-logo { width: min(100%, 340px); margin: 0; }
.brand-copy { padding: 0; max-width: 720px; }
.brand-copy h2 { font-size: clamp(30px, 3.2vw, 46px); line-height: 1.3; }
.brand-copy p { margin-top: 20px; font-size: 17px; line-height: 1.85; font-weight: 400; }
.brand-copy p + p { margin-top: 16px; }
.contact { display: block; }
.contact-inner {
  display: grid;
  width: min(100%, 1120px);
  margin-inline: auto;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: clamp(32px, 5vw, 80px);
  align-items: center;
}
.contact-copy h2 { font-size: clamp(36px, 3vw, 48px); }
.lead-form {
  width: min(100%, 620px);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 16px;
  padding: 28px;
  color: var(--color-accent);
  background: var(--color-paper);
}
.lead-form label { font-size: 14px; }
.lead-form input:not([type=checkbox]) {
  padding: 12px 14px;
  font-size: 16px;
  color: var(--color-accent);
  border: 1px solid var(--color-accent);
  background: transparent;
  min-height: 50px;
}
.lead-form input:not([type=checkbox])::placeholder { color: var(--color-accent); opacity: .75; }
.lead-form input:focus { outline-color: var(--color-accent); }
.lead-form .consent {
  grid-column: 1 / -1;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  font-size: 13px;
  line-height: 1.6;
}
.lead-form .consent input {
  width: 20px;
  height: 20px;
  min-width: 20px;
  margin: 3px 0 0;
  padding: 0;
  accent-color: var(--color-accent);
}
.consent a { text-decoration: underline; text-underline-offset: 3px; }
.lead-submit, .form-status { grid-column: 1 / -1; }
.lead-submit {
  min-height: 52px;
  padding: 12px 18px;
  color: var(--color-paper);
  background: var(--color-accent);
  font-size: 17px;
}
.lead-submit:focus-visible { outline-color: var(--color-accent); }
.form-status { font-size: 12px; line-height: 1.7; min-height: 0; }
footer { padding-top: 36px; padding-bottom: 28px; }
.footer-title { font-size: clamp(40px, 7.4vw, 110px); }
.footer-meta { margin-top: 24px; }
.disclaimer { margin-top: 20px; }

@media (max-width: 1100px) {
  .header { grid-template-columns: minmax(0, 1fr) 44px; gap: 12px; }
  .header-brands { grid-column: 1; justify-self: center; }
  .header nav { display: none; }
  .header-cta { display: none; }
  .menu-toggle {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    gap: 6px;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    border: 0;
    background: none;
  }
  .menu-toggle span { height: 1px; width: 24px; background: var(--color-accent); }
  .menu-toggle[aria-expanded=true] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .mobile-menu:not([hidden]) {
    display: flex;
    position: fixed;
    top: var(--header-height);
    right: 0;
    left: 0;
    z-index: 40;
    background: var(--color-paper);
    padding: 24px var(--space-gutter);
    gap: 20px;
    flex-direction: column;
    box-shadow: 0 10px 20px color-mix(in oklch, var(--color-accent) 10%, transparent);
  }
}
@media (max-width: 700px) {
  :root { --header-height: 84px; }
  .section { padding-top: 48px; padding-bottom: 48px; }
  .header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    grid-template-rows: 1fr;
    gap: 0 12px;
    padding: 0 16px;
  }
  .header-brands { grid-column: 1; grid-row: 1; gap: clamp(16px, 4vw, 24px); }
  .spirit-logo { width: clamp(96px, 27vw, 116px); }
  .header-brands .company { width: clamp(108px, 30vw, 132px); }
  .menu-toggle { grid-column: 2; grid-row: 1; }
  .header-cta { display: none; }
  .hero { height: calc(100svh - var(--header-height)); min-height: 660px; }
  .hero-photo { bottom: 220px; }
  .hero-inset { bottom: 240px; }
  .hero-note { width: calc(100% - 48px); max-width: none; bottom: 52px; }
  .facts { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 30px; }
  .facts > div { display: flex; gap: 16px; }
  .facts span { margin-top: 0; max-width: 85px; font-size: 14px; }
  .light-caption { bottom: 14%; }
  .collection-grid { align-items: center; gap: 28px; }
  .collection-image { width: min(100%, 270px); }
  .project-list summary { font-size: clamp(22px, 6vw, 25px); }
  .living-spread { grid-template-columns: minmax(0, 1fr); min-height: 0; gap: 24px; margin: 0; }
  .fashion { width: min(100%, 380px); margin-top: 0; }
  .fashion img { height: auto; }
  .room img { height: 340px; }
  .room figcaption { font-size: 12px; }
  .neighborhood { gap: 28px; }
  .neighborhood-photo img { height: 360px; }
  .brand { gap: 28px; align-items: stretch; }
  .brand-identity { justify-content: flex-start; }
  .brand-logo { width: min(100%, 260px); }
  .brand-copy { padding: 0; }
  .brand-copy h2 { font-size: 32px; }
  .brand-copy p { font-size: 16px; }
  .contact-inner { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .contact-copy h2 { font-size: 38px; }
  .contact-copy p { margin-top: 14px; }
  .lead-form { grid-template-columns: minmax(0, 1fr); padding: 24px 20px; gap: 20px; }
  .lead-form label { font-size: 15px; }
  .lead-form input:not([type=checkbox]) { padding-inline: 12px; font-size: 17px; }
  .lead-form .consent { font-size: 14px; }
  .lead-submit { padding-inline: 18px; }
  .footer-title { font-size: 9.5vw; }
  .footer-meta { margin-top: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .light-stage { top: auto; height: 85svh; }
}

/* Neighborhood: quiet crossfades beside the right-aligned Hebrew copy. */
.neighborhood-copy h2 { font-size: clamp(32px, 3.4vw, 54px); }
.neighborhood-gallery { width: min(100%, 460px); justify-self: center; }
.neighborhood-viewport { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: var(--color-paper-deep); touch-action: pan-y; }
.neighborhood-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1100ms var(--ease-in-out); pointer-events: none; }
.neighborhood-slide.is-active { opacity: 1; }
.neighborhood-photo .neighborhood-slide img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.neighborhood-photo .neighborhood-slide--education img { object-fit: contain; }
.neighborhood-slide:nth-child(2) img { object-position: center 72%; }
.neighborhood-gallery-meta { display: flex; justify-content: space-between; gap: 16px; align-items: center; min-height: 54px; font-size: 14px; }
.neighborhood-pause { min-height: 44px; padding: 6px 0 6px 12px; border: 0; background: none; font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
.neighborhood-pause[hidden] { display: none; }
.neighborhood-pagination { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid var(--color-rule); gap: 12px; }
.neighborhood-pagination button { min-width: 0; min-height: 44px; border: 0; border-bottom: 2px solid transparent; padding: 6px 4px; background: none; font-size: 14px; transition: border-color var(--dur-fast) var(--ease-out); }
.neighborhood-pagination button[aria-pressed=true] { border-bottom-color: var(--color-accent); font-weight: 500; }
.neighborhood-image-note { font-size: 11px; margin-top: 12px; }
@media (max-width: 700px) {
  .neighborhood-gallery { width: min(100%, 420px); }
  .neighborhood-copy h2 { font-size: clamp(32px, 7.6vw, 38px); }
  .neighborhood-pagination { gap: 8px; }
  .neighborhood-pagination button { min-height: 56px; font-size: 13px; line-height: 1.45; }
}
@media (prefers-reduced-motion: reduce) {
  .neighborhood-slide { transition: none; }
}
