/* Price: one figure, one building */
.pr-hero{position:relative;height:calc(var(--vh)*100);min-height:560px;overflow:hidden;background:var(--saffron);isolation:isolate}
.pr-hero .nv-plate{z-index:-1}
.pr-hero .nv-plate img{object-position:50% 100%}
.pr-hero__t{position:absolute;left:var(--gut);right:var(--gut);bottom:calc(var(--vh)*3)}
.pr-hero__h{font-size:min(7.3vw,calc(var(--vh)*12.6));line-height:1.06;letter-spacing:-.016em;white-space:nowrap}
.pr-hero__h span{font-weight:700;letter-spacing:-.026em}

.plan{padding:clamp(48px,calc(var(--vh)*8),96px) var(--gut) clamp(44px,calc(var(--vh)*7),84px);background:linear-gradient(var(--marigold),var(--saffron) 42%,var(--saffron))}
.plan__top{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(20px,4vw,64px);align-items:end;margin-bottom:clamp(22px,3vw,44px)}
.plan__h{font-size:var(--d2);line-height:1.03;letter-spacing:-.02em}
.plan__h b{display:block;font-weight:700;letter-spacing:-.03em}
.fp{--w:3px;position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));border:calc(var(--w)*2) solid var(--ink);background:var(--saffron)}
.room{position:relative;display:flex;flex-direction:column;gap:3px;min-height:clamp(170px,17.4vw,270px);padding:12px clamp(12px,1.3vw,20px) 18px;box-shadow:inset 0 0 0 calc(var(--w)/2 + .5px) var(--ink);transition:background-color .22s}
a.room:hover{background:var(--bone)}
a.room:active{background:var(--peach)}
a.room:focus-visible{outline:3px solid var(--ruby);outline-offset:-7px}
.room__t{font-family:var(--serif);font-size:var(--d4);line-height:1.06;letter-spacing:-.012em}
.room__d{font-size:var(--t-small);line-height:1.36;max-width:24em}
.room--a{grid-column:1/6}.room--b{grid-column:6/9}.room--c{grid-column:9/11}.room--d{grid-column:11/13}
.room--e{grid-column:1/4}.room--f{grid-column:4/7}.room--g{grid-column:7/9}.room--y{grid-column:9/11;background:var(--padpa)}.room--x{grid-column:11/13;background:var(--ruby);color:var(--bone)}
.room--a .room__t{font-size:var(--d3)}
.room--c .room__t,.room--d .room__t{font-size:clamp(26px,2.6vw,44px)}
/* doors: a gap in the wall on the hall side, and the swing of the door */
.room::after{content:"";position:absolute;left:clamp(14px,1.6vw,26px);width:38px;height:calc(var(--w)*2);background:var(--bone)}
.room--a::after,.room--b::after,.room--c::after,.room--d::after{bottom:0}
.room--e::after,.room--f::after,.room--g::after,.room--y::after,.room--x::after{top:0}
.hall{position:relative;grid-column:1/13;min-height:clamp(112px,11.5vw,170px);background:var(--bone);overflow:hidden}
.hall__in{position:absolute;left:clamp(14px,1.6vw,26px);top:10px;display:flex;flex-direction:column;gap:1px;max-width:300px}
.hall__t{font-family:var(--serif);font-size:var(--d4);line-height:1.04;letter-spacing:-.012em}
.hall__walk{--man:clamp(52px,6vw,86px);position:absolute;left:clamp(330px,33%,470px);bottom:clamp(8px,1vw,14px);width:0;height:0}
.hall__walk .nv-man{left:0;bottom:0}
.plan__block{display:grid;grid-template-columns:repeat(4,auto);justify-content:end;gap:0;margin-top:-6px;margin-left:auto;width:max-content;max-width:100%;border:calc(3px*2) solid var(--ink);background:var(--bone)}
.plan__block div{padding:6px 14px 8px;border-left:1px solid var(--rule-ink)}
.plan__block div:first-child{border-left:0}
.plan__block dd{font-family:var(--serif);font-size:var(--d5);line-height:1.1;white-space:nowrap}

.fine{padding:clamp(40px,calc(var(--vh)*6),72px) var(--gut) clamp(40px,calc(var(--vh)*6),72px);background:var(--ruby);color:var(--bone)}
.fine__k{font-weight:400;margin-bottom:clamp(12px,1.6vw,22px)}
.fine__p{font-family:var(--serif);font-size:clamp(38px,5.5vw,96px);line-height:1.08;letter-spacing:-.016em}
.fine__p b{font-weight:700;letter-spacing:-.024em;color:var(--saffron)}
.fine__e{margin-top:clamp(14px,2vw,26px)}

.fair{padding:clamp(48px,calc(var(--vh)*8),96px) var(--gut);background:var(--bone)}
.fair__top{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(20px,4vw,64px);align-items:end}
.fair__h{font-size:var(--d2);line-height:1.03;letter-spacing:-.02em}
.fair__v{font-family:var(--serif);font-style:italic;font-size:var(--d4);line-height:1.12;padding-bottom:.2em}
.cmp{width:100%;border-collapse:collapse;margin-top:clamp(24px,3vw,44px);table-layout:fixed}
.cmp thead th{font-family:var(--serif);font-size:var(--d4);line-height:1.08;font-weight:400;text-align:left;padding:0 clamp(12px,2vw,32px) 10px 0;vertical-align:bottom}
.cmp thead th:nth-child(2){font-weight:700;letter-spacing:-.022em}
.cmp thead td{width:24%}
.cmp tbody th{font-weight:600;font-size:var(--t-body);line-height:1.34;text-align:left;vertical-align:top}
.cmp tbody td{font-size:var(--t-lede);line-height:1.34;vertical-align:top}
.cmp tbody th,.cmp tbody td{padding:11px clamp(12px,2vw,32px) 13px 0;border-top:1px solid var(--rule-ink)}
.cmp tbody tr:first-child>*{border-top:2px solid var(--ink)}
.cmp tbody tr:last-child>*{border-bottom:2px solid var(--ink)}
.cmp tbody td:nth-child(2){background:linear-gradient(90deg,rgba(255,193,23,.34),rgba(255,193,23,.34)) 0 0/calc(100% - 16px) 100% no-repeat;padding-left:12px}
.cmp thead th:nth-child(2){padding-left:12px}
.fair__b{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,3.5fr) minmax(0,3.5fr);gap:clamp(20px,4vw,64px);margin-top:clamp(26px,3.4vw,48px)}
.fair__c h3{font-size:var(--d4);line-height:1.06;letter-spacing:-.012em;margin-bottom:.22em}
.fair__c p{font-size:var(--t-body);line-height:1.46}

.pr-ask{--q-rule:var(--rule-bone);padding:clamp(48px,calc(var(--vh)*7),84px) var(--gut) clamp(48px,calc(var(--vh)*7),84px);background:var(--plum);color:var(--bone)}
.pr-ask__h{font-size:var(--d2);line-height:1.03;letter-spacing:-.02em;margin-bottom:.34em}
.pr-ask .nv-ph{white-space:normal}

@media (max-width:1100px){
  .room--a{grid-column:1/5}.room--b{grid-column:5/8}.room--c{grid-column:8/10}.room--d{grid-column:10/13}
  .room--c .room__t,.room--d .room__t{font-size:clamp(23px,2.6vw,32px)}
  .room--y .room__t,.room--x .room__t,.room--g .room__t{font-size:clamp(23px,2.6vw,32px)}
}
@media (max-width:820px){
  .pr-hero{height:auto;min-height:0;display:flex;flex-direction:column}
  .pr-hero .nv-plate{position:relative;inset:auto;display:block;width:100%;aspect-ratio:1/1;margin-top:var(--nav-h);z-index:0}
  .pr-hero .nv-plate img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .pr-hero__t{position:relative;left:auto;right:auto;bottom:auto;padding:12px var(--gut) 22px;background:var(--marigold)}
  .pr-hero__h{font-size:7vw}
  .plan__top,.fair__top,.fair__b{grid-template-columns:minmax(0,1fr)}
  .fp{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .room{min-height:0;padding-bottom:14px}
  .room::after{display:none}
  .hall{order:-1;grid-column:1/-1;min-height:118px}
  .hall__walk{left:auto;right:20px;--man:60px}
  .room--a,.room--d,.room--y,.room--x{grid-column:1/-1}
  .room--b,.room--c,.room--e,.room--f,.room--g{grid-column:auto}
  .room--g{grid-column:1/-1}
  .room--a .room__t,.room--c .room__t,.room--d .room__t,.room--g .room__t,.room--y .room__t,.room--x .room__t{font-size:var(--d4)}
  .plan__block{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%}
  .plan__block div:nth-child(3){border-left:0}
  .plan__block div:nth-child(n+3){border-top:1px solid var(--rule-ink)}
  .plan__block dd{white-space:normal}
  .cmp,.cmp tbody,.cmp tr,.cmp tbody th,.cmp tbody td{display:block;width:100%}
  .cmp thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .cmp tbody tr{padding:10px 0 12px;border-top:1px solid var(--rule-ink)}
  .cmp tbody tr:first-child{border-top:2px solid var(--ink)}
  .cmp tbody tr:last-child{border-bottom:2px solid var(--ink)}
  .cmp tbody tr>*,.cmp tbody tr:first-child>*,.cmp tbody tr:last-child>*{border:0;padding:0}
  .cmp tbody th{font-family:var(--serif);font-weight:400;font-size:var(--d5);line-height:1.12;margin-bottom:6px}
  .cmp tbody td:nth-child(2){background:rgba(255,193,23,.34);padding:6px 8px 7px;margin-bottom:4px}
  .cmp tbody td:nth-child(2)::before{content:"Monthly, with us";display:block;font-weight:600;font-size:13px}
  .cmp tbody td:nth-child(3){padding:2px 8px 0}
  .cmp tbody td:nth-child(3)::before{content:"One payment";display:block;font-weight:600;font-size:13px}
  .nv-strip{padding-bottom:calc(var(--dock-h) + 20px)}
}
