/* FINDER / opening composition. Existing sections retain their own rhythm. */
.hero-editorial {
  --hero-progress: 0;
  height: calc(100svh - 68px);
  min-height: 690px;
  max-height: 1100px;
  isolation: isolate;
  color: #252321;
}
.hero-editorial .hero-image {
  z-index: -4;
  object-position: center 54%;
  transform: translateY(calc(var(--hero-progress) * 22px)) scale(calc(1.025 + var(--hero-progress) * .025));
  animation: editorial-image-in 2s var(--ease) both;
}
.hero-editorial:after {
  z-index: -3;
  background: linear-gradient(90deg,rgba(236,225,208,.72) 0%,rgba(238,225,207,.52) 28%,rgba(233,216,196,.13) 48%,transparent 68%),linear-gradient(0deg,rgba(30,23,17,.48),transparent 25%);
}
.hero-atmosphere {
  position: absolute;
  z-index: -2;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at 66% 59%,rgba(243,164,83,.1),transparent 30%),linear-gradient(180deg,rgba(250,242,230,.1),transparent 40%);
}
.hero-frame {
  position: absolute;
  z-index: -1;
  inset: 28px 28px 26px;
  pointer-events: none;
}
.frame-corner {position:absolute;width:19px;height:19px;border-color:rgba(61,50,39,.35);border-style:solid;border-width:0}
.corner-tl {left:0;top:0;border-top-width:1px;border-left-width:1px}
.corner-tr {right:0;top:0;border-top-width:1px;border-right-width:1px}
.corner-bl {left:0;bottom:0;border-bottom-width:1px;border-left-width:1px;border-color:rgba(255,255,255,.6)}
.corner-br {right:0;bottom:0;border-bottom-width:1px;border-right-width:1px;border-color:rgba(255,255,255,.6)}
.hero-edition {
  position:absolute;
  right:56px;
  top:48px;
  display:flex;
  align-items:center;
  gap:13px;
  font-size:9px;
  font-weight:500;
  letter-spacing:.15em;
  color:#50473e;
}
.edition-line {height:1px;width:35px;background:currentColor;opacity:.45}
.hero-editorial .hero-content {
  padding-top:clamp(103px,15vh,180px);
  pointer-events:none;
}
.hero-editorial .hero-eyebrow {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:10px;
  letter-spacing:.22em;
  margin-bottom:27px;
  color:#605042;
  animation:editorial-copy-in 1s var(--ease) .1s both;
}
.ember-dot {width:5px;height:5px;border-radius:50%;background:#a65c2f;box-shadow:0 0 0 4px rgba(166,92,47,.09)}
.hero-editorial h1 {
  font-size:clamp(66px,6.5vw,106px);
  line-height:1.22;
  letter-spacing:-.06em;
  font-weight:500;
  margin-left:-.055em;
  max-width:none;
}
.hero-title-line {display:block;width:max-content;max-width:100%;animation:editorial-title-in 1.25s var(--ease) .15s both}
.hero-title-accent {color:#805237;animation-delay:.28s}
.hero-editorial .hero-description {
  font-size:14px;
  line-height:1.9;
  color:#5e5246;
  letter-spacing:.03em;
  margin-top:27px;
  animation:editorial-copy-in 1s var(--ease) .42s both;
}
.hero-actions {display:flex;align-items:center;gap:28px;margin-top:32px;pointer-events:auto;width:max-content;max-width:100%;animation:editorial-copy-in 1s var(--ease) .55s both}
.hero-editorial .button {margin-top:0;background:#2b2724;font-size:12px;padding:14px 21px 14px 24px;gap:24px;min-height:48px;box-shadow:0 8px 28px rgba(33,24,17,.08)}
.hero-editorial .button span:last-child {width:25px;height:25px;border:1px solid #ffffff4d;border-radius:50%;display:grid;place-items:center;font-size:14px}
.hero-editorial .button:hover {background:#4c3a2b}
.hero-secondary {font-size:11px;display:flex;align-items:center;gap:18px;color:#4c4035;min-height:44px}
.hero-secondary span:first-child {position:relative}
.hero-secondary span:first-child:after {content:"";position:absolute;left:0;bottom:-5px;height:1px;background:currentColor;width:100%;transform:scaleX(.25);transform-origin:left;transition:transform .3s}
.hero-secondary:hover span:first-child:after {transform:scaleX(1)}
.hero-brand-outline {
  position:absolute;
  z-index:-1;
  left:calc((100vw - min(1200px,100vw - 112px)) / 2 - 6px);
  bottom:84px;
  font-family:Arial,Helvetica,sans-serif;
  font-weight:700;
  font-size:clamp(112px,14.5vw,240px);
  letter-spacing:-.065em;
  line-height:.74;
  color:transparent;
  -webkit-text-stroke:1px rgba(255,247,236,.35);
  pointer-events:none;
  user-select:none;
  animation:editorial-copy-in 1.8s var(--ease) .4s both;
}
.hero-object {
  position:absolute;
  right:max(56px,calc((100vw - 1200px) / 2));
  bottom:clamp(155px,19vh,240px);
  z-index:2;
  display:flex;
  gap:22px;
  align-items:center;
  text-align:left;
  padding:18px 20px 18px 22px;
  border-left:1px solid rgba(255,255,255,.75);
  border-radius:0 4px 4px 0;
  background:rgba(249,242,231,.8);
  backdrop-filter:blur(16px);
  color:#3e332a;
  text-shadow:none;
  animation:editorial-copy-in 1.2s var(--ease) .65s both;
}
.object-connector {position:absolute;right:100%;top:50%;height:1px;width:clamp(25px,5vw,90px);background:rgba(68,48,31,.5)}
.object-connector i {position:absolute;left:-7px;top:-3px;width:7px;height:7px;border:1px solid #5b4430;border-radius:50%;box-shadow:0 0 0 5px #ffffff30}
.object-copy {display:flex;flex-direction:column;gap:10px;max-width:235px}
.object-kicker {font-size:8px;letter-spacing:.11em;line-height:1.6;font-weight:500}
.object-name {font-size:29px;font-weight:500;letter-spacing:-.04em;line-height:1}
.object-name>span {font-weight:300;opacity:.78}
.object-caption {font-size:10px;line-height:1.6;color:#6b5542}
.object-arrow {border:1px solid #6f59464d;border-radius:50%;display:grid;place-items:center;width:30px;height:30px;font-size:15px;transition:background .25s,transform .25s}
.hero-object:hover .object-arrow {background:#ffffff70;transform:translate(2px,-2px)}
.hero-editorial .hero-bottom {
  bottom:31px;
  padding-top:19px;
  border-top:1px solid #ffffff55;
  color:#fff;
  gap:25px;
  font-size:8px;
  letter-spacing:.12em;
}
.hero-bottom-statement {display:flex;align-items:center;gap:12px;white-space:nowrap}
.hero-bottom-mark {font-size:19px;font-weight:300;line-height:1;opacity:.8}
.hero-editorial .hero-caption {color:#fff;opacity:.82;margin-left:auto;font-size:8px;letter-spacing:.1em}
.hero-scroll {display:flex;align-items:center;gap:16px;margin-left:15px;font-size:8px;letter-spacing:.1em}
.hero-editorial .scroll-link {border-color:#ffffff70;width:31px;height:31px;margin-left:0;color:#fff;font-size:16px;transition:background .25s}
.hero-scroll:hover .scroll-link {background:#ffffff20}
html[lang=en] .hero-editorial h1 {font-size:clamp(58px,6.3vw,102px);line-height:1.04;letter-spacing:-.065em;font-weight:500}
html[lang=en] .hero-editorial .hero-title-line+.hero-title-line {margin-top:.08em}
html[lang=en] .hero-editorial .hero-description {letter-spacing:0;line-height:1.75}
@keyframes editorial-title-in {from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}
@keyframes editorial-copy-in {from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes editorial-image-in {from{filter:brightness(1.07);opacity:.7}to{filter:brightness(1);opacity:1}}
@media(min-width:1800px) {
  .hero-editorial .hero-content {width:calc(100% - 180px);padding-top:160px}
  .hero-editorial h1 {font-size:112px}
  html[lang=en] .hero-editorial h1 {font-size:108px}
  .hero-editorial .hero-bottom {width:calc(100% - 180px)}
  .hero-brand-outline {left:84px;font-size:255px}
  .hero-object {right:90px}
  .hero-edition {right:90px}
}
@media(max-width:1200px) {
  .hero-object {right:42px;bottom:155px;gap:14px}
  .object-copy {max-width:180px}
  .object-kicker {font-size:7px}
  .object-caption {font-size:9px}
  .object-name {font-size:25px}
  .hero-editorial h1 {font-size:clamp(58px,6.7vw,80px)}
  html[lang=en] .hero-editorial h1 {font-size:clamp(56px,6.3vw,78px)}
  .hero-brand-outline {bottom:89px}
}
@media(max-width:1050px) {
  .hero-editorial {min-height:650px;max-height:900px}
  .hero-editorial .hero-content {padding-top:107px}
  .hero-edition {right:40px;top:40px;font-size:8px}
  .hero-frame {inset:22px 20px}
  .hero-brand-outline {left:27px;bottom:83px;font-size:16vw}
  .hero-editorial .hero-bottom {font-size:7px;gap:15px}
  .hero-bottom-statement {gap:8px}
  .hero-editorial .hero-caption {font-size:7px}
  .hero-scroll {font-size:7px;gap:9px;margin-left:5px}
  .hero-object {bottom:145px}
  .object-connector {width:28px}
}
@media(max-width:720px) {
  .hero-editorial {height:calc(100svh - 60px);min-height:740px;max-height:1100px}
  .hero-editorial .hero-image {object-position:63% center}
  .hero-editorial:after {background:linear-gradient(180deg,rgba(235,222,203,.95),rgba(235,222,203,.78) 25%,rgba(233,216,194,.1) 55%,rgba(28,22,17,.45) 100%)}
  .hero-frame {inset:15px 12px 15px}
  .frame-corner {width:11px;height:11px;opacity:.6}
  .hero-edition {top:30px;right:24px;font-size:7px;gap:8px}
  .hero-edition .edition-line {width:20px}
  .hero-edition>span:last-child {display:none}
  .hero-editorial .hero-content {padding-top:68px;width:calc(100% - 48px)}
  .hero-editorial .hero-eyebrow {font-size:8px;gap:10px;margin-bottom:25px;letter-spacing:.18em}
  .hero-editorial h1 {font-size:clamp(42px,11.5vw,65px);line-height:1.22;letter-spacing:-.065em}
  html[lang=en] .hero-editorial h1 {font-size:clamp(34px,9.5vw,58px);line-height:1.09;letter-spacing:-.06em}
  .hero-editorial .hero-description {font-size:12px;line-height:1.85;margin-top:23px;max-width:none}
  html[lang=en] .hero-editorial .hero-description {max-width:none}
  .hero-actions {margin-top:25px;gap:20px}
  .hero-editorial .button {font-size:10px;gap:13px;padding:11px 14px 11px 18px;min-height:43px}
  .hero-editorial .button span:last-child {width:21px;height:21px;font-size:12px}
  .hero-secondary {font-size:10px;gap:10px}
  html[lang=en] .hero-secondary {max-width:110px;line-height:1.6;gap:9px}
  .hero-brand-outline {left:20px;bottom:83px;font-size:22.5vw;-webkit-text-stroke-color:rgba(255,247,236,.4)}
  .hero-object {left:24px;right:auto;bottom:160px;padding:12px 14px;gap:12px;border-left-color:#ffffff8a}
  .object-copy {gap:7px;max-width:122px}
  .object-name {font-size:22px}
  .object-kicker {font-size:7px;letter-spacing:.08em}
  .object-caption {display:none}
  .object-connector {right:auto;left:100%;width:23px}
  .object-connector i {left:auto;right:-7px}
  .object-arrow {width:25px;height:25px;font-size:12px}
  .hero-editorial .hero-bottom {bottom:25px;width:calc(100% - 48px);padding-top:14px;gap:10px;display:grid;grid-template-columns:1fr auto;row-gap:9px}
  .hero-bottom-statement {font-size:7px;grid-column:1;letter-spacing:.1em}
  .hero-editorial .hero-caption {grid-column:1;grid-row:2;margin-left:0;background:none;padding:0;font-size:7px;letter-spacing:.03em;opacity:.8}
  .hero-scroll {grid-column:2;grid-row:1/3;margin-left:0;font-size:7px}
  .hero-scroll>span:first-child {display:none}
  .hero-editorial .scroll-link {background:none;width:33px;height:33px}
}
@media(max-width:370px) {
  .hero-editorial .hero-content {width:calc(100% - 40px)}
  html[lang=en] .hero-editorial h1 {font-size:9.3vw}
  .hero-actions {gap:14px}
  .hero-secondary {font-size:9px}
  .hero-editorial .button {padding-left:14px;gap:10px}
}
@media(prefers-reduced-motion:reduce) {
  .hero-editorial .hero-image {transform:none;animation:none}
  .hero-editorial .hero-title-line,.hero-editorial .hero-eyebrow,.hero-editorial .hero-description,.hero-actions,.hero-brand-outline,.hero-object {animation:none}
}

/* User-selected panorama: keep the left-side fireplace clear of the title. */
.hero-photo .hero-image {object-position:center center}
.hero-photo:after {background:linear-gradient(270deg,rgba(248,244,235,.74),rgba(248,244,235,.45) 32%,transparent 62%),linear-gradient(0deg,rgba(28,25,20,.5),transparent 23%)}
.hero-photo .hero-atmosphere {background:radial-gradient(ellipse at 36% 60%,rgba(240,169,85,.06),transparent 25%)}
.hero-photo .hero-content {width:min(650px,46vw);margin-left:auto;margin-right:max(56px,calc((100vw - 1200px) / 2));padding-top:clamp(145px,20vh,210px)}
.hero-photo h1 {font-size:clamp(56px,5vw,82px);line-height:1.23}
html[lang=en] .hero-photo h1 {font-size:clamp(48px,4.7vw,76px);line-height:1.1}
.hero-photo .hero-description {color:#4c4941}
.hero-photo .hero-object {left:max(56px,calc((100vw - 1200px) / 2));right:auto;bottom:165px}
.hero-photo .object-connector {left:100%;right:auto;width:clamp(35px,7vw,115px)}
.hero-photo .object-connector i {left:auto;right:-7px}
.hero-photo .hero-edition {color:#4b493f}
@media(min-width:1800px) {
  .hero-photo .hero-content {width:48vw;max-width:840px;margin-right:90px;padding-top:195px}
  .hero-photo h1 {font-size:100px}
  html[lang=en] .hero-photo h1 {font-size:90px}
  .hero-photo .hero-object {left:90px}
}
@media(max-width:1050px) {
  .hero-photo .hero-content {width:48vw;margin-right:32px;padding-top:155px}
  .hero-photo h1 {font-size:clamp(43px,5.7vw,60px)}
  html[lang=en] .hero-photo h1 {font-size:clamp(36px,5.05vw,53px)}
  .hero-photo .hero-actions {gap:19px}
  .hero-photo .hero-secondary {font-size:10px;gap:11px}
  .hero-photo .hero-object {left:32px;bottom:145px}
}
@media(max-width:720px) {
  .hero-photo .hero-image {object-position:36% center}
  .hero-photo:after {background:linear-gradient(180deg,rgba(247,242,231,.96),rgba(247,242,231,.82) 27%,rgba(247,242,231,.08) 52%,rgba(28,25,20,.38) 100%)}
  .hero-photo .hero-content {width:calc(100% - 48px);margin-inline:auto;padding-top:65px}
  .hero-photo h1 {font-size:clamp(42px,11.5vw,65px);line-height:1.22}
  html[lang=en] .hero-photo h1 {font-size:clamp(34px,9.5vw,58px);line-height:1.09}
  .hero-photo .hero-actions {gap:20px}
  .hero-photo .hero-object {display:none}
}
@media(max-width:370px) {
  .hero-photo .hero-content {width:calc(100% - 40px)}
  html[lang=en] .hero-photo h1 {font-size:9.3vw}
  .hero-photo .hero-actions {gap:14px}
  .hero-photo .hero-secondary {font-size:9px}
}
