@font-face{font-family:"Residence Sans";src:url("assets/fonts/jakarta-400.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Residence Serif";src:url("assets/fonts/cormorant-italic.woff2") format("woff2");font-weight:300 700;font-style:italic;font-display:swap}
:root{--paper:#f4f3ee;--forest:#20352c;--ink:#263b32;--muted:#657166;--silver:#c8ccc6;--line:#20352c26;--ease:cubic-bezier(.18,.75,.25,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Residence Sans",sans-serif;font-weight:300;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%}button:focus-visible,a:focus-visible{outline:2px solid #778661;outline-offset:5px}button[hidden],[hidden]{display:none!important}em{font-family:"Residence Serif",Georgia,serif;font-weight:400}.shape-definitions{position:absolute;pointer-events:none}.skip-link{position:fixed;top:12px;left:12px;z-index:20;padding:14px 18px;background:var(--forest);color:white;transform:translateY(-160%)}.skip-link:focus{transform:none}
.site-header{max-width:1540px;margin:auto;min-height:116px;padding:24px 5.2%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:15px}.brand img{width:75px;height:47px;object-fit:contain;filter:brightness(0) saturate(100%) invert(17%) sepia(17%) saturate(896%) hue-rotate(101deg) brightness(93%) contrast(91%)}.brand>span{font-size:8px;font-weight:500;line-height:1.7;letter-spacing:.18em}.edition{font-size:10px;letter-spacing:.18em}.edition>span{font-size:12px;margin-left:10px;letter-spacing:.06em}.header-link{display:flex;align-items:center;gap:26px;min-height:44px;font-size:11px}.header-link>span{font-size:20px}
.residence{max-width:1440px;padding:68px 5.2% 76px;margin:auto;display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1fr);gap:7.5%;align-items:center}.invitation{padding:13px 0 0}.eyebrow{font-size:9px;font-weight:500;letter-spacing:.2em;margin:0 0 29px;display:flex;align-items:center;gap:10px}.tiny-key{font-size:18px;line-height:1;letter-spacing:-.1em;font-weight:300}h1{font-size:clamp(42px,4.55vw,68px);font-weight:300;line-height:1.06;letter-spacing:-.065em;margin:0 0 26px}h1 em{display:inline-block;font-size:1.065em;line-height:1.03;letter-spacing:-.045em;white-space:nowrap}.intro{max-width:340px;margin:0;color:#5d6b61;line-height:1.9;font-size:12px;font-weight:400}.key-selection{margin-top:42px}.choose-label{margin:0 0 15px;font-size:8px;letter-spacing:.15em;font-weight:500;display:flex;align-items:center;justify-content:space-between}.choose-label>span:last-child{font-size:19px;font-weight:300}.keys{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.key-control{position:relative;min-height:156px;padding:16px 11px 12px;border:1px solid #a2aaa244;border-radius:2px 2px 20px 2px;background:linear-gradient(140deg,#fff9,#ffffff1a);box-shadow:0 4px 18px #20352c03;transition:background .35s,box-shadow .35s,transform .35s,border-color .35s;text-align:left;isolation:isolate}.key-control:after{content:"";position:absolute;top:50%;right:-1px;width:8px;height:23px;background:var(--paper);border:1px solid #a2aaa244;border-right:0;border-radius:6px 0 0 6px;transform:translateY(-50%);transition:border-color .35s}.key-number{font-size:8px;letter-spacing:.12em;color:var(--muted)}.key-control img{height:81px;width:100%;object-fit:contain;transform:rotate(-14deg);filter:drop-shadow(0 8px 5px #243b2920);transition:transform .75s var(--ease),filter .4s}.key-label{display:flex;justify-content:space-between;align-items:center;gap:4px;font-size:10px;font-weight:400;padding-top:9px}.key-label>span{font-size:15px;opacity:.6}.key-control[aria-pressed=true]{border-color:#7d8e7e;background:linear-gradient(140deg,#eef0e7,#e3e8dc);box-shadow:0 8px 20px #20352c0d}.key-control[aria-pressed=true]:after{border-color:#7d8e7e}.key-control[aria-pressed=true] img{transform:rotate(27deg) translateY(-2px);filter:drop-shadow(0 11px 6px #243b2930)}.interaction-hint{font-size:9px;color:var(--muted);margin:13px 0 0}.edition-note{display:flex;align-items:center;gap:14px;margin-top:38px}.edition-line{height:37px;width:1px;background:linear-gradient(transparent,#9ba797,transparent)}.edition-note p{font-size:7px;letter-spacing:.18em;line-height:1.6;margin:0}.edition-note strong{display:inline-block;font-weight:400;font-size:10px;letter-spacing:.01em;margin-top:4px}.edition-note small{font-size:8px;letter-spacing:0;margin-left:12px;color:var(--muted)}
.experience{min-width:0}.portal-caption{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px;font-size:8px;letter-spacing:.16em}.portal-number{color:var(--muted);font-size:8px;letter-spacing:.12em}.portal{position:relative;aspect-ratio:4/5;border:1px solid #b7beb1;background:#e8e9df;box-shadow:0 34px 46px -39px #19332399,0 0 0 7px #edece6,0 0 0 8px #c4c7ba66;overflow:hidden;isolation:isolate;perspective:1800px}.room{height:100%;background:#eeeee7}.value-panel{background:#efefe8}.value-photo{position:relative;height:54%;min-height:0;clip-path:url(#key-profile);margin-right:5%;background:#536452}.value-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 65%}.value-panel:nth-child(2) .value-photo img{object-position:50% 38%}.value-panel:nth-child(3) .value-photo img{object-position:50% 64%}.photo-label{position:absolute;bottom:11px;left:15px;padding:7px 9px;font-size:6px;font-weight:500;letter-spacing:.1em;color:#fff;background:#14271b9c;backdrop-filter:blur(12px)}.value-copy{padding:20px 28px 23px}.value-index{font-size:7px;letter-spacing:.15em;font-weight:500;color:var(--muted)}.value-copy h2{font-size:clamp(24px,2.45vw,35px);font-weight:300;line-height:1.05;letter-spacing:-.05em;margin:11px 0 15px}.value-copy h2 em{font-size:1.08em;letter-spacing:-.03em}.value-copy ul{padding:0;list-style:none;margin:0;display:grid;gap:9px}.value-copy li{padding-left:13px;position:relative;font-size:10px;font-weight:400;line-height:1.55;max-width:340px}.value-copy li:before{content:"";position:absolute;left:0;top:7px;width:4px;height:4px;border:1px solid #75856c;transform:rotate(45deg)}.door-set,.door-invitation{display:none}.portal-footer{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;font-size:7px;line-height:1.5;color:var(--muted);padding-top:15px}.portal-footer>span:first-child{max-width:60%}.close-door{position:absolute;right:13px;top:13px;width:44px;height:44px;border:1px solid #fff7;background:#eef1e8db;backdrop-filter:blur(16px);border-radius:50%;z-index:5;box-shadow:0 2px 15px #0001}.close-door span{display:block;font-size:27px;line-height:1;font-weight:200}
.enhanced .room{position:relative}.enhanced .value-panel{position:absolute;inset:0;height:100%;opacity:0;visibility:hidden;transition:opacity .25s ease}.enhanced .value-panel[data-visible=true]{opacity:1;visibility:visible}.enhanced .door-set{display:block;position:absolute;inset:0;z-index:3;pointer-events:none;transform-style:preserve-3d}.door-leaf{position:absolute;top:0;bottom:0;width:50.05%;background-color:#20352c;background-image:url("assets/residence-doors-closed.png");background-size:200% 100%;background-repeat:no-repeat;backface-visibility:hidden;transition:transform 1.25s var(--ease),filter 1.25s var(--ease);transform:rotateY(0);will-change:transform}.door-left{left:0;background-position:left center;transform-origin:left center}.door-right{right:0;background-position:right center;transform-origin:right center}.door-light{position:absolute;top:0;bottom:0;left:50%;width:1px;background:linear-gradient(transparent,#dae2cba8,transparent);opacity:.7;transition:opacity .35s;box-shadow:0 0 18px 5px #d2dfbb12}.enhanced .door-invitation{display:flex;position:absolute;inset:0;align-items:center;justify-content:center;flex-direction:column;z-index:4;color:#fff;pointer-events:none;text-align:center;text-shadow:0 1px 12px #07150c66;background:linear-gradient(transparent 15%,#0a1d1133 50%,transparent 85%);transition:opacity .25s ease,transform .5s var(--ease)}.door-invitation>span:first-child{font-size:7px;letter-spacing:.23em;margin-top:30px}.door-invitation p{font-size:clamp(24px,2.65vw,39px);font-weight:300;letter-spacing:-.045em;margin:16px 0;line-height:1.1}.door-invitation em{font-size:1.1em}.door-rule{width:34px;height:1px;background:#ffffff70;margin:9px 0 18px}.door-invitation small{font-size:8px;letter-spacing:.08em;color:#e3e8de}.enhanced .experience[data-phase=unlocking] .door-invitation,.enhanced .experience[data-phase=open] .door-invitation,.enhanced .experience[data-phase=closing] .door-invitation{opacity:0;transform:translateY(-8px)}.experience[data-phase=open] .door-left{transform:rotateY(-102deg);filter:brightness(.65)}.experience[data-phase=open] .door-right{transform:rotateY(102deg);filter:brightness(.65)}.experience[data-phase=open] .door-light{opacity:0}.experience[data-phase=closing] .door-leaf{transition-duration:.6s}.experience[data-phase=unlocking] .door-light{opacity:1;box-shadow:0 0 26px 9px #effbdd4d}
.meaning{max-width:1280px;margin:0 auto;padding:66px 7% 88px;border-top:1px solid var(--line);text-align:center}.meaning .eyebrow{display:block;margin:0 0 22px}.meaning h2{font-size:clamp(29px,3.5vw,50px);font-weight:300;line-height:1.1;letter-spacing:-.05em;margin:0 0 22px}.meaning h2 em{font-size:1.09em;letter-spacing:-.03em}.meaning>p:last-of-type{font-size:12px;font-weight:400;line-height:1.85;color:var(--muted);max-width:470px;margin:0 auto 29px}.sculpted-link{display:inline-flex;min-height:49px;gap:27px;align-items:center;padding:4px 5px 4px 24px;border:1px solid #bcc4b3;border-radius:26px 5px 5px 26px;box-shadow:0 3px 4px #20352c03;background:linear-gradient(150deg,#fafbf4,#e9eddf);font-size:10px;font-weight:400}.link-end{position:relative;display:grid;place-items:center;width:41px;height:39px;background:var(--forest);color:#fff;border-radius:20px 3px 3px 20px;font-size:21px}.link-end:after{content:"";position:absolute;right:0;top:14px;height:11px;width:5px;background:#e9eddf;border-radius:3px 0 0 3px}.site-footer{margin:0 5.2%;padding:22px 0;border-top:1px solid var(--line);display:flex;gap:15px;justify-content:space-between;align-items:center;font-size:7px;font-weight:400;letter-spacing:.12em;color:var(--muted)}
body:not(.enhanced) .portal{aspect-ratio:auto;overflow:visible}body:not(.enhanced) .value-panel{margin:0 0 20px}body:not(.enhanced) .value-photo{height:280px}body:not(.enhanced) .portal-footer>span:last-child{display:none}
@media(hover:hover){.key-control:hover{transform:translateY(-3px);box-shadow:0 9px 21px #20352c12;border-color:#909e87}.key-control:hover img{filter:drop-shadow(0 10px 6px #243b2929)}.header-link:hover>span{transform:translate(2px,-2px)}.sculpted-link:hover{background:#e3e8d9;border-color:#829173}}
@media(min-width:1500px){.residence{gap:9%}.portal{max-height:670px}}
@media(max-width:1100px){.residence{gap:5%;padding-top:55px}h1{font-size:4.6vw}.key-selection{margin-top:29px}.key-control{min-height:137px}.key-control img{height:65px}.intro{font-size:11px}.value-copy{padding:16px 20px}.value-copy li{font-size:9px}.value-copy ul{gap:6px}.value-copy h2{margin:9px 0 11px}.edition-note{margin-top:24px}}
@media(max-width:760px){.site-header{min-height:85px;padding:18px 6%;gap:12px}.brand img{width:61px;height:39px}.brand>span{display:none}.header-link{font-size:9px;gap:10px}.edition{font-size:8px;letter-spacing:.13em}.edition>span{font-size:9px;margin-left:5px}.residence{display:flex;flex-direction:column;padding:44px 7% 44px;gap:40px}.invitation{padding:0;width:100%;max-width:520px}.eyebrow{margin-bottom:22px;font-size:8px}h1{font-size:clamp(39px,8.6vw,61px);margin-bottom:19px;letter-spacing:-.055em}h1 em{font-size:1.05em}.intro{font-size:11px;max-width:340px}.key-selection{margin-top:28px}.key-control{min-height:137px}.key-control img{height:73px}.key-label{font-size:10px}.edition-note{margin-top:23px}.experience{width:100%;max-width:520px}.portal{aspect-ratio:4/5}.value-copy{padding:21px 24px}.value-copy h2{font-size:32px;margin:10px 0 13px}.value-copy li{font-size:10px}.value-copy ul{gap:9px}.door-invitation p{font-size:35px}.door-invitation>span:first-child{font-size:7px}.meaning{margin:0 7%;padding:46px 0 54px}.meaning h2{font-size:clamp(29px,6.7vw,42px)}.meaning>p:last-of-type{font-size:11px}.site-footer{margin:0 7%;font-size:6px;letter-spacing:.08em;align-items:flex-start;line-height:1.7}.site-footer>span:last-child{text-align:right;max-width:130px}}
@media(max-width:380px){.residence{padding-right:6%;padding-left:6%}h1{font-size:37px}h1 em{font-size:.96em}.keys{gap:7px}.key-control{padding:12px 8px 10px;min-height:130px}.key-label{font-size:9px}.key-control img{height:66px}.key-control:after{width:6px}.value-copy{padding:14px 18px}.value-copy h2{font-size:26px;margin:9px 0 11px}.value-copy li{font-size:9px;line-height:1.45}.value-copy ul{gap:6px}.value-photo{height:51%}.photo-label{font-size:5px;left:10px;bottom:9px}.door-invitation p{font-size:29px}.portal-caption{font-size:7px}.portal-footer{font-size:6px}.choose-label{font-size:7px}.edition-note strong{font-size:9px}.edition-note small{margin-left:7px}}
/* Each leaf contains the same full-width photograph, cropped at the central seam. */
.door-leaf{background-image:none;overflow:hidden}
.door-leaf:before{content:"";position:absolute;top:0;bottom:0;width:200%;background:url("assets/residence-doors-closed.png") center/cover no-repeat}
.door-left:before{left:0}.door-right:before{right:0}
@media(min-width:761px){.portal{aspect-ratio:3/2}.enhanced .value-panel{display:grid;grid-template-columns:48% 52%;align-items:center}.enhanced .value-photo{height:100%;margin-right:0}.enhanced .value-copy{padding:22px}.value-copy h2{font-size:clamp(23px,2.35vw,33px)}.value-copy li{font-size:10px}.photo-label{font-size:5px;left:10px;right:32px;text-align:center;padding:7px 4px}.door-invitation>span:first-child{margin-top:0}}
.enhanced .door-invitation{justify-content:flex-start;padding-top:7%}
.door-invitation>span:first-child{margin-top:0}
.door-invitation p{font-size:clamp(22px,2.3vw,29px);margin:8px 0}
.door-rule{margin:6px 0 7px}
.portal-footer{font-size:11px;font-weight:400;color:#526053;gap:16px}
.portal-footer>span:last-child{max-width:55%;text-align:right}
.photo-label{font-size:11px;font-weight:400;letter-spacing:.025em;background:#14271be6}
.skip-link:not(:focus){width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;transform:none}
/* Stacked grid panels share the tallest content height; text never depends on a fixed crop. */
@media(max-width:760px){
  .enhanced .portal{aspect-ratio:auto}
  .enhanced .room{display:grid;height:auto}
  .enhanced .value-panel{position:relative;inset:auto;grid-area:1/1;height:auto}
  .enhanced .value-photo{height:clamp(190px,58vw,280px)}
  .enhanced .value-copy{padding:21px 24px 25px}
  .enhanced .value-copy li{font-size:12px;line-height:1.6}
  .enhanced .value-copy ul{gap:10px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.door-leaf{will-change:auto}}
