
:root {
  --wine:#4a101b; --wine-deep:#28090f; --cream:#fff7e8;
  --gold:#d7a654; --gold-light:#f4d38e; --text:#fff8ea;
  --shell:min(1500px,calc(100vw - 64px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--text);background:#f5eee3;font-family:Inter,"Segoe UI",Arial,sans-serif}
a{color:inherit;text-decoration:none}
.shell{width:var(--shell);margin-inline:auto}
.hero{position:relative;min-height:100svh;overflow:hidden;isolation:isolate;background:#244865}
.hero__background{position:absolute;inset:-2%;z-index:-6;background:url("assets/view.jpg") center/cover no-repeat;transform:scale(1.015);animation:cinematicZoom 24s ease-in-out infinite alternate;filter:saturate(1.065) contrast(1.02) brightness(1.02)}
.hero__background:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,13,28,.08),rgba(2,12,18,.04) 42%,rgba(15,10,4,.18))}
.hero__wine{position:absolute;inset:0;z-index:-4;background:linear-gradient(90deg,rgba(48,5,15,.91),rgba(71,14,28,.80) 26%,rgba(86,24,33,.45) 47%,rgba(30,22,20,.10) 67%,rgba(10,18,22,.02)),linear-gradient(180deg,rgba(0,0,0,.10),transparent 42%,rgba(0,0,0,.16))}
.nav{position:relative;z-index:20;display:grid;grid-template-columns:455px minmax(0,1fr) auto;align-items:center;gap:20px;padding-top:28px}
.brand{display:flex;align-items:center;gap:12px;width:min(455px,33vw);height:144px;filter:drop-shadow(0 8px 24px rgba(35,4,10,.30))}
.brand__mark{width:138px;height:138px;object-fit:contain;flex:0 0 auto}
.brand__words{display:flex;flex-direction:column;align-items:center;justify-content:center;width:240px;color:#edc77c;font-family:Georgia,"Times New Roman",serif;line-height:.86;text-align:center}
.brand__words strong{display:block;width:100%;font-size:35px;font-weight:400;letter-spacing:.035em;text-align:center}
.brand__words b{display:block;width:100%;position:relative;margin-top:10px;font-size:31px;font-weight:400;letter-spacing:.16em;text-align:center}
.brand__words b:before,.brand__words b:after{content:"";position:absolute;top:50%;width:42px;height:1px;background:#cfa04e}
.brand__words b:before{right:calc(50% + 58px)}
.brand__words b:after{left:calc(50% + 58px)}
.brand__words small{margin-top:14px;font:500 9px/1.2 Inter,"Segoe UI",sans-serif;letter-spacing:.22em;color:#e5b65c;white-space:nowrap;text-align:center}
.nav__menu{display:flex;justify-content:flex-end;align-items:center;gap:clamp(16px,1.5vw,28px);padding-right:10px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;text-shadow:0 2px 10px rgba(0,0,0,.28)}
.nav__menu a{position:relative;opacity:.93;transition:.25s}
.nav__menu a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--gold-light);transition:right .25s}
.nav__menu a:hover{opacity:1;color:var(--gold-light)}
.nav__menu a:hover:after{right:0}
.nav__call{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 18px;border:1px solid rgba(255,232,186,.72);border-radius:13px;background:rgba(51,12,21,.22);backdrop-filter:blur(12px);font-size:12px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;transition:.25s}
.nav__call:hover{transform:translateY(-2px);background:rgba(90,20,34,.60);border-color:var(--gold-light)}
.nav__toggle{display:none}
.hero__content{position:relative;z-index:10;display:flex;align-items:center;min-height:calc(100svh - 188px);padding:42px 0 80px}
.hero__copy{width:min(980px,69vw)}
.eyebrow{margin:0 0 17px;color:var(--gold-light);font-size:13px;letter-spacing:.24em;text-transform:uppercase}
h1{margin:0;max-width:1080px;color:#fff9ec;font-family:Georgia,"Times New Roman",serif;font-size:clamp(58px,5.2vw,94px);font-weight:400;line-height:.99;letter-spacing:-.035em;text-wrap:balance;text-shadow:0 8px 32px rgba(31,4,11,.32)}
h1 span{display:block;margin-top:.24em}
.ornament{display:flex;align-items:center;gap:15px;width:280px;margin:34px 0 28px;color:var(--gold)}
.ornament i{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.ornament i:last-child{background:linear-gradient(90deg,var(--gold),transparent)}
.ornament b{font-size:13px;transform:rotate(45deg)}
.address,.facts,.purposes{margin:0;color:rgba(255,249,235,.95);font-size:clamp(18px,1.4vw,25px);line-height:1.5}
.address em,.facts em,.purposes em{padding-inline:.55em;color:var(--gold-light);font-style:normal}
.facts{margin-top:5px;color:rgba(255,249,235,.87);font-size:clamp(16px,1.15vw,21px)}
.hero__actions{display:flex;flex-wrap:wrap;gap:22px;margin-top:40px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:76px;padding:0 35px;border-radius:15px;font-size:16px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;transition:.25s}
.button:hover{transform:translateY(-3px);filter:brightness(1.04)}
.button--gold{min-width:385px;color:#641524;background:linear-gradient(135deg,#f8daa0,#e7b969 55%,#ffdca0);box-shadow:0 17px 44px rgba(42,6,13,.30),inset 0 1px 0 rgba(255,255,255,.62)}
.button--gold .arrow{margin-left:auto;font-size:28px;font-weight:300;transition:transform .25s}
.button--gold:hover .arrow{transform:translateX(6px)}
.button--wine{min-width:260px;color:#ffe2a5;border:1px solid rgba(247,210,139,.76);background:linear-gradient(135deg,rgba(88,18,34,.88),rgba(54,8,18,.92));box-shadow:0 17px 42px rgba(33,3,10,.26);backdrop-filter:blur(8px)}
.phone-icon{font-size:20px;color:var(--gold-light)}
.purposes{margin-top:50px;color:#efc578;font-size:17px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;text-shadow:0 3px 14px rgba(40,5,12,.24)}
.scroll-cue{position:absolute;z-index:15;right:42px;bottom:30px;display:grid;place-items:center;width:42px;height:62px;border:1px solid rgba(255,239,202,.42);border-radius:24px;backdrop-filter:blur(8px)}
.scroll-cue span{width:4px;height:11px;border-radius:4px;background:var(--gold-light);animation:scrollDot 1.8s ease-in-out infinite}
.clouds{position:absolute;inset:0;z-index:-3;overflow:hidden;pointer-events:none;mix-blend-mode:screen}
.cloud{position:absolute;display:block;width:260px;height:54px;opacity:.09;filter:blur(10px);background:radial-gradient(circle at 18% 62%,rgba(255,255,255,.94) 0 22%,transparent 23%),radial-gradient(circle at 39% 42%,rgba(255,255,255,.92) 0 30%,transparent 31%),radial-gradient(circle at 63% 56%,rgba(255,255,255,.90) 0 26%,transparent 27%),radial-gradient(circle at 81% 67%,rgba(255,255,255,.85) 0 18%,transparent 19%)}
.cloud--1{top:17%;left:-18%;animation:drift1 58s linear infinite}
.cloud--2{top:27%;left:14%;width:340px;opacity:.065;animation:drift2 74s linear infinite}
.cloud--3{top:11%;left:51%;width:290px;opacity:.055;animation:drift3 83s linear infinite}
.cloud--4{top:33%;left:-26%;width:420px;opacity:.042;animation:drift1 92s linear infinite}
.cloud--5{top:21%;left:36%;width:370px;opacity:.038;animation:drift2 105s linear infinite}
.reveal{opacity:0;transform:translateY(16px);animation:reveal .82s cubic-bezier(.2,.7,.2,1) forwards}
.reveal--1{animation-delay:.12s}.reveal--2{animation-delay:.25s}.reveal--3{animation-delay:.42s}.reveal--4{animation-delay:.53s}.reveal--5{animation-delay:.66s}.reveal--6{animation-delay:.80s}

@keyframes cinematicZoom{from{transform:scale(1.015)}to{transform:scale(1.048)}}
@keyframes reveal{to{opacity:1;transform:translateY(0)}}
@keyframes scrollDot{0%,100%{transform:translateY(-7px);opacity:.35}50%{transform:translateY(8px);opacity:1}}
@keyframes drift1{from{transform:translateX(0)}to{transform:translateX(125vw) scale(1.05)}}
@keyframes drift2{from{transform:translateX(-20vw) scale(.94)}to{transform:translateX(105vw) scale(1.02)}}
@keyframes drift3{from{transform:translateX(0)}to{transform:translateX(62vw) scale(1.04)}}
@media(max-width:1180px){:root{--shell:min(100% - 42px,1080px)}.nav{grid-template-columns:330px minmax(0,1fr) auto;gap:16px}.brand{width:330px;height:120px;gap:10px}.brand__mark{width:112px;height:112px}.brand__words{width:200px}.brand__words strong{font-size:27px}.brand__words b{font-size:25px}.brand__words small{font-size:7px}.nav__menu{gap:18px;font-size:11px}.hero__copy{width:min(860px,82vw)}h1{font-size:clamp(54px,6.4vw,78px)}.hero__content{min-height:calc(100svh - 156px)}.button--gold{min-width:330px}}
@media(max-width:860px){:root{--shell:calc(100vw - 34px)}.hero__background{background-position:62% center}.hero__wine{background:linear-gradient(180deg,rgba(45,6,15,.76),rgba(57,11,23,.63) 38%,rgba(40,8,17,.58) 71%,rgba(24,5,11,.78))}.nav{grid-template-columns:1fr auto;padding-top:12px}.brand{width:235px;height:92px;gap:8px}.brand__mark{width:88px;height:88px}.brand__words{width:138px}.brand__words strong{font-size:21px}.brand__words b{font-size:19px;margin-top:7px}.brand__words b:before,.brand__words b:after{width:18px}.brand__words b:before{right:calc(50% + 38px)}.brand__words b:after{left:calc(50% + 38px)}.brand__words small{font-size:5.8px;margin-top:10px;letter-spacing:.19em}.nav__call{display:none}.nav__toggle{position:relative;z-index:25;display:grid;gap:5px;width:46px;height:46px;padding:13px 11px;border:1px solid rgba(255,235,194,.55);border-radius:50%;background:rgba(62,11,22,.38);backdrop-filter:blur(10px)}.nav__toggle span{display:block;width:100%;height:1px;background:#fff2d7;transition:.25s}.nav__menu{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;justify-content:center;gap:28px;padding:120px 28px 50px;background:rgba(46,7,17,.96);backdrop-filter:blur(18px);font-size:18px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:.25s}.nav__menu.is-open{opacity:1;visibility:visible;transform:translateY(0)}.nav__toggle.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav__toggle.is-open span:nth-child(2){opacity:0}.nav__toggle.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.hero__content{align-items:flex-end;min-height:calc(100svh - 122px);padding:24px 0 58px}.hero__copy{width:100%}.eyebrow{margin-bottom:13px;font-size:11px;letter-spacing:.17em}h1{font-size:clamp(43px,11.8vw,66px);line-height:1.01}.ornament{width:190px;margin:24px 0 21px}.address,.facts{max-width:620px;font-size:16px}.address em,.facts em{padding-inline:.35em}.hero__actions{display:grid;grid-template-columns:1fr;gap:12px;margin-top:27px}.button{width:100%;min-width:0;min-height:62px;padding-inline:24px;border-radius:13px;font-size:14px}.purposes{margin-top:25px;font-size:13px;letter-spacing:.16em}.scroll-cue{display:none}}
@media(max-width:480px){.brand{width:215px;height:84px}.brand__mark{width:80px;height:80px}.brand__words{width:126px}.brand__words strong{font-size:19px}.brand__words b{font-size:17px}.brand__words b:before,.brand__words b:after{width:16px}.brand__words b:before{right:calc(50% + 34px)}.brand__words b:after{left:calc(50% + 34px)}.brand__words small{font-size:5.3px}.hero__content{min-height:calc(100svh - 104px);padding-bottom:32px}h1{font-size:clamp(39px,11.5vw,53px)}.address,.facts{font-size:14px;line-height:1.45}.address em,.facts em{padding-inline:.22em}.purposes{line-height:1.7}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}


/* ===== SECOND BLOCK: TWO NEIGHBOURING STUDIOS ===== */
.intro{
  position:relative;
  overflow:hidden;
  color:#42111c;
  background:
    linear-gradient(135deg,rgba(255,255,255,.72),transparent 43%),
    linear-gradient(180deg,#fbf6ed 0%,#f5ecdf 100%);
  padding:clamp(92px,9vw,148px) 0 clamp(80px,8vw,128px);
}
.intro::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.42;
  background-image:
    linear-gradient(rgba(125,79,55,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(125,79,55,.035) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:linear-gradient(90deg,transparent,black 22%,black 78%,transparent);
}
.intro__glow{
  position:absolute;
  border-radius:50%;
  filter:blur(2px);
  pointer-events:none;
}
.intro__glow--one{
  width:520px;height:520px;right:-190px;top:-210px;
  background:radial-gradient(circle,rgba(112,18,36,.10),transparent 68%);
}
.intro__glow--two{
  width:430px;height:430px;left:-220px;bottom:-260px;
  background:radial-gradient(circle,rgba(197,146,65,.13),transparent 69%);
}
.intro__inner{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(380px,.82fr);
  column-gap:clamp(58px,7vw,116px);
  row-gap:64px;
  align-items:center;
}
.section-kicker{
  display:flex;
  align-items:center;
  gap:15px;
  margin:0 0 24px;
  color:#9a6c2d;
  font-size:13px;
  font-weight:700;
  letter-spacing:.26em;
  text-transform:uppercase;
}
.section-kicker::before{
  content:"";
  width:54px;height:1px;
  background:#bd8d45;
}
.intro h2{
  margin:0;
  max-width:790px;
  color:#4b1420;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(47px,4.35vw,78px);
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.035em;
}
.intro h2 span{
  display:block;
  margin-top:.12em;
  color:#761d30;
}
.intro__lead{
  max-width:760px;
  margin:34px 0 0;
  color:#66474a;
  font-size:clamp(17px,1.25vw,21px);
  line-height:1.72;
}
.intro__choice{
  display:grid;
  grid-template-columns:70px 1fr;
  align-items:center;
  gap:23px;
  max-width:690px;
  margin-top:34px;
  padding:21px 25px 21px 18px;
  border:1px solid rgba(126,39,54,.14);
  border-radius:18px;
  background:rgba(255,251,244,.72);
  box-shadow:0 18px 50px rgba(76,23,32,.07);
  backdrop-filter:blur(8px);
}
.intro__choice-mark{
  display:grid;
  place-items:center;
  width:58px;height:58px;
  border-radius:50%;
  color:#f4d28d;
  background:linear-gradient(145deg,#6f1729,#3f0a15);
  font:500 15px/1 Georgia,serif;
  letter-spacing:.08em;
  box-shadow:0 9px 24px rgba(70,11,24,.19);
}
.intro__choice p{
  margin:0;
  color:#5d343d;
  font-size:18px;
  line-height:1.48;
}
.intro__choice strong{color:#721b2e}
.intro__uses{
  max-width:700px;
  margin:24px 0 0;
  color:#95704d;
  font-size:14px;
  line-height:1.7;
  letter-spacing:.035em;
}
.intro__visual{
  position:relative;
  align-self:start;
}
.key-card{
  position:relative;
  overflow:hidden;
  margin:0;
  min-height:620px;
  border:1px solid rgba(153,103,48,.20);
  border-radius:34px 34px 130px 34px;
  background:#56101e;
  box-shadow:
    0 36px 80px rgba(77,25,34,.20),
    0 3px 0 rgba(255,255,255,.65) inset;
  transform:rotate(1deg);
}
.key-card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(255,226,167,.05),transparent 34%),
    linear-gradient(0deg,rgba(35,3,10,.24),transparent 36%);
}
.key-card img{
  width:100%;
  height:100%;
  min-height:620px;
  display:block;
  object-fit:cover;
  object-position:center;
  transition:transform 1.2s cubic-bezier(.2,.65,.2,1);
}
.key-card:hover img{transform:scale(1.025)}
.key-card__label{
  position:absolute;
  z-index:2;
  left:28px;top:28px;
  padding:12px 17px;
  border:1px solid rgba(249,218,156,.46);
  border-radius:999px;
  color:#ffe2a2;
  background:rgba(65,7,19,.58);
  backdrop-filter:blur(12px);
  font-size:11px;
  font-weight:700;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.key-card__shine{
  position:absolute;
  z-index:3;
  top:-30%;left:-75%;
  width:44%;height:170%;
  pointer-events:none;
  opacity:.22;
  background:linear-gradient(90deg,transparent,rgba(255,236,192,.85),transparent);
  transform:rotate(19deg);
  animation:keyShine 7.5s ease-in-out infinite 1.6s;
}
.doors-note{
  position:absolute;
  z-index:4;
  left:-58px;
  bottom:50px;
  display:flex;
  align-items:center;
  gap:19px;
  width:min(430px,calc(100% + 20px));
  padding:18px 23px;
  border:1px solid rgba(153,103,48,.22);
  border-radius:18px;
  color:#5c2935;
  background:rgba(255,250,242,.94);
  box-shadow:0 21px 48px rgba(62,13,24,.16);
  backdrop-filter:blur(15px);
}
.doors-note strong{
  display:block;
  margin-bottom:3px;
  color:#741a2d;
  font:400 20px/1.1 Georgia,serif;
}
.doors-note span{
  color:#8a6764;
  font-size:12px;
  line-height:1.35;
}
.doors{
  display:flex;
  align-items:center;
  gap:5px;
  flex:0 0 auto;
  width:88px;height:54px;
}
.door{
  position:relative;
  display:block;
  width:35px;height:50px;
  border:2px solid #a77b3a;
  border-bottom-width:4px;
  background:linear-gradient(145deg,#74182b,#4d0b18);
  box-shadow:inset 0 0 0 4px rgba(255,220,153,.06);
}
.door--left{border-radius:10px 2px 2px 2px}
.door--right{border-radius:2px 10px 2px 2px}
.door i{
  position:absolute;
  top:25px;
  width:4px;height:4px;
  border-radius:50%;
  background:#e3ba6d;
}
.door--left i{right:6px}
.door--right i{left:6px}
.doors__line{
  width:4px;height:57px;
  border-radius:4px;
  background:#c1954c;
}
.intro__facts{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  overflow:hidden;
  border:1px solid rgba(122,50,57,.13);
  border-radius:22px;
  background:rgba(255,252,247,.68);
  box-shadow:0 20px 60px rgba(91,43,45,.06);
}
.intro__facts article{
  position:relative;
  min-height:145px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:26px 35px;
}
.intro__facts article:not(:last-child)::after{
  content:"";
  position:absolute;
  top:27px;right:0;bottom:27px;
  width:1px;
  background:linear-gradient(transparent,rgba(122,50,57,.20),transparent);
}
.intro__facts strong{
  color:#70172a;
  font:400 clamp(36px,3vw,53px)/1 Georgia,serif;
}
.intro__facts span{
  margin-top:11px;
  color:#846263;
  font-size:13px;
  font-weight:600;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.intro__closing{
  grid-column:1/-1;
  position:relative;
  margin:-26px auto 0;
  padding:0 48px;
  color:#8c5e2f;
  font:italic 400 clamp(20px,1.8vw,28px)/1.4 Georgia,serif;
  text-align:center;
}
.intro__closing::before,
.intro__closing::after{
  content:"";
  position:absolute;
  top:50%;
  width:34px;height:1px;
  background:#c49a58;
}
.intro__closing::before{left:0}
.intro__closing::after{right:0}
.scroll-reveal{
  opacity:0;
  transform:translateY(30px);
  transition:
    opacity .85s cubic-bezier(.2,.7,.2,1),
    transform .85s cubic-bezier(.2,.7,.2,1);
}
.scroll-reveal--delay{transition-delay:.13s}
.scroll-reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}
@keyframes keyShine{
  0%,52%{left:-75%;opacity:0}
  60%{opacity:.20}
  76%{left:135%;opacity:.08}
  100%{left:135%;opacity:0}
}
@media(max-width:1100px){
  .intro__inner{
    grid-template-columns:minmax(0,1fr) minmax(330px,.78fr);
    column-gap:45px;
  }
  .key-card,.key-card img{min-height:540px}
  .doors-note{left:-35px;bottom:34px}
  .intro__facts article{padding-inline:24px}
}
@media(max-width:860px){
  .intro{padding:82px 0 75px}
  .intro__inner{
    grid-template-columns:1fr;
    row-gap:44px;
  }
  .intro__copy{order:1}
  .intro__visual{
    order:2;
    width:min(590px,100%);
    margin-inline:auto;
  }
  .key-card{
    min-height:570px;
    border-radius:26px 26px 95px 26px;
  }
  .key-card img{min-height:570px}
  .doors-note{
    left:18px;right:18px;bottom:24px;
    width:auto;
  }
  .intro__facts{
    order:3;
    grid-template-columns:repeat(2,1fr);
  }
  .intro__facts article:nth-child(2)::after{display:none}
  .intro__facts article:nth-child(-n+2){
    border-bottom:1px solid rgba(122,50,57,.11);
  }
  .intro__closing{order:4;margin:-10px auto 0}
}
@media(max-width:560px){
  .section-kicker{font-size:11px;letter-spacing:.19em}
  .intro h2{font-size:clamp(39px,11vw,54px)}
  .intro__lead{font-size:16px;line-height:1.65}
  .intro__choice{
    grid-template-columns:54px 1fr;
    gap:15px;
    padding:17px 17px 17px 13px;
  }
  .intro__choice-mark{width:48px;height:48px}
  .intro__choice p{font-size:15px}
  .intro__uses{font-size:12px}
  .key-card,.key-card img{min-height:480px}
  .doors-note{gap:12px;padding:14px}
  .doors{transform:scale(.86);transform-origin:left center;width:76px}
  .doors-note strong{font-size:17px}
  .intro__facts{border-radius:17px}
  .intro__facts article{
    min-height:112px;
    padding:20px 17px;
  }
  .intro__facts strong{font-size:32px}
  .intro__facts span{font-size:10px;letter-spacing:.07em}
  .intro__closing{padding:0 25px;font-size:20px}
  .intro__closing::before,.intro__closing::after{width:18px}
}
@media(prefers-reduced-motion:reduce){
  .scroll-reveal{opacity:1;transform:none}
  .key-card__shine{display:none}
}




/* ===== THIRD BLOCK: STUDIO WITH BALCONY ===== */
.studio-one{position:relative;overflow:hidden;padding:clamp(92px,9vw,148px) 0 clamp(88px,8vw,132px);color:#fff7e9;background:radial-gradient(circle at 86% 8%,rgba(183,106,54,.15),transparent 30%),linear-gradient(145deg,#21060d 0%,#3b0b17 48%,#24060e 100%)}
.studio-one::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.12;background-image:linear-gradient(rgba(255,224,173,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(255,224,173,.09) 1px,transparent 1px);background-size:62px 62px;mask-image:linear-gradient(180deg,transparent,black 18%,black 82%,transparent)}
.studio-one__halo{position:absolute;border-radius:50%;pointer-events:none;filter:blur(2px)}
.studio-one__halo--top{width:520px;height:520px;right:-210px;top:-230px;background:radial-gradient(circle,rgba(225,166,80,.13),transparent 69%)}
.studio-one__halo--bottom{width:460px;height:460px;left:-230px;bottom:-250px;background:radial-gradient(circle,rgba(136,32,54,.26),transparent 70%)}
.studio-one__inner{position:relative}
.studio-one__header{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.68fr);gap:clamp(42px,7vw,110px);align-items:end;margin-bottom:52px}
.studio-kicker{display:flex;align-items:center;gap:16px;margin:0 0 22px;color:#e8bd70;font-size:12px;font-weight:700;letter-spacing:.24em;text-transform:uppercase}
.studio-kicker span{display:grid;place-items:center;width:45px;height:45px;border:1px solid rgba(239,199,124,.58);border-radius:50%;font:400 14px/1 Georgia,serif;letter-spacing:.04em}
.studio-one h2{margin:0;color:#fff8e9;font:400 clamp(54px,5.4vw,92px)/.97 Georgia,"Times New Roman",serif;letter-spacing:-.045em}
.studio-one h2 em{display:block;margin-top:.14em;color:#efc06d;font-style:normal}
.studio-one__intro{margin:0 0 7px;color:rgba(255,241,219,.74);font-size:clamp(17px,1.25vw,21px);line-height:1.72}
.studio-one__showcase{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(340px,.72fr);min-height:650px;overflow:hidden;border:1px solid rgba(239,197,120,.22);border-radius:30px;background:#170309;box-shadow:0 35px 100px rgba(0,0,0,.30)}
.studio-photo{position:relative;display:block;overflow:hidden;padding:0;border:0;color:inherit;background:#170309;cursor:pointer;text-align:left}
.studio-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .85s cubic-bezier(.2,.7,.2,1),filter .4s ease}
.studio-photo:hover img{transform:scale(1.025);filter:brightness(1.035)}
.studio-photo--main{min-height:650px}
.studio-photo--main::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 58%,rgba(15,2,7,.36)),linear-gradient(90deg,rgba(24,3,10,.10),transparent 38%)}
.studio-photo__badge{position:absolute;z-index:2;left:27px;top:27px;padding:12px 17px;border:1px solid rgba(255,224,166,.53);border-radius:999px;color:#ffdda0;background:rgba(61,8,21,.62);backdrop-filter:blur(12px);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.studio-photo__zoom{position:absolute;z-index:2;right:26px;bottom:25px;display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,231,188,.58);border-radius:50%;color:#ffe0a1;background:rgba(48,5,16,.53);backdrop-filter:blur(10px);font-size:22px}
.studio-one__card{display:flex;flex-direction:column;padding:clamp(34px,3.4vw,58px);background:linear-gradient(160deg,rgba(104,18,37,.94),rgba(47,5,15,.98))}
.studio-one__card-label{margin:0 0 19px;color:#e6b865;font-size:12px;font-weight:700;letter-spacing:.24em;text-transform:uppercase}
.studio-one__card h3{margin:0;color:#fff7e8;font:400 clamp(34px,3vw,51px)/1.08 Georgia,serif}
.studio-one__facts{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;overflow:hidden;margin-top:39px;border:1px solid rgba(246,211,147,.15);border-radius:15px;background:rgba(255,255,255,.07)}
.studio-one__facts div{min-height:112px;display:flex;flex-direction:column;justify-content:center;padding:19px;background:rgba(42,4,13,.38)}
.studio-one__facts strong{color:#f7ce83;font:400 23px/1.1 Georgia,serif}
.studio-one__facts span{margin-top:8px;color:rgba(255,240,214,.60);font-size:10px;font-weight:700;letter-spacing:.10em;text-transform:uppercase}
.studio-one__price{margin-top:auto;padding-top:35px}
.studio-one__price span{display:block;color:rgba(255,235,203,.56);font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.studio-one__price strong{display:block;margin-top:8px;color:#ffe0a1;font:400 clamp(28px,2.5vw,40px)/1.15 Georgia,serif}
.studio-one__cta{display:flex;align-items:center;justify-content:space-between;min-height:68px;margin-top:24px;padding:0 24px;border-radius:13px;color:#651426;background:linear-gradient(135deg,#f6d392,#e5b25b);font-size:14px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 15px 38px rgba(0,0,0,.20);transition:transform .25s ease,filter .25s ease}
.studio-one__cta:hover{transform:translateY(-3px);filter:brightness(1.045)}
.studio-one__cta i{font:normal 28px/1 Arial,sans-serif}
.studio-one__all-photos{margin-top:18px;padding:0;border:0;border-bottom:1px solid rgba(242,197,116,.42);align-self:flex-start;color:#e8bd70;background:transparent;font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;cursor:pointer}
.studio-one__gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:235px;gap:16px;margin-top:16px}
.studio-one__gallery .studio-photo{border:1px solid rgba(246,210,143,.17);border-radius:18px;box-shadow:0 18px 45px rgba(0,0,0,.15)}
.studio-one__gallery .studio-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 56%,rgba(25,2,8,.72))}
.studio-one__gallery .studio-photo span{position:absolute;z-index:2;left:20px;bottom:17px;color:#fff2d8;font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.studio-photo--room{grid-column:span 5;grid-row:span 2}
.studio-photo--kitchen{grid-column:span 4}
.studio-photo--balcony{grid-column:span 3}
.studio-photo--entry{grid-column:span 3}
.studio-photo--bathroom{grid-column:span 4}
.studio-photo--shower{grid-column:span 5}
.studio-photo--overview{grid-column:span 7}
.studio-one__footer{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-top:42px;padding-top:31px;border-top:1px solid rgba(239,199,124,.20)}
.studio-one__footer p{max-width:740px;margin:0;color:rgba(255,238,211,.67);font-size:16px;line-height:1.65}
.studio-one__footer a{flex:0 0 auto;color:#efc06d;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.studio-one__footer a span{margin-left:9px;font-size:20px}
.photo-lightbox{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:45px 84px;background:rgba(13,1,5,.94);backdrop-filter:blur(15px);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}
.photo-lightbox.is-open{opacity:1;visibility:visible}
.photo-lightbox__image{max-width:min(1500px,100%);max-height:calc(100vh - 90px);object-fit:contain;border-radius:13px;box-shadow:0 35px 100px rgba(0,0,0,.55)}
.photo-lightbox__close,.photo-lightbox__nav{position:absolute;display:grid;place-items:center;border:1px solid rgba(255,224,169,.44);color:#ffe0a1;background:rgba(72,9,23,.58);backdrop-filter:blur(12px);cursor:pointer}
.photo-lightbox__close{top:24px;right:27px;width:48px;height:48px;border-radius:50%;font-size:30px}
.photo-lightbox__nav{top:50%;width:52px;height:72px;border-radius:15px;transform:translateY(-50%);font-size:44px}
.photo-lightbox__nav--prev{left:21px}.photo-lightbox__nav--next{right:21px}
.photo-lightbox__meta{
  position:absolute;
  z-index:3;
  left:50%;
  top:22px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  min-width:260px;
  padding:11px 22px;
  border:1px solid rgba(255,224,169,.32);
  border-radius:15px;
  color:#fff3d9;
  background:rgba(67,7,20,.66);
  backdrop-filter:blur(14px);
  transform:translateX(-50%);
}
.photo-lightbox__title{
  color:#ffe0a1;
  font:400 22px/1.15 Georgia,"Times New Roman",serif;
}
.photo-lightbox__counter{
  color:rgba(255,238,207,.72);
  font-size:10px;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
}
@media(max-width:1100px){.studio-one__showcase{grid-template-columns:minmax(0,1.35fr) minmax(315px,.75fr)}.studio-photo--main,.studio-one__showcase{min-height:590px}.studio-one__gallery{grid-auto-rows:205px}}
@media(max-width:860px){.studio-one__header{grid-template-columns:1fr;gap:27px}.studio-one__intro{max-width:680px}.studio-one__showcase{grid-template-columns:1fr}.studio-photo--main{min-height:540px}.studio-one__card{min-height:570px}.studio-one__gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:250px}.studio-one__gallery .studio-photo{grid-column:auto;grid-row:auto}.studio-photo--room{grid-column:1/-1!important;height:430px}.studio-one__footer{align-items:flex-start;flex-direction:column}.photo-lightbox{padding:70px 24px}.photo-lightbox__nav{top:auto;bottom:17px;width:48px;height:48px;border-radius:50%;transform:none}.photo-lightbox__nav--prev{left:22px}.photo-lightbox__nav--next{right:22px}}
@media(max-width:560px){.studio-one{padding:78px 0 72px}.studio-one h2{font-size:clamp(45px,13vw,61px)}.studio-one__showcase{border-radius:21px}.studio-photo--main{min-height:390px}.studio-photo__badge{left:15px;top:15px;padding:9px 12px;font-size:9px}.studio-photo__zoom{right:15px;bottom:15px;width:42px;height:42px}.studio-one__card{min-height:auto;padding:31px 22px 35px}.studio-one__facts div{min-height:94px;padding:15px}.studio-one__facts strong{font-size:20px}.studio-one__gallery{grid-template-columns:1fr;grid-auto-rows:285px;gap:12px}.studio-photo--room{height:auto}.studio-one__footer p{font-size:14px}.photo-lightbox__image{max-height:calc(100vh - 145px)}}


/* ===== FOURTH BLOCK: STUDIO WITHOUT BALCONY ===== */
.studio-two{
  background:
    radial-gradient(circle at 12% 10%,rgba(218,162,77,.13),transparent 31%),
    linear-gradient(145deg,#350a15 0%,#21060d 48%,#3c0c18 100%);
}
.studio-two::after{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(244,205,132,.38),transparent);
}
.studio-two__header{
  grid-template-columns:minmax(360px,.68fr) minmax(0,1fr);
}
.studio-two__header > div{
  text-align:right;
}
.studio-two__header .studio-kicker{
  justify-content:flex-end;
}
.studio-two__showcase{
  grid-template-columns:minmax(340px,.72fr) minmax(0,1.62fr);
}
.studio-two__card{
  background:linear-gradient(160deg,rgba(47,5,15,.98),rgba(106,19,38,.94));
}
.studio-photo--view{
  grid-column:span 3;
}
.studio-two__gallery .studio-photo--room{
  grid-column:span 5;
  grid-row:span 2;
}
.studio-two__gallery .studio-photo--kitchen{
  grid-column:span 4;
}
.studio-two__gallery .studio-photo--view{
  grid-column:span 3;
}
.studio-two__gallery .studio-photo--entry{
  grid-column:span 3;
}
.studio-two__gallery .studio-photo--bathroom{
  grid-column:span 4;
}
.studio-two__gallery .studio-photo--shower{
  grid-column:span 5;
}
.studio-two__gallery .studio-photo--full{
  grid-column:span 7;
}
@media(max-width:860px){
  .studio-two__header{
    grid-template-columns:1fr;
  }
  .studio-two__header > div{
    order:-1;
    text-align:left;
  }
  .studio-two__header .studio-kicker{
    justify-content:flex-start;
  }
  .studio-two__showcase{
    grid-template-columns:1fr;
  }
  .studio-two__showcase .studio-one__card{
    order:2;
  }
  .studio-two__showcase .studio-photo--main{
    order:1;
  }
  .studio-two__gallery .studio-photo{
    grid-column:auto;
    grid-row:auto;
  }
  .studio-two__gallery .studio-photo--room{
    grid-column:1/-1;
    height:430px;
  }
}
@media(max-width:560px){
  .studio-two__gallery .studio-photo--room{
    height:auto;
  }
}



/* ===== END FOURTH BLOCK ===== */


@media(max-width:560px){
  .photo-lightbox__meta{
    top:17px;
    left:18px;
    right:76px;
    min-width:0;
    align-items:flex-start;
    padding:9px 13px;
    transform:none;
  }
  .photo-lightbox__title{font-size:17px}
}


/* ===== FOURTH BLOCK: HOUSE AND SURROUNDINGS ===== */
.location-story{
  position:relative;
  overflow:hidden;
  padding:clamp(58px,5.4vw,84px) 0 clamp(72px,6.5vw,106px);
  color:#4b1721;
  background:
    linear-gradient(135deg,rgba(255,255,255,.75),transparent 42%),
    linear-gradient(180deg,#fbf6ed 0%,#f2e7d8 100%);
}
.location-story__wash{
  position:absolute;
  width:590px;
  height:590px;
  right:-275px;
  top:-300px;
  border-radius:50%;
  pointer-events:none;
  background:radial-gradient(circle,rgba(111,21,40,.09),transparent 70%);
}
.location-story__inner{position:relative}
.location-story__header{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.72fr);
  gap:clamp(48px,7vw,112px);
  align-items:end;
  margin-bottom:clamp(18px,2vw,28px);
}
.location-story__kicker{
  display:flex;
  align-items:center;
  gap:16px;
  margin:0 0 18px;
  color:#9b6c2f;
  font-size:12px;
  font-weight:800;
  letter-spacing:.24em;
  text-transform:uppercase;
}
.location-story__kicker::before{
  content:"";
  width:54px;
  height:1px;
  background:#bd8b42;
}
.location-story h2{
  margin:0;
  color:#4d1521;
  font:400 clamp(50px,4.8vw,82px)/1.02 Georgia,"Times New Roman",serif;
  letter-spacing:-.04em;
}
.location-story h2 span{
  display:block;
  margin-top:.06em;
  color:#7a2032;
}
.location-story__lead{
  margin:0;
  color:#6d5151;
  font-size:clamp(17px,1.2vw,20px);
  line-height:1.66;
}
.location-story__feature{
  display:grid;
  grid-template-columns:minmax(0,1.48fr) minmax(350px,.70fr);
  min-height:680px;
  overflow:hidden;
  border:1px solid rgba(126,55,61,.14);
  border-radius:34px;
  background:rgba(255,251,245,.72);
  box-shadow:0 32px 78px rgba(80,33,35,.12);
}
.location-story__main-photo{
  position:relative;
  min-height:680px;
  margin:0;
  overflow:hidden;
}
.location-story__main-photo::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 69%,rgba(56,9,20,.11));
}
.location-story__main-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  transition:transform 1.1s cubic-bezier(.2,.65,.2,1);
}
.location-story__feature:hover .location-story__main-photo img{
  transform:scale(1.018);
}
.location-story__copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(38px,3.8vw,60px);
  background:
    linear-gradient(160deg,rgba(255,252,247,.98),rgba(244,231,215,.98));
}
.location-story__small-title{
  margin:0 0 17px;
  color:#a07134;
  font-size:11px;
  font-weight:800;
  letter-spacing:.21em;
  text-transform:uppercase;
}
.location-story__copy h3{
  margin:0;
  color:#5c1726;
  font:400 clamp(34px,3vw,50px)/1.08 Georgia,"Times New Roman",serif;
}
.location-story__text{
  margin-top:25px;
}
.location-story__text p{
  position:relative;
  margin:0;
  padding:0 0 18px;
  color:#684c4c;
  font-size:16px;
  line-height:1.66;
}
.location-story__text p + p{
  padding-top:18px;
  border-top:1px solid rgba(127,64,64,.14);
}
.location-story__conclusion{
  margin:7px 0 0;
  color:#8d5d2d;
  font:italic 400 20px/1.48 Georgia,"Times New Roman",serif;
}
.location-story__gallery{
  display:grid;
  grid-template-columns:minmax(0,1.28fr) minmax(360px,1fr);
  gap:18px;
  margin-top:18px;
}
.location-story__photo{
  position:relative;
  min-height:430px;
  overflow:hidden;
  margin:0;
  border:1px solid rgba(123,53,59,.14);
  border-radius:25px;
  background:#3e101a;
  box-shadow:0 20px 55px rgba(77,27,31,.11);
}
.location-story__photo img{
  width:100%;
  height:100%;
  min-height:430px;
  display:block;
  object-fit:cover;
  transition:transform .85s cubic-bezier(.2,.65,.2,1);
}
.location-story__photo:hover img{transform:scale(1.025)}
.location-story__photo--entrance img{object-position:center}
.location-story__photo--shops img{object-position:center top}
.location-story__photo--shops{min-height:480px}
.location-story__photo--shops img{min-height:480px}
.location-story__photo figcaption{
  position:absolute;
  z-index:2;
  left:0;
  right:0;
  bottom:0;
  padding:65px 25px 23px;
  color:#fff7e8;
  background:linear-gradient(transparent,rgba(38,5,13,.91));
}
.location-story__photo figcaption strong{
  display:block;
  font:400 23px/1.15 Georgia,"Times New Roman",serif;
}
.location-story__photo figcaption span{
  display:block;
  margin-top:7px;
  color:rgba(255,239,213,.73);
  font-size:12px;
  line-height:1.45;
}
.location-story__closing{
  margin-top:42px;
  padding-top:29px;
  border-top:1px solid rgba(126,56,60,.15);
  text-align:center;
}
.location-story__closing p{
  max-width:980px;
  margin:0 auto;
  color:#7a4a37;
  font:italic 400 clamp(21px,2vw,28px)/1.43 Georgia,"Times New Roman",serif;
}

/* Подтягиваем верхние отступы у обеих студий. */
.studio-one{
  padding-top:clamp(58px,5.7vw,92px);
}

@media(max-width:1050px){
  .location-story__feature{
    grid-template-columns:minmax(0,1.15fr) minmax(330px,.78fr);
  }
  .location-story__gallery{
    grid-template-columns:1.2fr .8fr;
  }
}
@media(max-width:860px){
  .location-story{
    padding:68px 0 78px;
  }
  .location-story__header{
    grid-template-columns:1fr;
    gap:22px;
    margin-bottom:24px;
  }
  .location-story__feature{
    grid-template-columns:1fr;
  }
  .location-story__main-photo{
    min-height:570px;
  }
  .location-story__copy{
    padding:41px 32px 46px;
  }
  .location-story__gallery{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:560px){
  .studio-one{
    padding-top:56px;
  }
  .location-story{
    padding:58px 0 68px;
  }
  .location-story h2{
    font-size:clamp(43px,12vw,58px);
  }
  .location-story__lead{
    font-size:16px;
  }
  .location-story__feature{
    border-radius:22px;
  }
  .location-story__main-photo{
    min-height:400px;
  }
  .location-story__copy{
    padding:31px 22px 36px;
  }
  .location-story__text p{
    font-size:15px;
  }
  .location-story__gallery{
    grid-template-columns:1fr;
    gap:13px;
  }
  .location-story__photo,
  .location-story__photo img{
    min-height:390px;
  }
  .location-story__closing{
    margin-top:34px;
    padding-top:25px;
  }
}
/* ===== END FOURTH BLOCK ===== */








/* ===== FINAL THREE-COLUMN HEADER ===== */

/* Compact transitions between sections. */
.intro{
  padding-bottom:14px !important;
}
.intro__inner{
  row-gap:42px;
}
.intro__closing{
  margin-top:-18px;
}
.studio-one:not(.studio-two){
  padding-top:24px !important;
  padding-bottom:18px !important;
}
.studio-two{
  padding-top:20px !important;
  padding-bottom:18px !important;
}
.studio-one__header{
  margin-bottom:34px;
}
.studio-one__footer{
  margin-top:22px;
  padding-top:18px;
}
.location-story{
  padding-top:30px !important;
}

/* Real three-column composition: heading | emblem | description. */
.location-story__header{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.18fr) 110px minmax(330px,.78fr);
  column-gap:clamp(24px,2.8vw,46px);
  align-items:center;
  margin-bottom:18px;
}
.location-story__heading{
  min-width:0;
}
.location-story__emblem{
  position:static;
  z-index:auto;
  width:110px;
  height:auto;
  display:block;
  align-self:center;
  justify-self:center;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:none;
  transform:translateX(-14px);
}
.location-story__emblem img{
  width:110px;
  min-width:110px;
  max-width:110px;
  height:auto;
  display:block;
  opacity:1 !important;
  visibility:visible !important;
  transform:none;
  filter:
    drop-shadow(0 12px 22px rgba(72,18,27,.22))
    drop-shadow(0 1px 1px rgba(255,255,255,.58));
}
.location-story__lead{
  min-width:0;
}

/* Slightly narrower desktop: keep all three columns, but reduce the seal. */
@media(max-width:1120px){
  .location-story__header{
    grid-template-columns:minmax(0,1.12fr) 86px minmax(300px,.78fr);
    column-gap:24px;
  }
  .location-story__emblem{
    transform:translateX(-10px);
  }
  .location-story__emblem,
  .location-story__emblem img{
    width:86px;
    min-width:86px;
    max-width:86px;
  }
}

/* Tablet: emblem gets its own centered row, no overlap with text. */
@media(max-width:860px){
  .intro{padding-bottom:10px !important}
  .intro__inner{row-gap:34px}
  .studio-one:not(.studio-two),
  .studio-two{
    padding-top:20px !important;
    padding-bottom:16px !important;
  }
  .location-story{padding-top:25px !important}
  .location-story__header{
    grid-template-columns:1fr;
    grid-template-areas:
      "heading"
      "emblem"
      "lead";
    row-gap:18px;
    margin-bottom:20px;
  }
  .location-story__heading{grid-area:heading}
  .location-story__emblem{
    grid-area:emblem;
    width:72px;
    transform:none;
  }
  .location-story__emblem img{
    width:72px;
    min-width:72px;
    max-width:72px;
  }
  .location-story__lead{grid-area:lead}
}

/* Phone: preserve the mark, but keep the section compact. */
@media(max-width:560px){
  .intro{padding-bottom:8px !important}
  .intro__inner{row-gap:28px}
  .studio-one:not(.studio-two),
  .studio-two{
    padding-top:16px !important;
    padding-bottom:14px !important;
  }
  .studio-one__header{margin-bottom:26px}
  .location-story{padding-top:22px !important}
  .location-story__header{
    row-gap:14px;
    margin-bottom:17px;
  }
  .location-story__emblem{
    width:60px;
  }
  .location-story__emblem img{
    width:60px;
    min-width:60px;
    max-width:60px;
  }
}
/* ===== END FINAL THREE-COLUMN HEADER ===== */


/* ===== PURCHASE CHOICE BLOCK ===== */
.purchase-choice{
  position:relative;
  overflow:hidden;
  padding:clamp(78px,7vw,116px) 0 clamp(76px,7vw,112px);
  color:#fff3df;
  background:
    radial-gradient(circle at 82% 16%,rgba(189,108,74,.22),transparent 29%),
    radial-gradient(circle at 12% 78%,rgba(115,21,40,.30),transparent 35%),
    linear-gradient(135deg,#24040c 0%,#4a0a18 45%,#681426 100%);
}
.purchase-choice__glow{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.48;
  background:
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:68px 68px;
  mask-image:linear-gradient(to bottom,transparent,black 18%,black 82%,transparent);
}
.purchase-choice__inner{
  position:relative;
}
.purchase-choice__header{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(340px,.72fr);
  gap:clamp(55px,7vw,116px);
  align-items:end;
  margin-bottom:clamp(46px,5vw,72px);
}
.purchase-choice__kicker{
  display:flex;
  align-items:center;
  gap:15px;
  margin:0 0 20px;
  color:#e3b35f;
  font-size:12px;
  font-weight:800;
  letter-spacing:.24em;
  text-transform:uppercase;
}
.purchase-choice__kicker::before{
  content:"";
  width:56px;
  height:1px;
  background:#d8a14d;
}
.purchase-choice h2{
  margin:0;
  color:#fff7e9;
  font:400 clamp(52px,5vw,84px)/1.01 Georgia,"Times New Roman",serif;
  letter-spacing:-.045em;
}
.purchase-choice h2 span{
  display:block;
  margin-top:.08em;
  color:#f1c269;
}
.purchase-choice__lead{
  margin:0 0 5px;
  color:rgba(255,238,217,.73);
  font-size:clamp(17px,1.22vw,20px);
  line-height:1.72;
}
.purchase-choice__composition{
  display:grid;
  grid-template-columns:minmax(390px,.84fr) minmax(0,1.16fr);
  gap:clamp(22px,3vw,46px);
  align-items:stretch;
}
.purchase-choice__visual{
  position:relative;
  min-height:690px;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(241,194,105,.28);
  border-radius:34px;
  background:#2b0710;
  box-shadow:0 36px 86px rgba(13,0,4,.35);
}
.purchase-choice__visual::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,transparent 52%,rgba(25,2,8,.88) 100%),
    linear-gradient(90deg,rgba(50,3,13,.16),transparent 44%);
}
.purchase-choice__visual img{
  width:100%;
  height:100%;
  min-height:690px;
  display:block;
  object-fit:cover;
  object-position:center;
  transition:transform 1.1s cubic-bezier(.2,.65,.2,1);
}
.purchase-choice__visual:hover img{
  transform:scale(1.018);
}
.purchase-choice__visual figcaption{
  position:absolute;
  z-index:2;
  left:clamp(24px,3vw,44px);
  right:clamp(24px,3vw,44px);
  bottom:clamp(25px,3vw,42px);
}
.purchase-choice__visual figcaption span{
  display:block;
  margin-bottom:10px;
  color:#e9b65d;
  font-size:11px;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.purchase-choice__visual figcaption strong{
  display:block;
  color:#fff5e5;
  font:400 clamp(28px,2.5vw,42px)/1.08 Georgia,"Times New Roman",serif;
}
.purchase-choice__content{
  display:grid;
  grid-template-rows:1fr auto 1fr;
  overflow:hidden;
  border:1px solid rgba(241,194,105,.22);
  border-radius:34px;
  background:
    linear-gradient(155deg,rgba(117,23,43,.76),rgba(49,5,14,.88));
  box-shadow:0 36px 86px rgba(13,0,4,.25);
}
.purchase-choice__option{
  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  gap:clamp(22px,3vw,43px);
  align-items:start;
  padding:clamp(42px,4.5vw,72px);
}
.purchase-choice__option + .purchase-choice__option{
  border-top:1px solid rgba(239,188,93,.16);
}
.purchase-choice__number{
  margin:3px 0 0;
  color:#edbc62;
  font:400 18px/1 Georgia,"Times New Roman",serif;
  letter-spacing:.12em;
}
.purchase-choice__option h3{
  margin:0;
  color:#fff6e7;
  font:400 clamp(34px,3vw,51px)/1.07 Georgia,"Times New Roman",serif;
}
.purchase-choice__option div > p{
  margin:22px 0 0;
  color:rgba(255,238,218,.70);
  font-size:16px;
  line-height:1.72;
}
.purchase-choice__quote{
  position:relative;
  margin:0;
  padding:clamp(28px,3vw,43px) clamp(42px,5vw,78px);
  color:#f2c36b;
  text-align:center;
  font:italic 400 clamp(24px,2.2vw,34px)/1.38 Georgia,"Times New Roman",serif;
  border-top:1px solid rgba(239,188,93,.17);
  border-bottom:1px solid rgba(239,188,93,.17);
  background:rgba(31,3,10,.26);
}
.purchase-choice__quote::before,
.purchase-choice__quote::after{
  content:"";
  position:absolute;
  top:50%;
  width:44px;
  height:1px;
  background:rgba(237,188,98,.55);
}
.purchase-choice__quote::before{left:22px}
.purchase-choice__quote::after{right:22px}
.purchase-choice__footer{
  display:flex;
  justify-content:center;
  margin-top:clamp(40px,4vw,58px);
  padding-top:clamp(28px,3vw,42px);
  border-top:1px solid rgba(236,186,96,.20);
}
.purchase-choice__footer p{
  max-width:980px;
  margin:0;
  color:rgba(255,235,211,.76);
  text-align:center;
  font:italic 400 clamp(20px,1.9vw,28px)/1.5 Georgia,"Times New Roman",serif;
}

@media(max-width:1000px){
  .purchase-choice__composition{
    grid-template-columns:minmax(330px,.78fr) minmax(0,1.22fr);
  }
  .purchase-choice__visual,
  .purchase-choice__visual img{
    min-height:640px;
  }
  .purchase-choice__option{
    grid-template-columns:58px minmax(0,1fr);
  }
}
@media(max-width:820px){
  .purchase-choice{
    padding:68px 0 76px;
  }
  .purchase-choice__header{
    grid-template-columns:1fr;
    gap:25px;
    margin-bottom:42px;
  }
  .purchase-choice__composition{
    grid-template-columns:1fr;
  }
  .purchase-choice__visual,
  .purchase-choice__visual img{
    min-height:590px;
  }
}
@media(max-width:560px){
  .purchase-choice{
    padding:58px 0 64px;
  }
  .purchase-choice h2{
    font-size:clamp(44px,12vw,60px);
  }
  .purchase-choice__lead{
    font-size:16px;
  }
  .purchase-choice__visual,
  .purchase-choice__content{
    border-radius:23px;
  }
  .purchase-choice__visual,
  .purchase-choice__visual img{
    min-height:510px;
  }
  .purchase-choice__option{
    grid-template-columns:1fr;
    gap:16px;
    padding:34px 24px 38px;
  }
  .purchase-choice__number{
    font-size:15px;
  }
  .purchase-choice__option h3{
    font-size:38px;
  }
  .purchase-choice__quote{
    padding:27px 35px;
    font-size:24px;
  }
  .purchase-choice__quote::before,
  .purchase-choice__quote::after{
    width:22px;
  }
  .purchase-choice__quote::before{left:10px}
  .purchase-choice__quote::after{right:10px}
}
/* ===== END PURCHASE CHOICE BLOCK ===== */


/* ===== AREA MAP BLOCK ===== */
.area-map{
  position:relative;
  overflow:hidden;
  padding:clamp(76px,7vw,112px) 0 clamp(72px,7vw,108px);
  color:#4b2e2e;
  background:
    radial-gradient(circle at 87% 12%,rgba(157,104,55,.11),transparent 28%),
    linear-gradient(180deg,#fbf6ed 0%,#f5ebdd 100%);
}
.area-map::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.42;
  background:
    linear-gradient(90deg,rgba(91,31,44,.025) 1px,transparent 1px),
    linear-gradient(rgba(91,31,44,.018) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,transparent,black 16%,black 82%,transparent);
}
.area-map__inner{
  position:relative;
}
.area-map__header{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(340px,.72fr);
  gap:clamp(54px,7vw,114px);
  align-items:end;
  margin-bottom:clamp(42px,4.8vw,68px);
}
.area-map__kicker{
  display:flex;
  align-items:center;
  gap:15px;
  margin:0 0 20px;
  color:#a36a25;
  font-size:12px;
  font-weight:800;
  letter-spacing:.24em;
  text-transform:uppercase;
}
.area-map__kicker::before{
  content:"";
  width:58px;
  height:1px;
  background:#ba7b2c;
}
.area-map h2{
  margin:0;
  color:#651326;
  font:400 clamp(50px,5vw,82px)/1.01 Georgia,"Times New Roman",serif;
  letter-spacing:-.045em;
}
.area-map h2 span{
  color:#a9682d;
}
.area-map__lead{
  margin:0 0 4px;
  color:#6e5650;
  font-size:clamp(17px,1.2vw,20px);
  line-height:1.72;
}
.area-map__composition{
  display:grid;
  grid-template-columns:minmax(0,1.16fr) minmax(370px,.84fr);
  overflow:hidden;
  min-height:720px;
  border:1px solid rgba(103,20,39,.14);
  border-radius:34px;
  background:#fffaf2;
  box-shadow:0 34px 86px rgba(91,46,30,.13);
}
.area-map__map{
  position:relative;
  min-height:720px;
  overflow:hidden;
  background:#e9dfd0;
}
.area-map__map iframe{
  width:100%;
  height:100%;
  min-height:720px;
  display:block;
  border:0;
  filter:saturate(.86) contrast(.98);
}
.area-map__map::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:inset -1px 0 rgba(101,19,38,.13);
}
.area-map__route{
  position:absolute;
  z-index:3;
  left:30px;
  bottom:30px;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  min-width:220px;
  padding:18px 22px;
  color:#fff5e4;
  text-decoration:none;
  font-size:13px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
  border:1px solid rgba(237,190,101,.55);
  border-radius:15px;
  background:rgba(83,9,26,.92);
  box-shadow:0 18px 38px rgba(56,7,17,.22);
  backdrop-filter:blur(8px);
  transition:transform .25s ease,background .25s ease;
}
.area-map__route:hover{
  transform:translateY(-2px);
  background:#6a1025;
}
.area-map__route span{
  color:#efc36f;
  font-size:22px;
  font-weight:400;
}
.area-map__content{
  display:flex;
  flex-direction:column;
  padding:clamp(38px,4.3vw,68px);
}
.area-map__address{
  padding-bottom:clamp(29px,3vw,42px);
  border-bottom:1px solid rgba(101,19,38,.13);
}
.area-map__address > p{
  margin:0 0 14px;
  color:#aa712d;
  font-size:11px;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.area-map__address h3{
  margin:0;
  color:#651326;
  font:400 clamp(37px,3.2vw,54px)/1.08 Georgia,"Times New Roman",serif;
}
.area-map__places{
  display:flex;
  flex-direction:column;
  flex:1;
}
.area-map__place{
  padding:clamp(24px,2.3vw,34px) 0;
  border-bottom:1px solid rgba(101,19,38,.11);
}
.area-map__place h4{
  margin:0;
  color:#651326;
  font:400 clamp(23px,2vw,31px)/1.17 Georgia,"Times New Roman",serif;
}
.area-map__place > p,
.area-map__place div > p{
  margin:12px 0 0;
  color:#745f58;
  font-size:15px;
  line-height:1.65;
}
.area-map__place--sea{
  display:grid;
  grid-template-columns:130px minmax(0,1fr);
  gap:24px;
  align-items:center;
  margin-top:auto;
  padding-bottom:0;
  border-bottom:0;
}
.area-map__time{
  margin:0 !important;
  color:#b2742e !important;
  font:400 30px/1 Georgia,"Times New Roman",serif !important;
}
.area-map__footer{
  display:flex;
  justify-content:center;
  margin-top:clamp(38px,4vw,56px);
  padding-top:clamp(26px,3vw,39px);
  border-top:1px solid rgba(101,19,38,.13);
}
.area-map__footer p{
  max-width:980px;
  margin:0;
  color:#875f42;
  text-align:center;
  font:italic 400 clamp(20px,1.8vw,28px)/1.5 Georgia,"Times New Roman",serif;
}
@media(max-width:980px){
  .area-map__composition{
    grid-template-columns:minmax(0,1fr) 390px;
  }
  .area-map__content{
    padding:38px 32px;
  }
  .area-map__place--sea{
    grid-template-columns:1fr;
    gap:9px;
  }
}
@media(max-width:820px){
  .area-map{
    padding:66px 0 74px;
  }
  .area-map__header{
    grid-template-columns:1fr;
    gap:24px;
    margin-bottom:40px;
  }
  .area-map__composition{
    grid-template-columns:1fr;
  }
  .area-map__map,
  .area-map__map iframe{
    min-height:520px;
  }
  .area-map__content{
    padding:44px 36px 48px;
  }
}
@media(max-width:560px){
  .area-map{
    padding:56px 0 62px;
  }
  .area-map h2{
    font-size:clamp(44px,12vw,59px);
  }
  .area-map__composition{
    min-height:0;
    border-radius:23px;
  }
  .area-map__map,
  .area-map__map iframe{
    min-height:410px;
  }
  .area-map__route{
    left:18px;
    right:18px;
    bottom:18px;
    min-width:0;
  }
  .area-map__content{
    padding:37px 24px 40px;
  }
  .area-map__address h3{
    font-size:39px;
  }
}
/* ===== END AREA MAP BLOCK ===== */


/* ===== MAP BUTTON CLEANUP ===== */

/* Закрывает только служебную ссылку Яндекса в левом нижнем углу.
   Атрибуция и условия использования внизу карты остаются видимыми. */
.area-map__map::before{
  content:"";
  position:absolute;
  z-index:2;
  left:0;
  bottom:0;
  width:min(430px,72%);
  height:94px;
  pointer-events:none;
  background:
    linear-gradient(
      90deg,
      rgba(82,10,27,.98) 0%,
      rgba(82,10,27,.96) 70%,
      rgba(82,10,27,0) 100%
    );
}

.area-map__route{
  z-index:4;
  left:28px;
  bottom:20px;
}

@media(max-width:560px){
  .area-map__map::before{
    width:100%;
    height:88px;
    background:rgba(82,10,27,.97);
  }

  .area-map__route{
    left:18px;
    right:18px;
    bottom:16px;
  }
}
/* ===== END MAP BUTTON CLEANUP ===== */


/* ===== VIDEO TOUR BLOCK ===== */
.video-tour{
  position:relative;
  overflow:hidden;
  padding:clamp(78px,7vw,116px) 0 clamp(74px,7vw,108px);
  color:#fff4e5;
  background:
    radial-gradient(circle at 18% 14%,rgba(160,47,70,.25),transparent 31%),
    radial-gradient(circle at 84% 80%,rgba(191,116,73,.18),transparent 29%),
    linear-gradient(135deg,#21030b 0%,#430816 48%,#651326 100%);
}
.video-tour__ambient{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.35;
  background:
    linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.016) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,transparent,black 15%,black 85%,transparent);
}
.video-tour__inner{position:relative}
.video-tour__header{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.75fr);
  gap:clamp(54px,7vw,112px);
  align-items:end;
  margin-bottom:clamp(46px,5vw,72px);
}
.video-tour__kicker{
  display:flex;
  align-items:center;
  gap:15px;
  margin:0 0 20px;
  color:#e2b15c;
  font-size:12px;
  font-weight:800;
  letter-spacing:.24em;
  text-transform:uppercase;
}
.video-tour__kicker::before{
  content:"";
  width:58px;
  height:1px;
  background:#d5a052;
}
.video-tour h2{
  margin:0;
  color:#fff7ea;
  font:400 clamp(52px,5vw,82px)/1.01 Georgia,"Times New Roman",serif;
  letter-spacing:-.045em;
}
.video-tour h2 span{color:#f0c36e}
.video-tour__intro{
  padding-bottom:4px;
  color:rgba(255,239,219,.72);
  font-size:clamp(16px,1.15vw,19px);
  line-height:1.72;
}
.video-tour__intro p{margin:0}
.video-tour__phrase{
  margin-bottom:18px !important;
  color:#f1c36d;
  font:italic 400 clamp(22px,2vw,30px)/1.35 Georgia,"Times New Roman",serif;
}
.video-tour__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(28px,4vw,62px);
  max-width:1120px;
  margin:0 auto;
}
.video-tour__card{min-width:0}
.video-tour__frame{
  position:relative;
  max-width:440px;
  margin:0 auto;
  aspect-ratio:9/16;
  overflow:hidden;
  border:1px solid rgba(240,191,99,.35);
  border-radius:34px;
  background:#160208;
  box-shadow:0 42px 88px rgba(12,0,4,.42);
}
.video-tour__frame::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(32,2,10,.04) 55%,rgba(31,2,9,.55) 100%);
  transition:opacity .25s ease;
}
.video-tour__frame.is-playing::after{opacity:0}
.video-tour__video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  background:#130207;
}
.video-tour__play{
  position:absolute;
  z-index:4;
  left:50%;
  top:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:15px;
  padding:0;
  color:#fff6e8;
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  border:0;
  background:none;
  transform:translate(-50%,-50%);
  cursor:pointer;
  transition:opacity .22s ease,transform .22s ease;
}
.video-tour__play:hover{transform:translate(-50%,-50%) scale(1.035)}
.video-tour__play-symbol{
  display:grid;
  place-items:center;
  width:78px;
  height:78px;
  padding-left:5px;
  color:#5b1023;
  font-size:24px;
  border:1px solid rgba(255,243,218,.72);
  border-radius:50%;
  background:linear-gradient(145deg,#f8d88f,#dca64e);
  box-shadow:0 18px 42px rgba(16,0,5,.32);
}
.video-tour__frame.is-playing .video-tour__play{
  opacity:0;
  pointer-events:none;
}
.video-tour__duration{
  position:absolute;
  z-index:3;
  right:20px;
  bottom:18px;
  padding:8px 11px;
  color:#fff1dc;
  font-size:12px;
  letter-spacing:.08em;
  border:1px solid rgba(239,190,98,.32);
  border-radius:999px;
  background:rgba(55,5,17,.76);
  backdrop-filter:blur(6px);
}
.video-tour__frame.is-playing .video-tour__duration{opacity:0}
.video-tour__caption{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:20px;
  max-width:440px;
  margin:25px auto 0;
  padding-top:23px;
  border-top:1px solid rgba(238,187,95,.22);
}
.video-tour__index{
  color:#e2b15d;
  font:400 16px/1 Georgia,"Times New Roman",serif;
  letter-spacing:.12em;
}
.video-tour__caption p{
  margin:0 0 9px;
  color:#dba85a;
  font-size:11px;
  font-weight:800;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.video-tour__caption h3{
  margin:0;
  color:#fff6e7;
  font:400 clamp(28px,2.4vw,39px)/1.08 Georgia,"Times New Roman",serif;
}
.video-tour__caption span{
  display:block;
  margin-top:12px;
  color:rgba(255,236,214,.66);
  font-size:15px;
  line-height:1.5;
}
.video-tour__footer{
  display:flex;
  justify-content:center;
  margin-top:clamp(44px,5vw,68px);
  padding-top:clamp(27px,3vw,40px);
  border-top:1px solid rgba(238,187,95,.18);
}
.video-tour__footer p{
  margin:0;
  color:rgba(255,237,215,.74);
  text-align:center;
  font:italic 400 clamp(20px,1.8vw,27px)/1.5 Georgia,"Times New Roman",serif;
}
@media(max-width:820px){
  .video-tour{padding:66px 0 74px}
  .video-tour__header{
    grid-template-columns:1fr;
    gap:25px;
    margin-bottom:42px;
  }
  .video-tour__grid{gap:28px}
  .video-tour__frame{border-radius:25px}
}
@media(max-width:650px){
  .video-tour__grid{
    grid-template-columns:1fr;
    gap:54px;
  }
  .video-tour__frame{max-width:390px}
  .video-tour__caption{max-width:390px}
}
@media(max-width:560px){
  .video-tour{padding:56px 0 62px}
  .video-tour h2{font-size:clamp(44px,12vw,58px)}
  .video-tour__play-symbol{width:68px;height:68px;font-size:21px}
  .video-tour__caption{grid-template-columns:42px minmax(0,1fr);gap:13px}
}
/* ===== END VIDEO TOUR BLOCK ===== */


/* ===== FINAL CONTACT BLOCK ===== */
.final-contact{
  position:relative;
  overflow:hidden;
  padding:clamp(78px,7vw,116px) 0 28px;
  color:#fff3df;
  background:
    radial-gradient(circle at 82% 18%,rgba(192,111,72,.22),transparent 29%),
    radial-gradient(circle at 12% 82%,rgba(129,25,46,.30),transparent 34%),
    linear-gradient(135deg,#21030b 0%,#430816 48%,#671426 100%);
}
.final-contact__glow{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.38;
  background:
    linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,transparent,black 16%,black 86%,transparent);
}
.final-contact__inner{position:relative}
.final-contact__header{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.72fr);
  gap:clamp(54px,7vw,112px);
  align-items:end;
  margin-bottom:clamp(44px,5vw,70px);
}
.final-contact__kicker{
  display:flex;
  align-items:center;
  gap:15px;
  margin:0 0 20px;
  color:#e2b15c;
  font-size:12px;
  font-weight:800;
  letter-spacing:.24em;
  text-transform:uppercase;
}
.final-contact__kicker::before{
  content:"";
  width:58px;
  height:1px;
  background:#d5a052;
}
.final-contact h2{
  margin:0;
  color:#fff7ea;
  font:400 clamp(50px,5vw,82px)/1.01 Georgia,"Times New Roman",serif;
  letter-spacing:-.045em;
}
.final-contact h2 span{
  display:block;
  margin-top:.08em;
  color:#f0c36e;
}
.final-contact__lead{
  margin:0 0 4px;
  color:rgba(255,239,219,.73);
  font-size:clamp(16px,1.15vw,19px);
  line-height:1.72;
}
.final-contact__composition{
  display:grid;
  grid-template-columns:minmax(390px,.82fr) minmax(0,1.18fr);
  overflow:hidden;
  border:1px solid rgba(240,190,98,.25);
  border-radius:34px;
  background:rgba(39,3,11,.36);
  box-shadow:0 38px 92px rgba(12,0,4,.34);
}
.final-contact__visual{
  position:relative;
  min-height:720px;
  margin:0;
  overflow:hidden;
  background:#1c0208;
}
.final-contact__visual::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 68%,rgba(41,3,12,.38));
}
.final-contact__visual img{
  width:100%;
  height:100%;
  min-height:720px;
  display:block;
  object-fit:cover;
  object-position:center;
}
.final-contact__panel{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(42px,5vw,78px);
  background:linear-gradient(155deg,rgba(112,19,40,.78),rgba(43,4,13,.90));
}
.final-contact__label{
  margin:0 0 14px;
  color:#e2b15c;
  font-size:11px;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.final-contact__panel h3{
  margin:0;
  color:#fff7e9;
  font:400 clamp(40px,4vw,62px)/1.05 Georgia,"Times New Roman",serif;
}
.final-contact__note{
  max-width:660px;
  margin:24px 0 0;
  color:rgba(255,237,216,.70);
  font-size:16px;
  line-height:1.72;
}
.final-contact__phone{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:34px;
  padding:24px 27px;
  color:#551023;
  text-decoration:none;
  border-radius:17px;
  background:linear-gradient(135deg,#f7d591,#e5b259);
  box-shadow:0 18px 42px rgba(13,0,4,.26);
  transition:transform .25s ease,filter .25s ease;
}
.final-contact__phone:hover{
  transform:translateY(-3px);
  filter:brightness(1.035);
}
.final-contact__phone span{
  font-size:11px;
  font-weight:800;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.final-contact__phone strong{
  font:400 clamp(31px,3vw,46px)/1.1 Georgia,"Times New Roman",serif;
}
.final-contact__messengers{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}
.final-contact__messengers a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:64px;
  padding:0 18px;
  color:#fff2df;
  text-decoration:none;
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  border:1px solid rgba(239,190,99,.37);
  border-radius:14px;
  background:rgba(41,3,12,.35);
  transition:transform .23s ease,background .23s ease,border-color .23s ease;
}
.final-contact__messengers a:hover{
  transform:translateY(-2px);
  background:rgba(106,16,37,.72);
  border-color:rgba(240,195,110,.72);
}
.final-contact__messengers i{
  color:#efc36f;
  font-size:20px;
  font-style:normal;
  font-weight:400;
}
.final-contact__address{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-top:30px;
  padding-top:25px;
  border-top:1px solid rgba(239,190,99,.18);
}
.final-contact__address span{
  color:#dba85a;
  font-size:10px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.final-contact__address strong{
  color:#fff1dd;
  font-size:17px;
  font-weight:500;
}
.final-contact__consent-note{
  margin:25px 0 0;
  color:rgba(255,232,207,.55);
  font-size:12px;
  line-height:1.65;
}
.final-contact__consent-note a{
  color:#e7b965;
  text-underline-offset:3px;
}
.site-footer{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:28px;
  align-items:center;
  margin-top:52px;
  padding:28px 0 0;
  border-top:1px solid rgba(239,190,99,.18);
}
.site-footer__brand{
  display:flex;
  align-items:center;
  gap:14px;
}
.site-footer__brand img{
  width:56px;
  height:auto;
}
.site-footer__brand div{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.site-footer__brand strong{
  color:#fff1dc;
  font:400 19px/1 Georgia,"Times New Roman",serif;
}
.site-footer__brand span{
  color:rgba(255,233,211,.53);
  font-size:11px;
}
.site-footer__legal{
  display:flex;
  gap:22px;
  justify-content:center;
}
.site-footer__legal a{
  color:rgba(255,234,212,.66);
  font-size:11px;
  text-decoration:none;
  border-bottom:1px solid rgba(239,190,99,.25);
}
.site-footer__legal a:hover{
  color:#efc36f;
}

.cookie-notice{
  position:fixed;
  z-index:1000;
  left:20px;
  right:20px;
  bottom:20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  max-width:960px;
  margin:0 auto;
  padding:17px 18px 17px 22px;
  color:#fff0dc;
  border:1px solid rgba(239,190,99,.43);
  border-radius:16px;
  background:rgba(55,6,18,.96);
  box-shadow:0 22px 58px rgba(20,0,6,.30);
  backdrop-filter:blur(14px);
}
.cookie-notice[hidden]{display:none}
.cookie-notice p{
  margin:0;
  font-size:13px;
  line-height:1.5;
}
.cookie-notice a{
  color:#efc36f;
  text-underline-offset:3px;
}
.cookie-notice button{
  flex:0 0 auto;
  min-height:44px;
  padding:0 22px;
  color:#581023;
  font-size:12px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
  border:0;
  border-radius:11px;
  background:linear-gradient(135deg,#f5d28d,#e3af56);
  cursor:pointer;
}
@media(max-width:900px){
  .final-contact__composition{
    grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr);
  }
  .site-footer{
    grid-template-columns:1fr;
  }
  .site-footer__legal{
    justify-content:flex-start;
    flex-wrap:wrap;
  }
}
@media(max-width:760px){
  .final-contact{padding:66px 0 24px}
  .final-contact__header{
    grid-template-columns:1fr;
    gap:25px;
    margin-bottom:42px;
  }
  .final-contact__composition{
    grid-template-columns:1fr;
  }
  .final-contact__visual,
  .final-contact__visual img{
    min-height:560px;
  }
  .final-contact__panel{
    padding:44px 34px 48px;
  }
}
@media(max-width:560px){
  .final-contact{padding:56px 0 22px}
  .final-contact h2{font-size:clamp(43px,12vw,58px)}
  .final-contact__visual,
  .final-contact__visual img{
    min-height:500px;
  }
  .final-contact__panel{
    padding:36px 23px 40px;
  }
  .final-contact__messengers{
    grid-template-columns:1fr;
  }
  .site-footer{
    grid-template-columns:1fr;
    gap:22px;
  }
  .site-footer__legal{
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
  }
  .cookie-notice{
    left:12px;
    right:12px;
    bottom:12px;
    flex-direction:column;
    align-items:stretch;
    gap:14px;
    padding:16px;
  }
  .cookie-notice button{width:100%}
}
/* ===== END FINAL CONTACT BLOCK ===== */


/* ===== FINAL AUDIT V28 ===== */
section[id]{scroll-margin-top:18px}

/* The storefront card keeps the entire tall building visible. */
.location-story__photo--shops{
  position:relative;
  min-height:520px;
  isolation:isolate;
  background:#3a0a16;
}
.location-story__photo--shops::before{
  content:"";
  position:absolute;
  inset:-18px;
  z-index:0;
  background:url("assets/location/house-storefront.jpg") center/cover no-repeat;
  filter:blur(18px) brightness(.68) saturate(.86);
  transform:scale(1.08);
}
.location-story__photo--shops img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  min-height:520px;
  object-fit:contain;
  object-position:center;
  background:rgba(40,5,14,.22);
}
.location-story__photo--shops::after{z-index:2}
.location-story__photo--shops figcaption{z-index:3}

/* A calm premium scenario panel instead of a repeated key image. */
.purchase-choice__visual--concept{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:690px;
  padding:clamp(42px,5vw,76px);
  text-align:center;
  background:
    radial-gradient(circle at 50% 28%,rgba(235,183,91,.16),transparent 28%),
    linear-gradient(145deg,rgba(111,18,40,.76),rgba(39,3,12,.94));
}
.purchase-choice__visual--concept::after{
  background:
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.014) 1px,transparent 1px);
  background-size:56px 56px;
  opacity:.55;
}
.purchase-choice__brand-mark{
  position:relative;
  z-index:2;
  width:min(180px,40%);
  height:auto;
  margin-bottom:25px;
  object-fit:contain;
  filter:drop-shadow(0 16px 30px rgba(0,0,0,.25));
}
.purchase-choice__visual-kicker{
  position:relative;
  z-index:2;
  margin:0 0 24px;
  color:#e8b760;
  font-size:11px;
  font-weight:800;
  letter-spacing:.24em;
  text-transform:uppercase;
}
.purchase-choice__doors{
  position:relative;
  z-index:2;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:20px;
  margin:0 0 32px;
}
.purchase-choice__door{
  position:relative;
  display:block;
  width:84px;
  height:132px;
  border:2px solid rgba(236,187,98,.72);
  border-radius:9px 9px 3px 3px;
  background:linear-gradient(155deg,#7b1830,#3a0814);
  box-shadow:0 20px 36px rgba(10,0,3,.25),inset 0 0 0 7px rgba(255,255,255,.025);
}
.purchase-choice__door--right{transform:scaleX(-1)}
.purchase-choice__door i{
  position:absolute;
  right:13px;
  top:64px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#efc36f;
  box-shadow:0 0 0 3px rgba(239,195,111,.13);
}
.purchase-choice__visual--concept h3{
  position:relative;
  z-index:2;
  margin:0;
  color:#fff5e4;
  font:400 clamp(32px,3.2vw,50px)/1.08 Georgia,"Times New Roman",serif;
}
.purchase-choice__visual-text{
  position:relative;
  z-index:2;
  max-width:510px;
  margin:22px 0 0;
  color:rgba(255,238,216,.68);
  font-size:16px;
  line-height:1.72;
}

/* Always-accessible call action. */
.floating-call{
  position:fixed;
  z-index:900;
  right:22px;
  bottom:22px;
  display:flex;
  align-items:center;
  gap:12px;
  min-width:176px;
  min-height:58px;
  padding:9px 19px 9px 11px;
  color:#fff4e2;
  text-decoration:none;
  border:1px solid rgba(239,190,99,.62);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(90,14,33,.97),rgba(52,5,16,.98));
  box-shadow:0 18px 48px rgba(28,0,8,.28);
  backdrop-filter:blur(14px);
  transition:transform .22s ease,box-shadow .22s ease,bottom .28s ease;
}
.floating-call:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 54px rgba(28,0,8,.36);
}
.floating-call__icon{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  flex:0 0 40px;
  color:#69152a;
  border-radius:13px;
  background:linear-gradient(135deg,#f6d18b,#e4af55);
  font-size:20px;
}
.floating-call__text{display:flex;flex-direction:column;gap:2px}
.floating-call__text small{
  color:rgba(255,237,216,.59);
  font-size:9px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.floating-call__text strong{
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.cookie-open .floating-call{bottom:108px}

/* Two-column footer after removing the redundant operator details. */
.site-footer{grid-template-columns:1fr auto}
.site-footer__legal{justify-content:flex-end;flex-wrap:wrap}

@media(max-width:900px){
  .location-story__photo--shops,
  .location-story__photo--shops img{min-height:480px}
  .site-footer{grid-template-columns:1fr}
  .site-footer__legal{justify-content:flex-start}
}
@media(max-width:760px){
  .purchase-choice__visual--concept{min-height:560px}
  .purchase-choice__door{width:72px;height:116px}
  .purchase-choice__door i{top:56px}
}
@media(max-width:560px){
  body{padding-bottom:82px}
  .floating-call{
    left:12px;
    right:12px;
    bottom:12px;
    justify-content:center;
    min-height:58px;
    border-radius:16px;
  }
  .floating-call__text{flex-direction:row;align-items:center;gap:8px}
  .floating-call__text small{display:none}
  body.cookie-open .floating-call{bottom:190px}
  .location-story__photo--shops,
  .location-story__photo--shops img{min-height:440px}
  .purchase-choice__visual--concept{min-height:500px;padding:40px 24px}
  .purchase-choice__brand-mark{width:130px}
  .purchase-choice__door{width:64px;height:104px}
  .purchase-choice__door i{top:50px;right:10px}
}
/* ===== END FINAL AUDIT V28 ===== */

/* Final specificity fixes */
.purchase-choice__visual--concept .purchase-choice__brand-mark{
  width:min(180px,40%);
  height:auto;
  min-height:0;
  max-height:180px;
  object-fit:contain;
  transform:none;
}
.purchase-choice__visual--concept:hover .purchase-choice__brand-mark{transform:none}
