/* index.html 페이지 전용 — 퍼블 원본 <style> 그대로(scripts/landing-convert.mjs) */
:root{color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html{scroll-padding-top:env(safe-area-inset-top,0px)}body{margin:0;padding:0;font:14px -apple-system,BlinkMacSystemFont,sans-serif;background:#fff;color:#000}img{max-width:100%}[hidden]:not([hidden=until-found i]){display:none!important}
/* Layout concept: 흰 바탕 위 '타워의 수직축' — 얇은 샴페인 라인과 층 번호(42F~71F)를 구조 표식으로 쓰는 단일 스크롤 랜딩 */
:root{
  --bg:#FFFFFF;
  --paper:#F6F4F1;        /* 섹션 교차 바탕, 웜 그레이 */
  --ink:#15212B;          /* 시그니엘 네이비 */
  --ink-2:#4A5560;
  --muted:#8A8F94;
  --line:#E4E0DA;
  --gold:#9C8262;         /* 시그니엘 샴페인 골드 */
  --gold-soft:#EFE9E0;
  --navy-deep:#0F1922;
  --ok:#2F6B55;
  --f-logo:"Cinzel","Cormorant Garamond",Georgia,serif;
  --f-en:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --f-ko:"Pretendard","Noto Sans KR",-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --gut:max(20px, env(safe-area-inset-left,0px));
  --gutr:max(20px, env(safe-area-inset-right,0px));
  --wrap:1240px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-ko);font-size:16px;line-height:1.65;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;word-break:keep-all}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--gut);padding-right:var(--gutr)}
.num{font-variant-numeric:tabular-nums}
.en{font-family:var(--f-en)}

/* ───────── header ───────── */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--bg)}
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;gap:28px;height:76px}
.brand{display:flex;align-items:center;gap:18px;flex:none}
.logo{display:flex;flex-direction:column;align-items:center;line-height:1}
.logo b{font-family:var(--f-logo);font-weight:400;font-size:25px;letter-spacing:.32em;margin-right:-.32em;color:var(--ink)}
.logo i{font-style:normal;font-family:var(--f-ko);font-size:8px;font-weight:600;letter-spacing:.62em;margin-right:-.62em;margin-top:6px;color:var(--ink)}
.brand .sep{width:1px;height:30px;background:var(--line)}
.brand .site{font-size:15px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.brand .site small{display:block;font-size:11px;font-weight:500;color:var(--gold);letter-spacing:.08em;margin-top:2px}
.gnb{display:flex;gap:20px;margin-left:auto;font-size:14px;color:var(--ink-2);white-space:nowrap}
.gnb a{padding:6px 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.gnb a:hover{color:var(--ink);border-color:var(--gold)}
.hdr-call{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--ink);color:#fff;font-size:14px;font-weight:600;border-radius:2px;white-space:nowrap}
.hdr-call:hover{background:var(--navy-deep)}
@media (max-width:1320px){.gnb{display:none}.hdr-call{margin-left:auto}}
@media (max-width:560px){.hdr .wrap{height:64px;gap:12px}.logo b{font-size:19px}.logo i{font-size:6.5px}.brand{gap:12px}.brand .site{font-size:13px}.brand .site small{display:none}.hdr-call span{display:none}.hdr-call{padding:10px 12px}}

/* ───────── shared section ───────── */
section{padding-block:120px}
section.alt{background:var(--paper)}
.sh{display:grid;grid-template-columns:200px 1fr;gap:40px;margin-bottom:56px;align-items:end}
.sh .tag{font-family:var(--f-en);font-size:15px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);border-top:1px solid var(--gold);padding-top:14px;align-self:start}
.sh h2{margin:0;font-size:clamp(28px,3.4vw,42px);line-height:1.25;font-weight:600;letter-spacing:-.035em;text-wrap:balance}
.sh p{margin:14px 0 0;color:var(--ink-2);max-width:62ch}
@media (max-width:760px){section{padding-block:80px}.sh{grid-template-columns:1fr;gap:16px;margin-bottom:36px}.sh .tag{border-top:none;padding-top:0}}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:54px;padding:0 28px;font-size:15px;font-weight:600;border-radius:2px;border:1px solid var(--ink);transition:background .2s,color .2s;cursor:pointer;background:var(--ink);color:#fff}
.btn:hover{background:var(--navy-deep)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:#fff}
.btn.gold{background:var(--gold);border-color:var(--gold)}
.btn.gold:hover{background:#86704f}
.arrow{width:16px;height:1px;background:currentColor;position:relative}
.arrow::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}

.tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:36px;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:none;padding:14px 22px;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--muted);font-size:15px;font-weight:500;cursor:pointer;white-space:nowrap}
.tab[aria-selected="true"]{color:var(--ink);border-color:var(--ink);font-weight:600}
.tab:hover{color:var(--ink)}

/* ───────── hero ───────── */
.hero{padding-block:72px 96px;position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:64px;align-items:center}
.eyebrow{display:flex;align-items:center;gap:14px;font-family:var(--f-en);font-size:15px;letter-spacing:.22em;color:var(--gold);text-transform:uppercase}
.eyebrow::before{content:"";width:40px;height:1px;background:var(--gold)}
.hero h1{margin:22px 0 0;font-size:clamp(38px,5.4vw,68px);line-height:1.12;font-weight:600;letter-spacing:-.045em;text-wrap:balance}
.hero h1 em{display:block;font-style:normal;font-weight:300;color:var(--ink-2);font-size:.62em;letter-spacing:-.03em;margin-top:10px}
.hero .lead{margin:26px 0 0;font-size:17px;color:var(--ink-2);max-width:46ch}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.facts{display:grid;grid-template-columns:repeat(4,1fr);margin-top:52px;border-top:1px solid var(--line)}
.facts div{padding:18px 0 0;border-right:1px solid var(--line);padding-right:12px;padding-left:16px}
.facts div:first-child{padding-left:0}
.facts div:last-child{border-right:0}
.facts b{display:block;font-family:var(--f-en);font-size:34px;font-weight:500;line-height:1;letter-spacing:0}
.facts b small{font-size:17px;margin-left:2px}
.facts span{display:block;margin-top:8px;font-size:13px;color:var(--muted)}
.hero-visual{position:relative;display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:auto auto;gap:14px}
.hero-visual figure{margin:0;overflow:hidden;background:var(--paper)}
.hero-visual .main{grid-row:1/3;aspect-ratio:506/682}
.hero-visual .sub1{aspect-ratio:410/330}
.hero-visual .sub2{aspect-ratio:412/330}
.hero-visual img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.hero-visual figure:hover img{transform:scale(1.04)}
.hero-visual .badge{position:absolute;left:-28px;bottom:36px;background:var(--bg);padding:18px 22px;border:1px solid var(--line);box-shadow:0 20px 40px -24px rgba(21,33,43,.35)}
.hero-visual .badge b{display:block;font-family:var(--f-en);font-size:30px;font-weight:500;line-height:1}
.hero-visual .badge span{font-size:12px;color:var(--muted)}
@media (max-width:960px){.hero .wrap{grid-template-columns:1fr;gap:48px}.hero-visual .badge{left:12px}}
@media (max-width:560px){.facts{grid-template-columns:repeat(2,1fr)}.facts div{padding-left:0!important;border-right:0;padding-bottom:16px}.facts b{font-size:28px}}

/* quick strip */
.quick{background:var(--ink);color:#fff}
.quick .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.quick a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:26px 24px;border-right:1px solid rgba(255,255,255,.12);transition:background .2s}
.quick a:first-child{border-left:1px solid rgba(255,255,255,.12)}
.quick a:hover{background:rgba(255,255,255,.06)}
.quick b{font-size:16px;font-weight:600}
.quick small{display:block;font-size:12px;color:rgba(255,255,255,.55);font-family:var(--f-en);letter-spacing:.14em;text-transform:uppercase;margin-bottom:4px}
@media (max-width:860px){.quick .wrap{grid-template-columns:repeat(2,1fr);padding:0}.quick a{border-bottom:1px solid rgba(255,255,255,.12);padding:20px}.quick a:first-child{border-left:0}}

/* ───────── overview ───────── */
.ov{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.spec{width:100%;border-collapse:collapse;font-size:15px}
.spec th,.spec td{padding:16px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.spec th{width:132px;font-weight:500;color:var(--muted)}
.spec td{font-weight:500}
.spec tr:first-child th,.spec tr:first-child td{border-top:1px solid var(--ink)}
.ov-img{margin:0}
.ov-img img{width:100%}
.ov-img figcaption{font-size:13px;color:var(--muted);margin-top:10px}
.stack{margin-top:72px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:56px;align-items:center}
.zones{list-style:none;margin:0;padding:0}
.zones li{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);align-items:baseline}
.zones li b{font-family:var(--f-en);font-size:19px;font-weight:500;letter-spacing:.02em}
.zones li span{font-size:15px;color:var(--ink-2)}
.zones li.hl{background:var(--gold-soft);margin:0 -16px;padding:16px;border-bottom-color:transparent}
.zones li.hl b,.zones li.hl strong{color:var(--ink)}
@media (max-width:960px){.ov,.stack{grid-template-columns:1fr;gap:36px}}

/* ───────── types ───────── */
.concept{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,2fr);gap:48px;margin-bottom:40px;align-items:center}
.designer{display:flex;gap:20px;align-items:center}
.designer img{width:128px;aspect-ratio:187/119;object-fit:cover;filter:grayscale(1)}
.designer .nm{font-size:13px;color:var(--muted)}
.designer .nm b{display:block;font-size:17px;color:var(--ink);font-weight:600;margin-bottom:2px}
.concept h3{margin:0 0 10px;font-family:var(--f-en);font-weight:500;font-size:44px;letter-spacing:.14em;line-height:1}
.concept p{margin:0;color:var(--ink-2);font-size:15px}
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}
.tcard{background:var(--bg);border:1px solid var(--line);display:flex;flex-direction:column}
.tcard .pic{aspect-ratio:4/3;background:#fff;display:flex;align-items:center;justify-content:center;padding:14px;border-bottom:1px solid var(--line);overflow:hidden;cursor:zoom-in}
.tcard .pic img{max-height:100%;object-fit:contain;transition:transform .5s}
.tcard:hover .pic img{transform:scale(1.04)}
.tcard .body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:14px;flex:1}
.tcard .ttl{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.tcard .ttl b{font-family:var(--f-en);font-size:30px;font-weight:500;line-height:1;letter-spacing:.02em}
.tcard .ttl span{font-size:13px;color:var(--muted)}
.price-rows{list-style:none;margin:0;padding:0;font-size:14px}
.price-rows li{display:grid;grid-template-columns:44px 1fr;gap:2px 10px;padding:10px 0;border-top:1px solid var(--line);align-items:baseline}
.price-rows li > span:nth-child(2){font-weight:600;white-space:nowrap}
.price-rows .dir{color:var(--gold);font-weight:600}
.price-rows .pp{grid-column:2;color:var(--muted);font-size:12px}
.tcard .mini{margin-top:auto;display:flex;gap:8px}
.tcard .mini a{flex:1;text-align:center;font-size:13px;font-weight:600;padding:11px 0;border:1px solid var(--line);transition:border-color .2s,background .2s}
.tcard .mini a:hover{border-color:var(--ink)}
.tcard .mini a.s{background:var(--ink);color:#fff;border-color:var(--ink)}
.note{font-size:13px;color:var(--muted);margin-top:22px}
.ph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.ph-grid div{background:var(--bg);padding:26px 22px}
.ph-grid b{font-family:var(--f-en);font-size:30px;font-weight:500;display:block;line-height:1}
.ph-grid span{display:block;margin-top:10px;font-size:14px;color:var(--ink-2)}
@media (max-width:860px){.concept{grid-template-columns:1fr;gap:20px}.concept h3{font-size:34px}}

/* ───────── floor plan ───────── */
.fl{display:grid;grid-template-columns:220px minmax(0,1fr) minmax(0,.9fr);gap:40px;align-items:start}
.fl-axis{position:relative;display:flex;flex-direction:column;gap:6px}
.fl-axis button{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;text-align:left;background:none;border:0;padding:14px 16px;border-left:2px solid var(--line);cursor:pointer;color:var(--muted)}
.fl-axis button b{font-family:var(--f-en);font-size:22px;font-weight:500;color:inherit;letter-spacing:.02em}
.fl-axis button span{font-size:13px}
.fl-axis button[aria-selected="true"]{border-color:var(--gold);color:var(--ink);background:var(--paper)}
.fl-axis button:hover{color:var(--ink)}
.fl-plate{margin:0;background:#64666A;padding:16px}
.fl-plate img{width:100%;aspect-ratio:1;object-fit:contain}
.fl-info h3{margin:0;font-size:26px;font-weight:600;letter-spacing:-.03em}
.fl-info .sub{color:var(--muted);font-size:14px;margin-top:4px}
.fl-info table{width:100%;border-collapse:collapse;margin-top:22px;font-size:14px}
.fl-info th,.fl-info td{padding:11px 0;border-bottom:1px solid var(--line);text-align:left}
.fl-info th{color:var(--muted);font-weight:500;font-size:13px}
.fl-info td b{font-family:var(--f-en);font-size:19px;font-weight:500}
.fl-wide{margin-top:56px;background:#64666A;padding:20px}
.fl-wide img{width:100%}
@media (max-width:1060px){.fl{grid-template-columns:1fr 1fr}.fl-axis{grid-column:1/-1;flex-direction:row;overflow-x:auto}.fl-axis button{border-left:0;border-bottom:2px solid var(--line);flex:none}}
@media (max-width:640px){.fl{grid-template-columns:1fr}}

/* ───────── listings ───────── */
.ltools{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin-bottom:28px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--line);background:var(--bg);padding:9px 18px;font-size:14px;border-radius:40px;cursor:pointer;color:var(--ink-2)}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.live{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2)}
.live::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px rgba(47,107,85,.15)}
.lgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px}
.lc{border:1px solid var(--line);background:var(--bg);display:flex;flex-direction:column;transition:box-shadow .25s,transform .25s}
.lc:hover{box-shadow:0 22px 40px -28px rgba(21,33,43,.45);transform:translateY(-2px)}
.lc .im{position:relative;aspect-ratio:16/10;background:#fff;overflow:hidden;border-bottom:1px solid var(--line)}
.lc .im img{width:100%;height:100%;object-fit:contain;padding:10px}
.lc .deal{position:absolute;left:12px;top:12px;font-size:12px;font-weight:700;padding:5px 10px;background:var(--ink);color:#fff}
.lc .deal.r{background:var(--gold)}
.lc .smp{position:absolute;right:10px;top:12px;font-size:11px;padding:4px 8px;background:var(--gold-soft);color:var(--gold);font-weight:600}
.lc .bd{padding:18px 20px 20px;display:flex;flex-direction:column;gap:6px;flex:1}
.lc .pr{font-size:22px;font-weight:700;letter-spacing:-.03em}
.lc .meta{font-size:14px;color:var(--ink-2)}
.lc .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.lc .tags span{font-size:12px;color:var(--ink-2);background:var(--paper);padding:4px 8px}
.lc .go{margin-top:auto;padding-top:14px;font-size:13px;font-weight:600;color:var(--gold);display:flex;gap:8px;align-items:center}
.empty{grid-column:1/-1;padding:56px;text-align:center;border:1px dashed var(--line);color:var(--muted)}

.reco{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:0;border:1px solid var(--line);background:var(--bg)}
.reco .l{padding:40px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:14px}
.reco .l .k{font-family:var(--f-en);font-size:52px;line-height:1;font-weight:500}
.reco .l p{margin:0;color:var(--ink-2);font-size:15px}
.reco .r{display:grid;grid-template-columns:1fr 1fr;gap:0}
.reco .r .lc{border:0;border-left:1px solid var(--line)}
.reco .r .lc:first-child{border-left:0}
.reco .r .lc:hover{transform:none}
@media (max-width:900px){.reco{grid-template-columns:1fr}.reco .l{border-right:0;border-bottom:1px solid var(--line);padding:28px}.reco .r{grid-template-columns:1fr}.reco .r .lc{border-left:0;border-top:1px solid var(--line)}.reco .r .lc:first-child{border-top:0}}

/* ───────── trades ───────── */
.tr{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:56px;align-items:start}
.tbl-wrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:14px;min-width:520px}
.tbl th{font-weight:500;color:var(--muted);font-size:13px;text-align:left;padding:12px 10px;border-bottom:1px solid var(--ink)}
.tbl td{padding:15px 10px;border-bottom:1px solid var(--line)}
.tbl td.p{font-weight:700;text-align:right}
.tbl th.p{text-align:right}
.tbl tr.pin td{background:var(--gold-soft)}
.chart{border:1px solid var(--line);padding:24px 24px 18px;background:var(--bg)}
.chart h4{margin:0 0 4px;font-size:16px;font-weight:600}
.chart .s{font-size:13px;color:var(--muted);margin-bottom:12px}
.chart svg{width:100%;height:auto;display:block}
.chart text{font-family:var(--f-ko);fill:var(--ink-2)}
.legend{display:flex;gap:18px;font-size:12px;color:var(--ink-2);margin-top:8px}
.legend i{display:inline-block;width:10px;height:10px;margin-right:6px;vertical-align:-1px}
.rent{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.rent div{background:var(--bg);padding:18px 20px}
.rent b{display:block;font-size:20px;font-weight:700}
.rent span{font-size:13px;color:var(--muted)}
@media (max-width:960px){.tr{grid-template-columns:1fr;gap:32px}}

/* ───────── hotel service ───────── */
.svc-hero{position:relative;color:#fff;background:var(--navy-deep)}
.svc-hero img{width:100%;height:clamp(220px,30vw,420px);object-fit:cover}
.svc-hero .cap{padding:30px var(--gutr) 34px var(--gut);background:var(--navy-deep)}
.svc-hero .cap .wrap{padding:0}
.svc-hero h3{margin:0;font-size:clamp(22px,3vw,32px);font-weight:600;letter-spacing:-.03em}
.svc-hero p{margin:6px 0 0;color:rgba(255,255,255,.75);font-size:15px}
.sgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:40px}
.si{margin:0}
.si .ph{aspect-ratio:5/4;overflow:hidden;background:var(--paper)}
.si img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.si:hover img{transform:scale(1.05)}
.si figcaption{padding:12px 0 0}
.si b{display:block;font-family:var(--f-en);font-size:15px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.si span{display:block;font-size:13px;color:var(--ink-2);margin-top:2px}
@media (max-width:1060px){.sgrid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.sgrid{grid-template-columns:repeat(2,1fr)}}
.sub-h{display:flex;align-items:baseline;gap:16px;margin:88px 0 26px;padding-top:24px;border-top:1px solid var(--line)}
.sub-h h3{margin:0;font-size:24px;font-weight:600;letter-spacing:-.03em}
.sub-h span{font-family:var(--f-en);color:var(--gold);letter-spacing:.18em;font-size:14px;text-transform:uppercase}
.am{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px;align-items:center}
.am3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.am-plan{margin:0;background:var(--paper);padding:14px}
@media (max-width:860px){.am{grid-template-columns:1fr}.am3{grid-template-columns:1fr 1fr}}
.comm{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;align-items:center}
.comm figure{margin:0}
.zone-list{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.zone-list h4{margin:0 0 8px;font-family:var(--f-en);font-size:17px;letter-spacing:.12em;font-weight:600;display:flex;align-items:center;gap:10px}
.zone-list h4 i{width:22px;height:3px}
.zone-list ul{margin:0;padding:0;list-style:none;font-size:14px;color:var(--ink-2);line-height:1.9}
@media (max-width:960px){.comm{grid-template-columns:1fr}}
.bene{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.bene > div{background:var(--bg);padding:34px}
.bene h4{margin:0 0 18px;font-family:var(--f-en);font-weight:500;font-size:28px;letter-spacing:.06em}
.bene ul{margin:0;padding:0;list-style:none}
.bene li{padding:12px 0;border-top:1px solid var(--line);font-size:15px}
.bene li b{font-weight:600}
.bene li small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
@media (max-width:760px){.bene{grid-template-columns:1fr}.bene > div{padding:24px}}
.cmp-img{margin:0;border:1px solid var(--line)}

/* gallery */
.gal{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.3fr;gap:12px}
.gal figure{margin:0;overflow:hidden;aspect-ratio:3/4;background:var(--paper);cursor:zoom-in}
.gal figure.w{aspect-ratio:auto}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.gal figure:hover img{transform:scale(1.04)}
@media (max-width:860px){.gal{grid-template-columns:1fr 1fr}}

/* ───────── forms ───────── */
.forms{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:start}
.f-side h3{margin:0;font-size:30px;font-weight:600;letter-spacing:-.035em;line-height:1.3}
.f-side p{color:var(--ink-2);margin:16px 0 0}
.steps{list-style:none;padding:0;margin:32px 0 0;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;gap:12px;padding:16px 0;border-top:1px solid var(--line);font-size:15px}
.steps li::before{content:"0" counter(s);font-family:var(--f-en);font-size:22px;color:var(--gold);line-height:1.1}
.steps li b{display:block;font-weight:600}
.steps li span{color:var(--muted);font-size:13px}
.callbox{margin-top:28px;padding:22px 24px;background:var(--ink);color:#fff}
.callbox small{display:block;font-size:12px;color:rgba(255,255,255,.6);letter-spacing:.12em}
.callbox b{font-family:var(--f-en);font-size:34px;font-weight:500;letter-spacing:.02em;user-select:all}
form.fm{background:var(--bg);border:1px solid var(--line);padding:36px}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}
.fg .full{grid-column:1/-1}
.fd label{display:block;font-size:13px;font-weight:600;margin-bottom:8px;color:var(--ink)}
.fd label i{font-style:normal;color:var(--gold)}
.fd input,.fd select,.fd textarea{width:100%;height:50px;padding:0 14px;border:1px solid var(--line);background:var(--bg);border-radius:2px;font-size:15px;transition:border-color .2s}
.fd textarea{height:110px;padding:12px 14px;resize:vertical}
.fd input:focus,.fd select:focus,.fd textarea:focus{outline:none;border-color:var(--ink)}
.seg{display:flex;border:1px solid var(--line)}
.seg label{flex:1;margin:0;text-align:center;cursor:pointer;font-weight:500;font-size:14px;padding:13px 0;border-right:1px solid var(--line)}
.seg label:last-child{border-right:0}
.seg input{position:absolute;opacity:0;width:1px;height:1px}
.seg label:has(input:checked){background:var(--ink);color:#fff}
.seg label:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:-2px}
.agree{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--ink-2);margin-top:4px}
.agree input{width:18px;height:18px;margin-top:2px;accent-color:var(--ink)}
.fm .btn{width:100%;margin-top:24px;height:58px;font-size:16px}
.done{padding:48px 24px;text-align:center}
.done b{display:block;font-size:22px;margin-bottom:8px}
.done p{color:var(--ink-2);margin:0}
.ferr{color:#A1392F;font-size:13px;margin-top:10px}
@media (max-width:960px){.forms{grid-template-columns:1fr;gap:36px}form.fm{padding:24px}}
@media (max-width:520px){.fg{grid-template-columns:1fr}}

/* monthly */
.monthly{background:var(--navy-deep);color:#fff;position:relative;overflow:hidden}
.monthly .bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.4}
.monthly .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.monthly .eyebrow{color:#CDB894}
.monthly .eyebrow::before{background:#CDB894}
.monthly h2{margin:18px 0 0;font-size:clamp(28px,3.6vw,44px);line-height:1.25;font-weight:600;letter-spacing:-.04em}
.monthly p{color:rgba(255,255,255,.72);margin:16px 0 0}
.mform{display:grid;gap:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);padding:30px}
.mform input:not([type=checkbox]),.mform select{height:52px;padding:0 14px;background:rgba(255,255,255,.95);border:0;border-radius:2px;color:var(--ink);width:100%}
.mform .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mform .agree{color:rgba(255,255,255,.7)}
.mform .btn{height:56px;width:100%}
@media (max-width:900px){.monthly .wrap{grid-template-columns:1fr;gap:32px}.mform .row{grid-template-columns:1fr}}

/* ───────── footer ───────── */
footer{background:#fff;border-top:1px solid var(--line);padding-block:56px 110px;font-size:13px;color:var(--ink-2)}
footer .wrap{display:grid;grid-template-columns:auto 1fr;gap:56px}
footer .fn{font-size:17px;font-weight:700;color:var(--ink);margin-bottom:14px}
footer dl{display:flex;flex-wrap:wrap;gap:6px 22px;margin:0}
footer dl div{display:flex;gap:6px}
footer dt{color:var(--muted)}
footer dd{margin:0}
footer .disc{margin-top:22px;font-size:12px;color:var(--muted);line-height:1.7;max-width:90ch}
footer .copy{margin-top:16px;font-size:12px;color:var(--muted);font-family:var(--f-en);letter-spacing:.08em}
@media (max-width:760px){footer .wrap{grid-template-columns:1fr;gap:24px}}

/* mobile bottom bar */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:55;display:none;grid-template-columns:1fr 1fr 1.3fr;background:var(--ink);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
.mbar a{color:#fff;text-align:center;font-size:14px;font-weight:600;padding:16px 0;border-right:1px solid rgba(255,255,255,.14)}
.mbar a:last-child{background:var(--gold);border:0}
@media (max-width:860px){.mbar{display:grid}}
.top-btn{position:fixed;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:54;width:52px;height:52px;border-radius:50%;background:var(--bg);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 24px -14px rgba(21,33,43,.5);font-family:var(--f-en);font-size:12px;letter-spacing:.1em}
@media (max-width:860px){.top-btn{bottom:calc(72px + env(safe-area-inset-bottom,0px))}}

/* lightbox */
.lb{position:fixed;inset:0;z-index:100;background:rgba(10,16,22,.92);display:flex;align-items:center;justify-content:center;padding:max(24px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.lb img{max-height:88vh;max-width:min(1400px,100%);object-fit:contain;background:#fff}
.lb button{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));right:calc(16px + env(safe-area-inset-right,0px));background:none;border:1px solid rgba(255,255,255,.4);color:#fff;width:44px;height:44px;border-radius:50%;font-size:20px;cursor:pointer}

/* reveal (visible at rest) */
.rv{transition:opacity .9s ease,transform .9s ease}
.js .rv.pre{opacity:.001;transform:translateY(18px)}
