*{box-sizing:border-box}html,body,#root{margin:0;padding:0}:root{--ink:#161d19;--ink-soft:#232d27;--cream:#f1ecdf;--cream-dim:#e7e0cd;--green:#1f6f45;--green-deep:#154d31;--steel:#9aa39f;--steel-dark:#5b6360;--brass:#c79a2e;--brass-bright:#e0b545;--line:#f1ecdf24;--shadow:0 20px 50px #00000059}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:Work Sans,sans-serif;line-height:1.5;overflow-x:hidden}h1,h2,h3,.display{letter-spacing:.01em;text-transform:uppercase;font-family:Big Shoulders Display,sans-serif;font-weight:800;line-height:.95}.mono{letter-spacing:.04em;font-family:IBM Plex Mono,monospace}a{color:inherit}img{max-width:100%;display:block}.wrap{max-width:1180px;margin:0 auto;padding:0 24px}section{position:relative}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--green);align-items:center;gap:10px;margin-bottom:14px;font-family:IBM Plex Mono,monospace;font-size:.72rem;display:flex}.eyebrow:before{content:"";background:var(--brass);width:22px;height:2px;display:inline-block}.nav{z-index:100;justify-content:space-between;align-items:center;padding:16px 28px;transition:background .35s,box-shadow .35s,padding .35s;display:flex;position:fixed;top:0;left:0;right:0}.nav.scrolled{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#161d19eb;padding:10px 28px;box-shadow:0 6px 24px #00000040}.nav-brand{align-items:center;gap:12px;display:flex}.nav-brand img{border:2px solid var(--brass);background:#fff;border-radius:50%;width:42px;height:42px}.nav-brand .name{letter-spacing:.03em;color:#fff;text-transform:uppercase;font-family:Big Shoulders Display,sans-serif;font-size:1.2rem;font-weight:800;line-height:1}.nav-brand .name span{letter-spacing:.16em;color:var(--brass);margin-top:3px;font-family:IBM Plex Mono,monospace;font-size:.55rem;font-weight:500;display:block}.nav-links{align-items:center;gap:28px;display:flex}.nav-links a{color:#efeee6;letter-spacing:.02em;opacity:.85;font-size:.85rem;font-weight:500;text-decoration:none;transition:opacity .2s}.nav-links a:hover{opacity:1;color:var(--brass-bright)}.nav-call{background:var(--brass);color:var(--ink);border-radius:2px;align-items:center;gap:8px;padding:9px 16px;font-size:.82rem;font-weight:700;text-decoration:none;transition:background .2s,transform .2s;display:flex}.nav-call:hover{background:var(--brass-bright);transform:translateY(-1px)}.nav-toggle{color:#fff;cursor:pointer;background:0 0;border:none;font-size:1.6rem;display:none}.hero{align-items:flex-end;height:100vh;min-height:600px;display:flex;position:relative;overflow:hidden}.hero-img{object-fit:cover;object-position:center 30%;filter:saturate(.92)contrast(1.03);width:100%;height:100%;position:absolute;inset:0}.hero:after{content:"";background:linear-gradient(#141a1659 0%,#12181459 35%,#0e1210f0 92%),repeating-linear-gradient(#0000000f 0 3px,#0000 3px 7px);position:absolute;inset:0}.hero-content{z-index:2;color:#fff;width:100%;max-width:1180px;margin:0 auto;padding:0 24px 64px;position:relative}.hero-badge{letter-spacing:.12em;text-transform:uppercase;color:var(--cream);background:#1f6f45d9;border:1px solid #c79a2e99;align-items:center;gap:8px;margin-bottom:22px;padding:7px 14px;font-family:IBM Plex Mono,monospace;font-size:.72rem;display:inline-flex}.hero h1{color:#fdfbf3;font-size:clamp(3rem,10vw,7.2rem)}.hero h1 em{color:var(--brass-bright);font-style:normal}.hero p.tagline{color:var(--cream-dim);border-left:3px solid var(--brass);max-width:520px;margin-top:10px;padding-left:14px;font-family:Work Sans,sans-serif;font-size:clamp(1rem,2vw,1.35rem);font-style:italic}.hero-cta{flex-wrap:wrap;gap:14px;margin-top:36px;display:flex}.btn{letter-spacing:.02em;cursor:pointer;border:none;border-radius:2px;align-items:center;gap:10px;padding:14px 26px;font-size:.9rem;font-weight:700;text-decoration:none;transition:transform .2s,background .2s,box-shadow .2s;display:inline-flex}.btn-primary{background:var(--brass);color:var(--ink)}.btn-primary:hover{background:var(--brass-bright);transform:translateY(-2px);box-shadow:0 10px 24px #c79a2e4d}.btn-ghost{color:#fff;background:0 0;border:1.5px solid #ffffff8c}.btn-ghost:hover{background:#ffffff14;border-color:#fff}.hero-stats{z-index:3;gap:0;display:flex;position:absolute;bottom:0;right:24px;transform:translateY(50%)}.section-pad{padding:110px 0}.section-title{max-width:720px;margin-bottom:18px;font-size:clamp(2.1rem,4.4vw,3.4rem)}.section-lede{max-width:600px;color:var(--ink-soft);margin-bottom:56px;font-size:1.02rem}.route{background:var(--ink);color:var(--cream)}.route .eyebrow{color:var(--brass-bright)}.route .section-title{color:#fff}.route .section-lede{color:var(--steel)}.route-list{border-left:2px solid var(--steel-dark);margin-left:14px;padding-left:36px;position:relative}.route-item{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:22px;padding:26px 0;display:flex;position:relative}.route-item:last-child{border-bottom:none}.route-item:before{content:"";background:var(--brass);width:12px;height:12px;box-shadow:0 0 0 4px var(--ink), 0 0 0 5px var(--steel-dark);border-radius:50%;position:absolute;top:32px;left:-43px}.route-dist{color:var(--brass-bright);min-width:120px;font-family:IBM Plex Mono,monospace;font-size:1.5rem;font-weight:600}.route-dist span{letter-spacing:.1em;color:var(--steel);text-transform:uppercase;margin-top:2px;font-size:.62rem;font-weight:500;display:block}.route-label{color:#fff;font-size:1.08rem;font-weight:600}.route-label small{color:var(--steel);margin-top:3px;font-size:.85rem;font-weight:400;display:block}.address-card{background:var(--ink-soft);border:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:56px;padding:28px 30px;display:flex}.address-card .addr-text{color:var(--cream-dim);font-size:.95rem}.address-card .addr-text strong{color:#fff;text-transform:uppercase;letter-spacing:.02em;margin-bottom:4px;font-family:Big Shoulders Display;font-size:1.3rem;display:block}.gallery{background:var(--cream)}.gallery-frame{box-shadow:var(--shadow);position:relative;overflow:hidden}.gallery-frame img{width:100%;height:auto}.gallery-caption{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px;margin-top:18px;display:flex}.gallery-caption h3{letter-spacing:.02em;font-size:1.4rem}.gallery-caption p{color:var(--ink-soft);max-width:480px;font-size:.92rem}.shops{background:var(--cream-dim)}.shop-row{grid-template-columns:repeat(7,1fr);gap:14px;margin-top:20px;display:grid}.shutter{background:var(--ink);aspect-ratio:3/4.6;cursor:pointer;outline-offset:3px;border:1px solid #000;position:relative;overflow:hidden}.shutter:focus-visible{outline:3px solid var(--brass)}.shutter-face{transform-origin:top;z-index:2;background-color:#0000;background-image:repeating-linear-gradient(#ffffff24 0 2px,#0000 2px 14px),linear-gradient(#8b938f,#575f5c 55%,#3a413e);background-position:0 0;background-repeat:repeat;background-size:100% 14px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;flex-direction:column;justify-content:center;align-items:center;transition:transform .55s cubic-bezier(.65,0,.35,1),box-shadow .55s;display:flex;position:absolute;inset:0;box-shadow:inset 0 -30px 40px #00000059}.shutter-face .num{color:#1419168c;text-shadow:0 1px #ffffff40;font-family:Big Shoulders Display;font-size:2.6rem;font-weight:900}.shutter-face .tag{letter-spacing:.14em;color:#141916a6;text-transform:uppercase;margin-top:4px;font-family:IBM Plex Mono;font-size:.6rem}.shutter-rail{z-index:3;background:#20211f;height:16px;position:absolute;top:0;left:0;right:0;box-shadow:0 3px 6px #0006}.shutter:hover .shutter-face,.shutter:focus-visible .shutter-face{transform:scaleY(.14);box-shadow:inset 0 -10px 16px #0006}.shutter-inside{background:linear-gradient(160deg, var(--green-deep), var(--ink) 70%);z-index:1;flex-direction:column;justify-content:flex-end;padding:16px 12px;display:flex;position:absolute;inset:0}.shutter-inside .status{letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:var(--brass);align-self:flex-start;margin-bottom:10px;padding:3px 8px;font-family:IBM Plex Mono;font-size:.6rem}.shutter-inside h4{color:#fff;text-transform:uppercase;letter-spacing:.02em;margin-bottom:6px;font-family:Big Shoulders Display;font-size:1.15rem}.shutter-inside p{color:var(--steel);margin-bottom:10px;font-size:.72rem;line-height:1.4}.shutter-inside button{border:1px solid var(--brass);color:var(--brass-bright);letter-spacing:.05em;cursor:pointer;text-transform:uppercase;background:0 0;padding:7px 8px;font-family:Work Sans;font-size:.68rem;font-weight:600;transition:background .2s,color .2s}.shutter-inside button:hover{background:var(--brass);color:var(--ink)}.shop-hint{color:var(--steel-dark);align-items:center;gap:8px;margin-top:22px;font-size:.85rem;display:flex}.floorplan{background:var(--ink);color:var(--cream)}.floorplan .eyebrow{color:var(--brass-bright)}.floorplan .section-title{color:#fff}.floorplan .section-lede{color:var(--steel)}.plan-layout{grid-template-columns:300px 1fr;align-items:start;gap:48px;display:grid}.plan-outer{border:1px solid var(--line);background:#0d1210;width:100%;max-width:300px;padding:14px;display:flex}.plan-driveway{writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.1em;color:var(--steel);border-right:1px dashed var(--steel-dark);text-transform:uppercase;flex-shrink:0;justify-content:center;align-items:center;width:26px;font-family:IBM Plex Mono;font-size:.6rem;display:flex}.plan-building{flex-direction:column;flex:1;min-height:520px;margin-left:10px;display:flex}.plan-facilities{grid-template-columns:1fr 1fr .8fr;gap:3px;height:70px;margin-bottom:6px;display:grid}.plan-fac-cell{background:var(--ink-soft);border:1px solid var(--line);text-align:center;letter-spacing:.03em;color:var(--steel);text-transform:uppercase;justify-content:center;align-items:center;padding:4px;font-family:IBM Plex Mono;font-size:.52rem;line-height:1.25;display:flex}.plan-shops{flex:1;gap:4px;display:flex}.plan-col{flex-direction:column;flex:1;gap:4px;display:flex}.plan-corridor{border-left:1px dashed var(--steel-dark);border-right:1px dashed var(--steel-dark);background:repeating-linear-gradient(0deg,#0000 0 6px,#f1ecdf0f 6px 7px);flex-shrink:0;width:20px;position:relative;overflow:hidden}.plan-corridor .flow{background:linear-gradient(0deg, var(--brass-bright), transparent);width:2px;height:22px;animation:2.4s linear infinite flowUp;position:absolute;top:100%;left:50%;transform:translate(-50%)}@keyframes flowUp{0%{opacity:0;top:100%}15%{opacity:1}to{opacity:0;top:-10%}}.plan-shop{cursor:pointer;outline-offset:2px;border:1px solid #0006;flex:1;position:relative;overflow:hidden}.plan-shop:focus-visible{outline:2px solid var(--brass)}.plan-shop .zone{color:#000000bf;flex-direction:column;justify-content:center;align-items:center;font-family:Big Shoulders Display;font-weight:800;display:flex;position:absolute;inset:0}.plan-shop .zone .n{font-size:1.1rem;line-height:1}.plan-shop .zone .z{letter-spacing:.06em;text-transform:uppercase;margin-top:2px;font-family:IBM Plex Mono;font-size:.44rem;font-weight:600}.plan-shop .shutter-cover{transform-origin:top;z-index:2;background:repeating-linear-gradient(#ffffff29 0 2px,#0000 2px 8px),linear-gradient(#7d8683,#4a514e);transition:transform .6s cubic-bezier(.65,0,.35,1);position:absolute;inset:0;transform:scaleY(1)}.plan-shop.revealed .shutter-cover{transform:scaleY(0)}.plan-shop:hover .zone,.plan-shop:focus-visible .zone{filter:brightness(1.15)}.plan-entrance{letter-spacing:.12em;height:34px;color:var(--brass-bright);text-transform:uppercase;justify-content:center;align-items:center;gap:8px;margin-top:6px;font-family:IBM Plex Mono;font-size:.6rem;display:flex}.plan-entrance .arrow{animation:1.6s ease-in-out infinite pulseUp;display:inline-block}@keyframes pulseUp{0%,to{opacity:.6;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}.plan-facts{grid-template-columns:repeat(2,1fr);gap:14px 24px;margin-bottom:34px;display:grid}.plan-fact{border-top:1px solid var(--line);padding-top:10px}.plan-fact .v{color:var(--brass-bright);font-family:IBM Plex Mono;font-size:1.3rem}.plan-fact .l{color:var(--steel);margin-top:2px;font-size:.78rem}.plan-tooltip{background:var(--ink-soft);border:1px solid var(--line);flex-direction:column;justify-content:center;min-height:150px;padding:22px 24px;display:flex}.plan-tooltip .ph{color:var(--steel);font-size:.9rem}.plan-tooltip h4{color:#fff;margin-bottom:8px;font-size:1.4rem}.plan-tooltip .swatch{vertical-align:middle;border-radius:2px;width:10px;height:10px;margin-right:8px;display:inline-block}.plan-tooltip p{color:var(--steel);max-width:420px;margin-bottom:14px;font-size:.9rem}.plan-tooltip button{background:var(--brass);color:var(--ink);letter-spacing:.03em;text-transform:uppercase;cursor:pointer;border:none;align-self:flex-start;padding:10px 18px;font-size:.8rem;font-weight:700;transition:background .2s}.plan-tooltip button:hover{background:var(--brass-bright)}@media (width<=900px){.plan-layout{grid-template-columns:1fr}.plan-outer{max-width:260px;margin:0 auto}}.amenities{background:var(--ink);color:var(--cream)}.amenities .eyebrow{color:var(--brass-bright)}.amenities .section-title{color:#fff}.amenities .section-lede{color:var(--steel)}.amen-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:2px;display:grid}.amen-card{background:var(--ink);padding:34px 26px;transition:background .25s}.amen-card:hover{background:var(--ink-soft)}.amen-card .icon{width:44px;height:44px;color:var(--brass-bright);margin-bottom:18px}.amen-card h4{text-transform:uppercase;color:#fff;letter-spacing:.02em;margin-bottom:8px;font-family:Big Shoulders Display;font-size:1.2rem}.amen-card p{color:var(--steel);font-size:.86rem}.contact{background:var(--cream)}.contact-grid{grid-template-columns:1fr 1.15fr;gap:60px;display:grid}.contact-info h3{margin-bottom:16px;font-size:1.5rem}.contact-info p{color:var(--ink-soft);max-width:420px;margin-bottom:28px}.contact-line{border-top:1px solid #161d1924;align-items:center;gap:14px;padding:16px 0;display:flex}.contact-line:last-of-type{border-bottom:1px solid #161d1924}.contact-line .ic{width:20px;height:20px;color:var(--green);flex-shrink:0}.contact-line a{font-weight:600;text-decoration:none}.quick-actions{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.quick-actions a{flex:1;justify-content:center;min-width:140px}.form-card{background:var(--ink);color:var(--cream);box-shadow:var(--shadow);padding:40px;position:relative}.form-card:before{content:"";background:repeating-linear-gradient(90deg, var(--brass) 0 26px, var(--green) 26px 52px);height:6px;position:absolute;top:0;left:0;right:0}.form-row{margin-bottom:20px}.form-row label{letter-spacing:.1em;text-transform:uppercase;color:var(--brass-bright);margin-bottom:8px;font-family:IBM Plex Mono;font-size:.68rem;display:block}.form-row input,.form-row select,.form-row textarea{background:var(--ink-soft);border:1px solid var(--line);color:#fff;outline:none;width:100%;padding:13px 14px;font-family:Work Sans;font-size:.92rem;transition:border-color .2s}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--brass)}.form-row textarea{resize:vertical;min-height:100px}.two-col{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-submit{background:var(--brass);width:100%;color:var(--ink);letter-spacing:.03em;text-transform:uppercase;cursor:pointer;border:none;padding:16px;font-size:.95rem;font-weight:700;transition:background .2s}.form-submit:hover{background:var(--brass-bright)}.form-note{color:var(--steel);margin-top:14px;font-size:.75rem}.success-msg{background:var(--green-deep);border:1px solid var(--green);color:#fff;align-items:center;gap:12px;margin-bottom:20px;padding:16px 18px;font-size:.9rem;display:none}.success-msg.show{display:flex}footer{color:var(--steel);background:#101512;padding:50px 0 26px}.footer-top{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;padding-bottom:30px;display:flex}.footer-brand{align-items:center;gap:14px;display:flex}.footer-brand img{border-radius:50%;width:48px;height:48px}.footer-brand .name{color:#fff;text-transform:uppercase;font-family:Big Shoulders Display;font-size:1.3rem}.footer-brand .name small{color:var(--brass);letter-spacing:.14em;margin-top:2px;font-family:IBM Plex Mono;font-size:.62rem;display:block}footer .foot-links{flex-wrap:wrap;gap:22px;display:flex}footer .foot-links a{color:var(--steel);font-size:.85rem;text-decoration:none}footer .foot-links a:hover{color:var(--brass-bright)}.footer-bottom{flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:.75rem;display:flex}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(24px)}.reveal.in{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}.shutter-face{transition:none}}@media (width<=980px){.contact-grid{grid-template-columns:1fr}.amen-grid{grid-template-columns:repeat(2,1fr)}.shop-row{grid-template-columns:repeat(4,1fr)}}@media (width<=720px){.nav-links{background:var(--ink);z-index:99;flex-direction:column;justify-content:center;gap:26px;width:78%;height:100vh;transition:right .35s;position:fixed;top:0;right:-100%}.nav-links.open{right:0}.nav-toggle{z-index:101;display:block}.nav-call{display:none}.amen-grid{grid-template-columns:1fr}.shop-row{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.section-pad{padding:70px 0}.address-card{flex-direction:column;align-items:flex-start}.form-card{padding:26px}}
