:root{
  --paper:#f4f1e9;--ink:#234b57;--blue:#245d70;--rust:#ac583b;--line:#cdd0c5;
  --cream:#fffaf0;--sand:#e6d9c4;--muted:#697974;--serif:'DM Serif Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);--stagger-dur:500ms;--stagger-distance:12px;--stagger-stagger:40ms;--stagger-blur:3px;--stagger-ease:cubic-bezier(.22,1,.36,1);
  --modal-open-dur:250ms;--modal-close-dur:150ms;--modal-scale:.96;--modal-scale-close:.96;--modal-ease:cubic-bezier(.22,1,.36,1);
  --dropdown-open-dur:250ms;--dropdown-close-dur:150ms;--dropdown-pre-scale:.97;--dropdown-closing-scale:.99;--dropdown-ease:cubic-bezier(.22,1,.36,1);
  --tilt-perspective:1000px;--tilt-return:1000ms;--tilt-return-ease:cubic-bezier(.22,1,.36,1);--tilt-follow:400ms;--tilt-follow-ease:cubic-bezier(.22,1,.36,1);--tilt-glare-opacity:.2;--tilt-glare-fade:300ms;--tilt-glare-ease:cubic-bezier(.22,1,.36,1);
  --text-swap-dur:150ms;--text-swap-translate-y:4px;--text-swap-blur:2px;--text-swap-ease:ease-in-out;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}svg{display:block}h1,h2,p,figure{margin:0}h1,h2{font-weight:400;letter-spacing:-.055em;line-height:1.02}em{font-family:var(--serif);font-weight:400}
button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c88451;outline-offset:5px}
::selection{background:#dacaad;color:#143d4c}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}
.skip-link{position:fixed;top:-90px;left:24px;z-index:100;background:var(--paper);padding:15px;border-radius:8px}.skip-link:focus{top:20px}
.reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:var(--rust);transform:scaleX(0);transform-origin:left;z-index:90;pointer-events:none}
.section-pad{padding:90px max(7%,calc((100% - 1380px)/2))}
.eyebrow,.small-caps{font-size:10px;letter-spacing:.16em;font-weight:600;line-height:1.7}.eyebrow{display:flex;align-items:center;gap:10px}.small-caps{font-size:9px;opacity:.8}
.status-dot{width:6px;height:6px;border-radius:50%;background:var(--rust);flex:none;box-shadow:0 0 0 5px #ac583b0c}
.section-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:19px 0 42px;border-top:1px solid var(--line)}

/* One compact navigation surface, with the same links on every screen. */
.site-header{position:fixed;top:25px;left:50%;transform:translateX(-50%);width:calc(100% - 76px);max-width:1380px;min-height:70px;padding:13px 24px;display:flex;align-items:center;justify-content:space-between;gap:26px;z-index:40;background:#f4f1e9f5;border:1px solid #ffffffba;border-radius:16px;box-shadow:0 5px 30px #1b333c06;backdrop-filter:blur(20px);transition:box-shadow .35s var(--ease),background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}
.site-header.is-scrolled{background:#f4f1e9fa;box-shadow:0 9px 40px #152d3714;border-color:#234b5712}
.wordmark{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:700;letter-spacing:.06em;line-height:.97;flex-shrink:0}
.brand-second{display:block;font-size:11px;letter-spacing:.39em;margin-top:5px}
.brand-arch{display:block;width:30px;height:36px;border:6px solid currentColor;border-bottom:0;border-radius:25px 25px 0 0;position:relative}.brand-arch:after{content:'';position:absolute;width:3px;height:13px;background:currentColor;bottom:0;left:7px}
.site-header nav{display:flex;align-items:center;gap:34px;font-size:11px;font-weight:500}
.site-header nav>a{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:12px 0;transition:color .25s}
.site-header nav>a:not(.nav-lease):after{content:'';position:absolute;bottom:7px;left:0;right:0;height:1px;background:var(--rust);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.site-header nav>a:hover,.site-header nav>a[aria-current]{color:var(--rust)}
.site-header nav>a:hover:after,.site-header nav>a[aria-current]:after{transform:scaleX(1)}
.site-header nav .nav-lease{background:var(--ink);color:var(--cream);padding:12px 19px;border-radius:9px;gap:24px;overflow:hidden;transition:background .3s,box-shadow .3s}
.nav-lease>span{font-size:18px;transition:transform .35s var(--ease)}
.site-header nav .nav-lease:hover{background:#326673;color:var(--cream);box-shadow:0 5px 15px #234b571f}.nav-lease:hover>span{transform:translate(2px,-2px)}
.menu-toggle{display:none}

/* The film retains the exact v5 journey length and chapter timing. */
.journey{height:320svh;position:relative}.journey-stage{position:sticky;top:0;height:100svh;min-height:680px;overflow:hidden}
.scene-backdrop{position:absolute;inset:0;background:var(--paper)}
.scene-shell{position:absolute;inset:12px;background:#506d76;overflow:hidden;border-radius:22px;isolation:isolate}
.scene-shell:after{content:'';position:absolute;inset:0;border:1px solid #fffaf02b;border-radius:inherit;pointer-events:none}
.film-plane{position:absolute;inset:0;transform-origin:58% 52%;will-change:transform}
.scene-fallback,#mall-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% 48%}
#mall-film{opacity:0;pointer-events:none}.film-ready #mall-film{opacity:1}.static-view #mall-film{opacity:0}
.film-shade{position:absolute;inset:0;background:linear-gradient(90deg,#102b328c 0%,#1630391f 43%,transparent 72%),linear-gradient(0deg,#0d222ae8 0%,#16353b63 28%,transparent 70%),linear-gradient(180deg,#18374055,transparent 30%)}
.chapter{position:absolute;z-index:3;will-change:opacity,transform;pointer-events:none;color:var(--cream)}.chapter a{pointer-events:auto}
.hero-copy{left:5.5%;top:auto;bottom:145px;max-width:610px}.hero-copy.t-stagger{--stagger-distance:24px;--stagger-stagger:110ms;--stagger-dur:650ms;--stagger-blur:3px}
.hero-copy .eyebrow,.chapter .eyebrow{font-size:9px;letter-spacing:.17em}.chapter .status-dot{background:#e9c49e;box-shadow:0 0 0 5px #f2dac011}
.hero-copy h1{font-size:clamp(78px,7.8vw,120px);line-height:.91;letter-spacing:-.065em;margin:22px 0 23px}.hero-copy h1 .t-stagger-line{padding-bottom:.025em}
.hero-copy h1 em{color:#f0d7b5}.hero-copy p{font-size:14px;line-height:1.7;color:#fffaf0e6}
.text-link,.light-link{display:inline-flex;align-items:center;gap:30px;position:relative;padding:13px 0;font-size:12px;font-weight:500;margin-top:20px;border-bottom:1px solid #234b5755}
.text-link:after,.light-link:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.text-link:hover:after,.light-link:hover:after{transform:scaleX(1)}.text-link>span,.light-link>span{font-size:21px;transition:transform .4s var(--ease)}.text-link:hover>span,.light-link:hover>span{transform:translate(3px,-3px)}
.hero-copy .text-link{font-size:11px;border-color:#fffaf060;margin-top:18px;padding-bottom:10px}
.approach-copy,.entrance-copy{left:5.5%;bottom:166px;max-width:640px;opacity:0}.approach-copy h2,.entrance-copy h2{font-size:clamp(65px,6.7vw,100px);margin-top:23px}.approach-copy p{font-size:15px;line-height:1.75;margin-top:25px}.chapter h2 em{color:#f0d7b5}
.journey-bottom{position:absolute;bottom:42px;left:5.5%;right:5.5%;z-index:7;display:flex;align-items:center;justify-content:space-between;gap:25px;color:var(--cream);padding-top:20px;border-top:1px solid #fffaf030}
.scroll-cue{display:flex;align-items:center;gap:14px;font-size:9px;letter-spacing:.1em;line-height:1.8}.scroll-arrow{width:38px;height:38px;border:1px solid #fffaf06b;border-radius:50%;display:grid;place-items:center;font-size:19px;transition:transform .35s var(--ease),background .35s}.scroll-cue:hover .scroll-arrow{transform:translateY(3px);background:#fffaf018}.quiet{letter-spacing:0;font-size:10px;color:#fffaf0b8}.scene-chapters{display:flex;align-items:center;gap:14px;font-size:10px;font-variant-numeric:tabular-nums}.track{width:112px;height:1px;background:#fffaf045;display:block}.track>span{display:block;background:var(--cream);width:0;height:2px}.motion-button{background:none;border:0;color:inherit;font-size:10px;text-decoration:underline;text-underline-offset:4px;padding:12px 0}
.film-note{position:absolute;right:5.5%;top:135px;z-index:5;font-size:8px;font-weight:500;letter-spacing:.15em;line-height:1.8;padding:17px 20px;background:#f4f1e9eb;color:var(--ink);border:1px solid #fffaf066;border-radius:3px 3px 34px 3px}.film-location{display:block;font-size:7px;margin-top:9px;opacity:.72}.inside-active .film-note{opacity:0}
.inside-window{position:absolute;inset:12px;border-radius:22px;overflow:hidden;z-index:4;opacity:0;pointer-events:none;will-change:opacity}.inside-window>img{width:100%;height:100%;object-fit:cover;object-position:50% 45%}.inside-shade{position:absolute;inset:0;background:linear-gradient(90deg,#183b46bd,#1734421a),linear-gradient(0deg,#0d222acc,transparent 65%)}.inside-copy{position:absolute;left:6%;bottom:24%;color:var(--cream)}.inside-copy h2{font-size:clamp(56px,7.2vw,104px);margin-top:25px}

/* Architecture, sunlight and tactile materials carry the story. */
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.story h2{font-size:clamp(55px,5.8vw,84px);margin-bottom:30px}.story-copy p{font-size:16px;line-height:1.85;max-width:380px;margin-top:18px}.story-copy .text-link{margin-top:23px}
.story-photo{position:relative;margin:22px 0 0 12px;isolation:isolate;padding-bottom:12px}.photo-outline{position:absolute;inset:-18px 19px 60px -18px;border:1px solid #ac583b5c;border-radius:260px 260px 4px 4px;pointer-events:none}.photo-window{height:530px;position:relative;overflow:hidden;border-radius:260px 260px 4px 4px;background:var(--sand)}.photo-window img{width:100%;height:100%;object-fit:cover;object-position:52% 50%;transform:scale(1.075)}.story-photo figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:15px;font-size:9px;line-height:1.7;margin-top:17px}.story-photo figcaption>span:last-child{font-size:8px;letter-spacing:.08em;white-space:nowrap}.photo-label{position:absolute;right:-28px;top:36px;left:auto;bottom:auto;width:145px;height:145px;display:flex;align-items:center;justify-content:center;text-align:center;border-radius:50%;background:var(--rust);color:var(--cream);outline:1px solid #fffaf04f;outline-offset:-9px;font-size:9px;letter-spacing:.11em;line-height:1.8;transform:rotate(-9deg);transition:transform .7s var(--ease)}.story-photo:hover .photo-label{transform:rotate(0)}
.manifesto{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);margin-top:85px;padding-top:35px;font-size:clamp(26px,3.6vw,53px);letter-spacing:-.04em}.manifesto>span{--word-ink:var(--ink);color:var(--word-ink)}.manifesto>span:last-child{--word-ink:var(--rust)}.motion-ready .manifesto>span{color:transparent;background:linear-gradient(90deg,var(--word-ink) calc(var(--word-fill,0)*100%),#6c7d73 0);background-clip:text;-webkit-background-clip:text}
.food{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#214b55;color:var(--cream);align-items:center;min-height:710px;overflow:hidden}.food-contours{position:absolute;width:900px;height:900px;right:-270px;top:50%;transform:translateY(-50%) rotate(-20deg);stroke:#d2b99126;stroke-width:1;fill:none;pointer-events:none;z-index:-1}.food .status-dot{background:#d8b997}.food h2{font-size:clamp(56px,6.3vw,92px);margin:25px 0 28px}.food-copy>p{font-size:15px;line-height:1.8;max-width:365px;color:#e1e5d9}.food-note{font-family:var(--serif);font-style:italic;font-size:22px;margin-top:24px;color:#e0c9a5}.light-link{font-size:11px;border-color:#fffaf050;gap:25px;margin-top:35px}
.table-illustration{position:relative;max-width:475px;width:100%;margin:10px auto;padding-bottom:35px}.table-halo{position:absolute;inset:12px -18px 44px 16px;border:1px solid #d8c9a875;border-radius:240px 240px 5px 5px;transform:rotate(4deg)}.table-window{position:relative;aspect-ratio:4/4.7;border-radius:240px 240px 5px 5px;border:5px solid #e8e0cb;overflow:hidden;background:#dac9af;transform:rotate(-3deg);box-shadow:0 22px 60px #0f2b3840}.table-window img{width:100%;height:100%;object-fit:cover;transform:scale(1.075)}.table-caption{position:absolute;left:18px;bottom:49px;color:var(--ink);background:var(--cream);padding:14px 18px;font-size:8px;letter-spacing:.11em;line-height:1.8;transform:rotate(-3deg);box-shadow:0 3px 18px #12333a15}.illustration-note{position:absolute;bottom:0;right:0;color:#e0c9a5;font-size:12px;font-style:italic;font-family:var(--serif)}

/* Three clear choices, one shared conversation. */
.commerce{padding-top:110px;padding-bottom:100px}.commerce-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:45px}.commerce-heading h2{font-size:clamp(49px,5vw,76px)}.commerce-heading p{font-size:13px;line-height:1.85;max-width:290px;padding-bottom:4px}.business-selector{display:grid;align-items:stretch;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:52px}.business-option{position:relative;isolation:isolate;overflow:hidden;background:#ebe8dc;color:var(--ink);text-align:left;border:1px solid #b9c2b54a;border-radius:6px 6px 35px 6px;padding:27px 25px;display:grid;grid-template-columns:1fr 32px;grid-template-rows:24px 122px auto;align-items:center;gap:15px 10px;transition:transform .45s var(--ease),background .35s,color .35s,box-shadow .45s var(--ease)}.business-option:before{content:'';position:absolute;right:-80px;top:-70px;width:245px;height:280px;border:1px solid currentColor;border-radius:140px;opacity:.08;z-index:-1}.business-option.active{background:var(--ink);color:var(--cream);border-color:var(--ink)}.business-option:hover{box-shadow:0 14px 28px #234b5712}.business-no{grid-column:1/-1;grid-row:1;font-size:10px;letter-spacing:.08em;font-variant-numeric:tabular-nums}.business-icon{grid-column:1/-1;grid-row:2;width:115px;height:100px;stroke:currentColor;stroke-width:1.25;fill:none;opacity:.75;transition:transform .6s var(--ease)}.business-option:hover .business-icon{transform:translateY(-3px)}.business-title{grid-column:1;grid-row:3;font-family:var(--serif);font-size:32px;letter-spacing:-.03em;line-height:1.1}.option-arrow{grid-column:2;grid-row:3;width:32px;height:32px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:18px;transition:transform .4s var(--ease)}.business-option:hover .option-arrow{transform:rotate(45deg)}
.business-detail{display:flex;justify-content:space-between;align-items:center;gap:45px;margin-top:30px;padding-top:29px;border-top:1px solid var(--line)}.business-detail p{font-size:14px;line-height:1.8;max-width:510px;min-height:52px}.primary-button{border:0;background:var(--ink);color:var(--cream);padding:18px 23px;border-radius:9px;display:inline-flex;align-items:center;justify-content:space-between;gap:38px;font-size:12px;white-space:nowrap;min-height:56px;transition:background .3s,transform .35s var(--ease),box-shadow .35s}.primary-button:hover{background:#326673;box-shadow:0 7px 20px #234b571c;transform:translateY(-2px)}.primary-button>span{font-size:21px;transition:transform .35s var(--ease)}.primary-button:hover>span{transform:translate(2px,-2px)}
.visit{position:relative;overflow:hidden;isolation:isolate;display:flex;justify-content:space-between;align-items:center;gap:35px;background:var(--sand);padding-top:75px;padding-bottom:80px}.visit h2{font-size:clamp(46px,5.7vw,82px);margin-top:22px}.visit-lines{position:absolute;right:-10px;bottom:-30px;width:550px;height:430px;stroke:#a8957870;stroke-width:1;fill:none;z-index:-1;pointer-events:none}.visit-lines path{stroke-dasharray:3000;stroke-dashoffset:0;transition:stroke-dashoffset 2s var(--ease)}.motion-ready .visit:not(.is-revealed) .visit-lines path{stroke-dashoffset:3000}.round-link{position:relative;isolation:isolate;overflow:hidden;width:154px;height:154px;border:1px solid #234b577a;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:13px;flex-direction:column;flex:none;transition:color .4s,border-color .4s}.round-link:before{content:'';position:absolute;inset:0;background:var(--ink);border-radius:50%;transform:translateY(102%);transition:transform .55s var(--ease);z-index:-1}.round-link>span:first-child{font-size:48px;font-weight:400;transition:transform .5s var(--ease)}.round-link>span:last-child{font-size:9px;letter-spacing:.1em}.round-link:hover{color:var(--cream);border-color:var(--ink)}.round-link:hover:before{transform:translateY(0)}.round-link:hover>span:first-child{transform:translate(3px,-3px)}
footer{padding:48px 7% 28px;background:#173d47;color:var(--cream);position:relative;overflow:hidden;display:flex;justify-content:space-between;flex-wrap:wrap;gap:27px;font-size:11px;align-items:center}.footer-brand{flex:0 0 100%;font-size:12.3vw;line-height:1;font-weight:500;letter-spacing:-.07em;white-space:nowrap;padding-bottom:29px;border-bottom:1px solid #fffaf030}footer>span{font-size:20px;font-family:var(--serif);font-style:italic}footer>a:last-of-type{font-size:11px;padding:10px 0}.prototype-note{flex:0 0 100%;border-top:1px solid #fffaf030;padding-top:18px;font-size:9px;line-height:1.8;color:#d2d9cc}
dialog{padding:0;border:1px solid #ffffffaa;background:var(--paper);color:var(--ink);width:min(92vw,620px);max-height:90svh;border-radius:20px;box-shadow:0 30px 100px #17364144}dialog::backdrop{background:#163c498c;backdrop-filter:blur(8px)}dialog .t-modal{position:relative;padding:44px}dialog h2{font-size:58px;margin-top:23px}.dialog-intro{font-size:13px;line-height:1.8;margin-top:20px}.dialog-close{position:absolute;right:20px;top:20px;width:40px;height:40px;border:1px solid #234b5729;border-radius:50%;background:none;color:inherit;font-size:26px}.dialog-close:hover{background:#e6e6d9}form{margin-top:27px}form label{display:grid;gap:10px;font-size:12px;font-weight:500;margin:18px 0}select,textarea{width:100%;background:#fffaf0;color:var(--ink);border:1px solid #aebaae;border-radius:7px;padding:15px;font-size:15px;min-height:52px}textarea{resize:vertical;line-height:1.6}form .primary-button{width:100%;margin-top:4px}.form-note{font-size:10px;line-height:1.8;color:#586f68;margin-top:17px}#form-status{font-size:12px;line-height:1.6;margin-top:12px}

/* V7: a continuous cinematic opening and more tactile editorial surfaces. */
.site-header.on-film:not(.menu-open){background:#173d47b8;color:var(--cream);border-color:#fffaf033;box-shadow:0 8px 28px #0a24391a}
.site-header.on-film:not(.menu-open) nav>a:not(.nav-lease):hover,.site-header.on-film:not(.menu-open) nav>a[aria-current]:not(.nav-lease){color:#f0d7b5}
.site-header.on-film:not(.menu-open) nav>a:after{background:#f0d7b5}
.site-header.on-film:not(.menu-open) .nav-lease{background:var(--cream);color:var(--ink)}
.site-header.on-film:not(.menu-open) .nav-lease:hover{background:#e8d7ba;color:var(--ink)}
.site-header.on-film:not(.menu-open) .menu-toggle{color:var(--cream);border-color:#fffaf055}
.hero-emphasis{display:inline-block;position:relative}.hero-underline{position:absolute;left:-8%;bottom:-.07em;width:118%;height:.17em;overflow:visible;fill:none;stroke:#e0b083;stroke-width:1.4;stroke-linecap:round;pointer-events:none}.hero-underline path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.25s var(--ease) .65s}.hero-copy.is-shown .hero-underline path{stroke-dashoffset:0}
.story{background:radial-gradient(ellipse at 88% 38%,#e9ddc759,transparent 46%)}
.story-memory{position:absolute;left:-45px;bottom:67px;width:38%;max-width:190px;aspect-ratio:4/5;padding:7px;background:var(--cream);box-shadow:0 16px 45px #234b572a;transform:translateY(calc(var(--drift,0)*-12px)) rotate(-7deg);z-index:2;pointer-events:none}.story-memory img{width:100%;height:100%;object-fit:cover;object-position:45% center}.story-memory:before{content:'';position:absolute;left:34%;right:34%;height:21px;top:-8px;background:#ede2c3a8;transform:rotate(4deg);border:1px solid #f4ebd322}
.food{background:radial-gradient(ellipse at 80% 30%,#3b6666 0%,#214b55 55%)}
.table-illustration{transform:translate3d(0,calc(var(--drift,0)*-14px),0) rotate(calc(var(--drift,0)*1.6deg))}
.business-card{min-width:0;display:flex}.business-card .business-option{width:100%;height:100%;border-radius:6px 6px 35px 6px;min-width:0}.business-option{background:linear-gradient(155deg,#fbf8ef,#e6e2d5);box-shadow:inset 0 1px #ffffffa3}.business-option.active{background:radial-gradient(ellipse at 100% 0,#426e71,transparent 78%),var(--ink);box-shadow:0 12px 25px #234b5714}.business-no{font-family:var(--serif);font-style:italic;font-size:18px;opacity:.72}.business-icon{width:135px;height:117px;stroke-width:1;stroke-dasharray:420;stroke-dashoffset:0;transition:stroke-dashoffset 1.65s var(--ease),transform .6s var(--ease)}.motion-ready .business-selector:not(.is-revealed) .business-icon{stroke-dashoffset:420}.business-selector.is-revealed .business-card:nth-child(2) .business-icon{transition-delay:100ms}.business-selector.is-revealed .business-card:nth-child(3) .business-icon{transition-delay:200ms}.business-option:focus-visible{outline:3px solid var(--rust);outline-offset:5px}
.footer-brand{position:relative;transform:translateY(0);clip-path:inset(0 0 -12% 0);transition:transform 1.1s var(--ease),clip-path 1.1s var(--ease)}.motion-ready footer:not(.is-revealed) .footer-brand{transform:translateY(24px);clip-path:inset(0 0 100% 0)}footer>a:last-of-type{border-bottom:1px solid #fffaf04d}footer>a:last-of-type:hover{color:#e0b083}

/* Motion components from transitions.dev. */
/* Lines start translated down + blurred + invisible; .is-shown
   on the parent flips them to their resting state. The second
   line's transition-delay holds it back by --stagger-stagger
   so the eye lands on the headline first. */
.t-stagger-line {
  display: block;
  opacity: 0;
  transform: translateY(var(--stagger-distance));
  filter: blur(var(--stagger-blur));
  transition:
    opacity   var(--stagger-dur) var(--stagger-ease),
    transform var(--stagger-dur) var(--stagger-ease),
    filter    var(--stagger-dur) var(--stagger-ease);
  will-change: transform, opacity, filter;
}
.t-stagger-line--2 { transition-delay: var(--stagger-stagger); }

.t-stagger.is-shown .t-stagger-line {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}
/* Exit decouples from the stagger: same fade for every line,
   no Y return, no blur — so the disappearance reads as a
   single quiet fade instead of a reverse reveal. */
.t-stagger.is-hiding .t-stagger-line {
  opacity: 0;
  transform: translateY(0);
  filter: blur(0);
  transition:
    opacity 200ms ease,
    transform 0s linear,
    filter 0s linear;
  transition-delay: 0s;
}

@media (prefers-reduced-motion: reduce) {
  .t-stagger-line { transition: none !important; }
}

.t-modal {
  transform-origin: center;
  transform: scale(var(--modal-scale));
  opacity: 0;
  pointer-events: none;
  transition:
    transform var(--modal-open-dur) var(--modal-ease),
    opacity   var(--modal-open-dur) var(--modal-ease);
  will-change: transform, opacity;
}
.t-modal.is-open {
  transform: scale(1);
  opacity: 1;
  pointer-events: auto;
}
.t-modal.is-closing {
  transform: scale(var(--modal-scale-close));
  opacity: 0;
  pointer-events: none;
  transition:
    transform var(--modal-close-dur) var(--modal-ease),
    opacity   var(--modal-close-dur) var(--modal-ease);
}

@media (prefers-reduced-motion: reduce) {
  .t-modal { transition: none !important; }
}

.t-dropdown {
  transform-origin: top left;
  transform: scale(var(--dropdown-pre-scale));
  opacity: 0;
  pointer-events: none;
  transition:
    transform var(--dropdown-open-dur) var(--dropdown-ease),
    opacity   var(--dropdown-open-dur) var(--dropdown-ease);
  will-change: transform, opacity;
}
.t-dropdown[data-origin="top-right"]     { transform-origin: top right; }
.t-dropdown[data-origin="top-center"]    { transform-origin: top center; }
.t-dropdown[data-origin="bottom-left"]   { transform-origin: bottom left; }
.t-dropdown[data-origin="bottom-center"] { transform-origin: bottom center; }
.t-dropdown[data-origin="bottom-right"]  { transform-origin: bottom right; }

.t-dropdown.is-open {
  transform: scale(1);
  opacity: 1;
  pointer-events: auto;
}
.t-dropdown.is-closing {
  transform: scale(var(--dropdown-closing-scale));
  opacity: 0;
  pointer-events: none;
  transition:
    transform var(--dropdown-close-dur) var(--dropdown-ease),
    opacity   var(--dropdown-close-dur) var(--dropdown-ease);
}

@media (prefers-reduced-motion: reduce) {
  .t-dropdown { transition: none !important; }
}

.t-text-swap {
  display: inline-block;
  transform: translateY(0);
  filter: blur(0);
  opacity: 1;
  transition:
    transform var(--text-swap-dur) var(--text-swap-ease),
    filter    var(--text-swap-dur) var(--text-swap-ease),
    opacity   var(--text-swap-dur) var(--text-swap-ease);
  will-change: transform, filter, opacity;
}
.t-text-swap.is-exit {
  transform: translateY(calc(var(--text-swap-translate-y) * -1));
  filter: blur(var(--text-swap-blur));
  opacity: 0;
}
.t-text-swap.is-enter-start {
  transform: translateY(var(--text-swap-translate-y));
  filter: blur(var(--text-swap-blur));
  opacity: 0;
  transition: none;
}

@media (prefers-reduced-motion: reduce) {
  .t-text-swap { transition: none !important; }
}
.text-link.t-stagger-line,.light-link.t-stagger-line{display:inline-flex}
.image-mask:after{content:'';position:absolute;inset:-1px;background:var(--paper);transform:scaleY(0);transform-origin:top;transition:transform 1.05s var(--ease);pointer-events:none}.table-window:after{background:#214b55}.motion-ready [data-reveal]:not(.is-revealed) .image-mask:after{transform:scaleY(1)}
@media(min-width:761px){.site-header nav.t-dropdown{opacity:1;transform:none;pointer-events:auto;will-change:auto}}

/* Deliberate static and no-JavaScript versions, not a blank animation stage. */
body.static-view .journey,.no-js .journey{height:100svh;min-height:720px}body.static-view .journey-stage,.no-js .journey-stage{position:relative}body.static-view .approach-copy,body.static-view .entrance-copy,body.static-view .inside-window,body.static-view .scene-chapters,.no-js .approach-copy,.no-js .entrance-copy,.no-js .inside-window,.no-js .motion-button,.no-js .scene-chapters{display:none}body.static-view .hero-copy{opacity:1!important;transform:none!important}.static-view .film-plane,.no-js .film-plane{transform:none!important;will-change:auto}.no-js .t-stagger-line{opacity:1;transform:none;filter:none}
.static-view .image-mask:after,.no-js .image-mask:after{transform:scaleY(0)!important}.static-view .manifesto>span{background:none;color:var(--word-ink,var(--ink))}.static-view [data-parallax]{transform:scale(1.075)!important}.static-view .visit-lines path{stroke-dashoffset:0!important}.static-view .t-stagger-line{transition:none!important;opacity:1;transform:none;filter:none}
.static-view *,.static-view *::before,.static-view *::after{transition:none!important;animation:none!important}html:has(body.static-view){scroll-behavior:auto}

@media(min-width:1600px){.hero-copy,.approach-copy,.entrance-copy{left:7%}.journey-bottom{left:7%;right:7%}.film-note{right:7%}}
@media(max-width:1100px){.story-grid{gap:7%}.story h2{font-size:65px}.story-copy p{font-size:14px}.photo-window{height:500px}.food{gap:6%}.food h2{font-size:66px}.food-copy>p{font-size:14px}.commerce-heading{gap:25px}.commerce-heading h2{font-size:57px}.commerce-heading p{font-size:12px;max-width:240px}.business-option{padding:23px 20px}.business-title{font-size:28px}.business-detail{gap:28px}.business-detail p{font-size:13px}.primary-button{gap:24px}.photo-label{width:130px;height:130px;right:-25px;font-size:8px}.table-caption{font-size:7px}.illustration-note{font-size:11px}}
@media(max-width:900px){.site-header nav{gap:24px}.site-header{padding-left:20px;padding-right:20px;gap:20px}.hero-copy h1{font-size:84px}.film-note{font-size:7px}.story-grid{gap:6%}.story h2{font-size:57px}.photo-window{height:460px}.story-photo{margin-left:0}.food{gap:5%}.food h2{font-size:61px}.food-note{font-size:18px}.light-link{font-size:10px;gap:18px}.table-window{border-width:6px}.commerce-heading{display:block}.commerce-heading p{margin-top:24px;max-width:none}.business-title{font-size:25px}.business-option{gap:12px 4px;padding:21px 17px}.option-arrow{width:28px;height:28px;font-size:16px}.small-caps{font-size:8px}.business-detail p{max-width:390px}.manifesto{font-size:34px}.visit h2{font-size:64px}}
@media(max-width:760px){
  html{scroll-padding-top:105px}.site-header{top:12px;width:calc(100% - 28px);min-height:64px;padding:12px 17px;border-radius:13px;gap:15px}.wordmark{font-size:15px}.brand-second{font-size:10px}.brand-arch{width:27px;height:32px;border-width:6px}.brand-arch:after{left:5px;width:3px;height:11px}
  .menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;position:relative;min-width:42px;height:40px;border:1px solid #234b5730;border-radius:8px;background:transparent;color:var(--ink);margin-left:auto;padding:9px}.menu-toggle>span{width:18px;height:1px;background:currentColor;transition:transform .35s var(--ease)}.menu-toggle[aria-expanded="true"]>span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"]>span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .site-header nav{position:absolute;left:0;right:0;top:calc(100% + 9px);display:flex;flex-direction:column;align-items:stretch;gap:0;padding:14px 19px 19px;background:var(--paper);border:1px solid #234b571a;box-shadow:0 18px 35px #15383e20;border-radius:13px;font-size:14px}
  .site-header nav>a{display:flex;min-height:54px;padding:17px 5px;border-bottom:1px solid #234b5714}.site-header nav>a:not(.nav-lease):after{bottom:11px;right:auto;width:40px}.site-header nav .nav-lease{margin-top:12px;padding:15px 17px;justify-content:space-between;font-size:12px;border:0;border-radius:8px}
  .no-js .menu-toggle{display:none}.no-js .site-header{position:absolute;flex-wrap:wrap}.no-js .site-header nav{position:static;opacity:1;transform:none;pointer-events:auto;box-shadow:none;border:0;padding:0;flex-basis:100%;background:none;font-size:11px;flex-direction:row;flex-wrap:wrap;gap:10px}.no-js .site-header nav>a{font-size:10px;min-height:32px;padding:7px 0;border:0}.no-js .site-header nav .nav-lease{margin:0;padding:7px 10px}
  .story-grid{grid-template-columns:1fr;gap:42px}.story-copy p{max-width:470px}.story h2{font-size:65px}.story-photo{max-width:455px;width:85%;margin:14px 0 0 auto}.photo-window{height:510px}.photo-label{right:-22px;top:38px}.manifesto{margin-top:60px;font-size:31px;gap:14px}.section-top{padding-bottom:32px}.section-pad{padding:70px 7%}.food{grid-template-columns:1fr;gap:50px}.food h2{font-size:76px}.food-copy>p{max-width:430px}.table-illustration{max-width:440px;width:85%;margin:0 auto}.table-window{aspect-ratio:4/4.6}.table-caption{font-size:8px}.illustration-note{font-size:12px}.food-contours{right:-340px;top:68%}.commerce-heading h2{font-size:58px}.business-selector{gap:10px}.business-option{padding:20px 14px;grid-template-rows:16px 74px auto}.business-icon{width:90px;height:73px}.business-title{font-size:22px}.option-arrow{width:24px;height:24px;font-size:15px}.business-detail{align-items:flex-start;flex-direction:column;gap:24px}.business-detail p{max-width:500px;min-height:48px}.business-detail .primary-button{align-self:flex-end}.visit h2{font-size:59px}.round-link{width:124px;height:124px}.round-link>span:first-child{font-size:40px}.round-link>span:last-child{font-size:8px}.visit-lines{right:-155px;opacity:.65}
}
@media(min-width:601px) and (max-width:760px){.business-selector{grid-template-columns:1fr;gap:10px;margin-top:32px}.business-option{display:grid;grid-template-columns:20px 62px 1fr 30px;grid-template-rows:1fr;gap:14px;align-items:center;padding:15px 18px;min-height:95px;border-radius:5px 5px 22px 5px}.business-no{grid-column:1;grid-row:1;align-self:center;font-size:8px}.business-icon{grid-column:2;grid-row:1;width:62px;height:56px}.business-title{grid-column:3;grid-row:1;font-size:27px}.option-arrow{grid-column:4;grid-row:1;width:29px;height:29px;font-size:17px}.business-option:before{right:-80px;top:-80px}}
@media(max-width:600px){
  .journey{height:300svh}.journey-stage{min-height:640px}.scene-shell,.inside-window{inset:0;border-radius:0}.scene-fallback,#mall-film{object-position:64% 46%}.film-plane{transform-origin:64% 48%}.film-shade{background:linear-gradient(0deg,#081d28e3 0%,#0d242c9c 31%,transparent 85%),linear-gradient(180deg,#14334437,transparent 24%)}
  .hero-copy{left:7%;right:7%;bottom:129px;max-width:360px}.hero-copy .eyebrow,.chapter .eyebrow{font-size:7px;letter-spacing:.12em}.hero-copy h1{font-size:clamp(59px,15vw,85px);line-height:.96;margin:18px 0 17px}.hero-copy p{font-size:12px;max-width:240px}.hero-copy .text-link{font-size:10px;margin-top:13px;gap:26px}.approach-copy,.entrance-copy{left:7%;right:7%;bottom:153px;max-width:360px}.approach-copy h2,.entrance-copy h2{font-size:clamp(43px,10.6vw,60px);line-height:1.04}.approach-copy p{font-size:12px;line-height:1.7;margin-top:19px}
  .journey-bottom{left:7%;right:7%;bottom:29px;padding-top:16px;gap:14px}.scroll-cue{font-size:8px;gap:9px}.scroll-arrow{width:31px;height:31px;font-size:17px}.quiet,.scene-chapters{display:none}.motion-button{font-size:9px}.film-note{top:110px;right:7%;font-size:7px;padding:11px 12px;border-radius:2px 2px 22px 2px;letter-spacing:.12em}.film-location{font-size:6px;margin-top:6px}.inside-copy{left:7%;right:7%;bottom:26%}.inside-copy .eyebrow{font-size:8px;max-width:260px}.inside-copy h2{font-size:56px;margin-top:20px}
  .section-pad{padding:65px 7%}.eyebrow{font-size:9px}.small-caps{display:none}.story h2{font-size:clamp(52px,14vw,67px)}.story-copy p{font-size:14px;line-height:1.85}.story-photo{width:87%}.photo-window{height:440px}.photo-outline{inset:-14px 13px 57px -14px}.photo-label{width:115px;height:115px;right:-15px;font-size:7px;line-height:1.8;outline-offset:-7px}.story-photo figcaption{font-size:8px}.story-photo figcaption>span:last-child{font-size:7px}.manifesto{font-size:clamp(22px,6vw,31px);gap:10px;margin-top:47px;padding-top:27px;flex-wrap:wrap;line-height:1.3}.food h2{font-size:64px}.food-copy>p{font-size:14px}.food-note{font-size:20px}.light-link{font-size:10px;gap:20px;margin-top:28px}.table-illustration{width:90%;max-width:375px}.table-window{border-width:6px}.table-halo{right:-13px;left:9px}.illustration-note{right:-3px;font-size:11px}.table-caption{font-size:7px}
  .commerce-heading h2{font-size:clamp(41px,11.4vw,57px)}.commerce-heading p{font-size:13px;line-height:1.8}.business-selector{grid-template-columns:1fr;gap:10px;margin-top:32px}.business-option{display:grid;grid-template-columns:20px 62px 1fr 30px;grid-template-rows:1fr;gap:14px;align-items:center;padding:15px 18px;min-height:95px;border-radius:5px 5px 22px 5px}.business-no{grid-column:1;grid-row:1;align-self:center;font-size:8px}.business-icon{grid-column:2;grid-row:1;width:62px;height:56px}.business-title{grid-column:3;grid-row:1;font-size:27px}.option-arrow{grid-column:4;grid-row:1;width:29px;height:29px;font-size:17px}.business-option:before{right:-80px;top:-80px}.business-detail{padding-top:22px;margin-top:24px;gap:24px}.business-detail p{font-size:13px;min-height:68px}.business-detail .primary-button{align-self:stretch;width:100%;font-size:12px}.visit{flex-direction:column;align-items:flex-start;gap:30px}.visit h2{font-size:clamp(46px,12.3vw,62px);margin-top:20px}.round-link{align-self:flex-end;width:120px;height:120px;margin-top:-10px;margin-right:10px}.visit-lines{right:-165px;bottom:-70px;opacity:.6}.round-link>span:first-child{font-size:36px}
  footer{padding:37px 7% 25px;gap:20px}.footer-brand{font-size:12vw;padding-bottom:22px}footer>span{font-size:15px;max-width:185px}footer>a:last-of-type{font-size:10px}.prototype-note{font-size:8px;line-height:1.8}
  dialog{width:calc(100% - 24px);max-height:calc(100svh - 24px);border-radius:15px}dialog .t-modal{padding:34px 25px 27px}dialog h2{font-size:47px}.dialog-close{top:15px;right:15px;width:36px;height:36px}dialog .eyebrow{font-size:8px}select,textarea{font-size:16px}.dialog-intro{font-size:12px}.form-note{font-size:9px}form{margin-top:22px}
  body.static-view .journey,.no-js .journey{min-height:680px}
}
@media(max-width:380px){.business-option{grid-template-columns:16px 52px 1fr 25px;gap:10px;padding:15px}.business-icon{width:52px;height:52px}.business-title{font-size:24px}.option-arrow{width:25px;height:25px}.hero-copy h1{font-size:57px}.film-note{font-size:6px}.photo-window{height:400px}.story-photo figcaption{gap:10px}.illustration-note{font-size:10px}}
@media(max-height:740px) and (min-width:601px){.hero-copy{bottom:124px}.hero-copy h1{font-size:80px;margin-top:16px;margin-bottom:18px}.hero-copy p{font-size:12px}.hero-copy .text-link{margin-top:10px}.approach-copy,.entrance-copy{bottom:150px}.film-note{top:125px}.journey-bottom{bottom:36px}}
@media(prefers-reduced-motion:reduce){
  html,*,*::before,*::after{scroll-behavior:auto!important}.site-header{backdrop-filter:none}.t-dropdown,.t-text-swap,.t-stagger-line,.t-modal{transition:none!important}.t-stagger-line{opacity:1;transform:none;filter:none}.film-plane{transform:none!important;will-change:auto}.image-mask:after{transform:scaleY(0)!important;transition:none}.visit-lines path{stroke-dashoffset:0!important;transition:none}.motion-ready .manifesto>span{background:none;color:var(--word-ink,var(--ink))}[data-parallax]{transform:scale(1.075)!important;will-change:auto}.business-option,.business-icon,.option-arrow,.photo-label,.round-link,.round-link:before,.round-link>span,.primary-button,.primary-button>span,.text-link:after,.text-link>span,.light-link:after,.light-link>span,.site-header nav>a:after,.menu-toggle>span,.scroll-arrow{transition:none!important}
}

/* The outer wrapper is the flat hit area; touch-action:none
   lets a finger drag tilt the card instead of scrolling the
   page, so tap-hold-drag works on mobile. */
.t-tilt { touch-action: none; }
/* The card tilts toward the pointer via rotateX/rotateY fed
   from JS; on leave it eases back to flat. A separate
   .is-tilting class swaps in a short linear follow while the
   pointer moves so the tilt tracks the cursor 1:1. */
.t-tilt-card {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  transform:
    perspective(var(--tilt-perspective))
    rotateX(var(--tilt-rx, 0deg))
    rotateY(var(--tilt-ry, 0deg));
  transform-style: preserve-3d;
  transition: transform var(--tilt-return) var(--tilt-return-ease);
  will-change: transform;
}
.t-tilt-card.is-tilting {
  transition: transform var(--tilt-follow) var(--tilt-follow-ease);
}
/* Cursor-tracked glare: layered soft circles that add like
   light (screen blend) at the pointer position. */
.t-tilt-glare {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  mix-blend-mode: screen;
  background:
    radial-gradient(circle 95px at var(--tilt-gx, 50%) var(--tilt-gy, 50%),
      rgba(255,255,255,0.48), rgba(255,255,255,0.06) 52%, rgba(255,255,255,0) 84%),
    radial-gradient(circle 200px at var(--tilt-gx, 50%) var(--tilt-gy, 50%),
      rgba(255,255,255,0.22), rgba(255,255,255,0.04) 58%, rgba(255,255,255,0) 78%),
    radial-gradient(circle 360px at var(--tilt-gx, 50%) var(--tilt-gy, 50%),
      rgba(255,255,255,0.10), rgba(255,255,255,0) 88%);
  transition: opacity var(--tilt-glare-fade) var(--tilt-glare-ease);
}
.t-tilt.is-hover .t-tilt-glare { opacity: var(--tilt-glare-opacity); }

@media (prefers-reduced-motion: reduce) {
  .t-tilt-card { transform: none !important; transition: none !important; }
}
.business-card.t-tilt{touch-action:pan-y pinch-zoom}
@media(max-width:1100px){.business-card .business-icon{width:112px;height:97px}.story-memory{left:-30px;width:39%;bottom:65px}}
@media(max-width:760px){.business-card .business-option{border-radius:5px 5px 22px 5px}.business-card .business-icon{width:62px;height:56px}.business-card .business-no{font-size:12px}.story-memory{left:-28px;width:40%;bottom:65px}.site-header.on-film nav{color:var(--ink)}.table-illustration{transform:none}}
@media(max-width:380px){.business-card .business-icon{width:52px;height:52px}.story-memory{left:-22px}}
@media(hover:none){.business-card .t-tilt-card{transform:none!important}.business-card .t-tilt-glare{display:none}}
.static-view .hero-underline path,.no-js .hero-underline path{stroke-dashoffset:0}.static-view .story-memory,.no-js .story-memory{transform:rotate(-7deg)}.static-view .table-illustration{transform:none}.static-view .t-tilt-card{transform:none!important}.static-view .t-tilt-glare{display:none}.static-view .business-icon{stroke-dashoffset:0!important}.static-view .footer-brand,.no-js .footer-brand{transform:none;clip-path:none}
@media(prefers-reduced-motion:reduce){.hero-underline path{stroke-dashoffset:0;transition:none}.story-memory{transform:rotate(-7deg)}.table-illustration{transform:none}.business-icon{stroke-dashoffset:0!important}.footer-brand{transform:none!important;clip-path:none!important;transition:none}.t-tilt-glare{display:none}}

.no-js .site-header.on-film{background:var(--paper);color:var(--ink)}
