:root{--ink:#151310;--black:#10100f;--cream:#f3efe5;--muted:#aaa49a;--gold:#bd995c;--gold-light:#dec18a;--line:rgba(255,255,255,.17)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none}
button,a{outline-offset:4px}
img{max-width:100%}
.skip{position:absolute;left:-9999px;top:0;background:#fff;color:#000;padding:12px;z-index:30}
.skip:focus{left:8px}
.site-header{height:84px;padding:0 clamp(22px,5vw,80px);display:flex;align-items:center;justify-content:space-between;background:var(--black);color:#f8f2e8;border-bottom:1px solid var(--line);position:relative;z-index:5}
.brand{display:flex;align-items:center;gap:10px;font-size:13px;letter-spacing:.14em;line-height:1.2;font-weight:700}
.brand img{object-fit:contain}
.site-header nav{display:flex;gap:clamp(22px,3.5vw,56px);font-size:13px;color:#d4cec3}
.site-header nav a:hover,.footer a:hover{color:var(--gold-light)}
.header-cta{border:1px solid #806c4d;padding:13px 18px;font-size:12px;font-weight:700;letter-spacing:.04em}
.header-cta span{margin-left:14px}
.header-cta:hover{background:var(--gold);color:#111}
.eyebrow{font-size:11px;letter-spacing:.22em;font-weight:700;color:var(--gold-light);margin:0 0 22px}
.eyebrow.dark{color:#84673c}
.hero{min-height:650px;background:#11100f;color:#f3eee4;display:grid;grid-template-columns:55% 45%;position:relative;overflow:hidden}
.hero-copy{padding:clamp(68px,8vw,125px) 20px 75px clamp(24px,8vw,130px);position:relative;z-index:2}
.spark{font-size:20px;vertical-align:-2px;margin-right:10px}
.hero h1,.detail-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(66px,7.6vw,122px);font-weight:400;letter-spacing:-.065em;line-height:.93;margin:0 0 32px}
.hero h1 em,.section h2 em,.space-section h2 em,.detail-info h2 em,.footer h2 em{font-weight:400;color:var(--gold-light)}
.hero-lead{max-width:490px;font-size:18px;line-height:1.65;color:#c4beb4;margin:0}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:38px}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:42px;padding:19px 24px;font-size:12px;font-weight:700;letter-spacing:.05em;transition:transform .2s,background .2s}
.button:hover{transform:translateY(-3px)}
.button-gold{background:var(--gold-light);color:#19150f}
.button-gold:hover{background:#edcf97}
.text-link{font-size:13px;border-bottom:1px solid #a48e6a;padding-bottom:5px}
.text-link:hover{color:var(--gold-light)}
.hero-location{display:flex;align-items:center;gap:14px;margin-top:90px;color:#a69e92;font-size:10px;letter-spacing:.17em;font-weight:700}
.hero-location .line{width:32px;height:1px;background:var(--gold)}
.hero-visual{min-height:600px;display:flex;align-items:center;justify-content:center;position:relative;background:radial-gradient(circle at center,#392f20 0,#1d1a16 39%,#11100f 68%);border-left:1px solid var(--line)}
.hero-visual img{width:min(53%,310px);height:auto;image-rendering:auto;position:relative;z-index:2;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.orbit{position:absolute;border:1px solid rgba(189,153,92,.26);border-radius:50%;aspect-ratio:1}
.orbit-one{width:60%}
.orbit-two{width:83%;border-style:dashed;opacity:.5}
.visual-star{position:absolute;color:var(--gold-light);font-size:55px}
.star-one{top:16%;left:16%}
.star-two{bottom:17%;right:18%;font-size:32px}
.visual-caption{position:absolute;bottom:47px;left:50px;font-size:10px;letter-spacing:.19em;line-height:1.6;color:#ab9b82}
.hero-vertical{position:absolute;right:18px;top:50%;writing-mode:vertical-rl;font-size:9px;color:#8b7b62;letter-spacing:.25em;z-index:2}
.ticker{background:var(--gold);color:#181410;padding:16px 20px;font-size:12px;font-weight:800;letter-spacing:.16em;text-align:center}
.ticker span{display:block;max-width:100%;line-height:1.5}
.section{padding:110px clamp(24px,6vw,95px)}
.section-intro{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}
.section h2,.space-section h2,.detail-info h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(48px,5vw,76px);font-weight:400;letter-spacing:-.06em;line-height:1.04;margin:0}
.section h2 em,.detail-info h2 em{color:#9f7d46}
.section-intro>p{max-width:350px;line-height:1.7;color:#6e685f;font-size:15px}
.card-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.service-card{grid-column:span 2;min-height:380px;display:flex;flex-direction:column;justify-content:space-between;padding:24px;overflow:hidden;position:relative;transition:transform .2s,box-shadow .2s}
.service-card:nth-child(4),.service-card:nth-child(5){grid-column:span 3;min-height:340px}
.service-card:hover{transform:translateY(-5px);box-shadow:0 12px 30px #1b140e28}
.service-card.gold{background:#d8b979}
.service-card.violet{background:#514259;color:#faf5ef}
.service-card.copper{background:#ad6e43;color:#fff9ef}
.service-card.teal{background:#719b8e}
.service-card.rose{background:#a76d65;color:#fff9ef}
.card-art{position:absolute;font-family:Georgia,serif;font-size:clamp(180px,24vw,360px);line-height:1;right:-15px;top:13px;opacity:.2;transition:transform .3s}
.card-art.theater-mark{width:min(78%,310px);height:auto;right:3%;top:8%;opacity:.24;filter:brightness(0)}
.service-card:hover .card-art{transform:rotate(12deg) scale(1.07)}
.card-bottom{display:flex;align-items:end;justify-content:space-between;gap:10px;z-index:1}
.card-bottom>span:first-child{display:flex;flex-direction:column;gap:8px}
.card-bottom small{text-transform:uppercase;font-size:10px;letter-spacing:.2em;font-weight:700}
.card-bottom strong{font-family:Georgia,serif;font-size:clamp(30px,3vw,45px);letter-spacing:-.05em;font-weight:400;line-height:1}
.card-bottom span span{font-size:13px}
.arrow{width:40px;height:40px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:20px;flex-shrink:0}
.space-section{background:#25241f;color:#f5eee2;display:grid;grid-template-columns:1fr 1fr;min-height:510px}
.space-symbol{display:grid;place-items:center;font-family:Georgia,serif;color:#aa8954;font-size:clamp(220px,30vw,480px);line-height:1;background:radial-gradient(circle,#423827,#25241f 65%);overflow:hidden}
.space-section>div:last-child{padding:100px clamp(25px,7vw,110px) 95px 30px;align-self:center}
.space-section p:not(.eyebrow){line-height:1.8;color:#bfb8ab;max-width:460px;margin:27px 0}
.outline-link{display:inline-block;border-bottom:1px solid var(--gold);font-size:13px;padding:0 0 8px}
.visit-strip{background:#e3d5b9;padding:36px clamp(24px,6vw,95px);display:flex;align-items:center;gap:25px;justify-content:space-between}
.visit-strip span{font-size:10px;letter-spacing:.18em;font-weight:800}
.visit-strip p{font-family:Georgia,serif;font-size:22px;margin:0}
.visit-strip a{font-size:13px;border-bottom:1px solid #000;padding-bottom:5px;white-space:nowrap}
.footer{background:#11100f;color:#f4eee2;padding:90px clamp(24px,6vw,95px) 30px}
.footer-top{display:flex;align-items:end;justify-content:space-between;gap:30px;padding-bottom:75px}
.footer h2{font-family:Georgia,serif;font-size:clamp(52px,6.5vw,96px);letter-spacing:-.065em;line-height:1;font-weight:400;margin:0}
.button-light{background:#f0e7d5;color:#18140e}
.footer-bottom{display:flex;align-items:end;justify-content:space-between;gap:35px;border-top:1px solid var(--line);padding-top:27px;color:#aaa49a;font-size:12px}
.footer-bottom strong{color:#f5eee2;font-size:16px}
.footer-bottom p{margin-bottom:0}
.footer-links{display:flex;gap:25px}
.footer-bottom small{white-space:nowrap}
.detail-hero{min-height:620px;background:#191713;color:#f4eee3;display:grid;grid-template-columns:60% 40%;overflow:hidden}
.detail-content{padding:50px 30px 90px clamp(24px,8vw,130px);position:relative;z-index:1}
.back{display:inline-block;font-size:12px;color:#c3b49a;margin-bottom:95px}
.detail-hero h1{font-size:clamp(62px,7vw,110px);max-width:850px}
.detail-lead{font-size:18px;line-height:1.6;color:#cbc2b4;max-width:600px;margin:0 0 32px}
.detail-art{display:grid;place-items:center;background:radial-gradient(circle,#51432d,#25211c 59%,#171512);overflow:hidden}
.detail-art span{font-family:Georgia,serif;font-size:clamp(250px,33vw,540px);line-height:1;color:#b49460;opacity:.65}
.detail-art .theater-mark{display:block;width:min(78%,390px);height:auto;opacity:.82}
.detail-hero.violet .detail-art{background:radial-gradient(circle,#54445d,#201c23 66%)}
.detail-hero.teal .detail-art{background:radial-gradient(circle,#47685e,#1d2925 66%)}
.detail-hero.copper .detail-art{background:radial-gradient(circle,#8c5433,#251a16 66%)}
.detail-hero.rose .detail-art{background:radial-gradient(circle,#79504d,#261d1d 66%)}
.detail-info{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:110px clamp(24px,8vw,130px)}
.info-list>div{border-bottom:1px solid #c7c0b3;padding:21px 0}
.info-list>div p{font-family:Georgia,serif;font-size:25px;margin:0}
.info-note{font-size:13px;color:#70695e;line-height:1.6}
.detail-next{padding:45px clamp(24px,8vw,130px);background:#d8b979;display:flex;justify-content:space-between;gap:20px;align-items:center}
.detail-next p{font-family:Georgia,serif;font-size:30px;margin:0}
.detail-next a{border-bottom:1px solid #1a1510;padding-bottom:5px;font-size:13px}
.not-found{background:#11100f;color:#fff;min-height:100vh;padding:15vh 8vw}
.not-found h1{font-family:Georgia,serif;font-size:clamp(60px,10vw,130px);font-weight:400}
@media(max-width:850px){.site-header nav{display:none}
.hero{grid-template-columns:1fr}
.hero-copy{padding:80px 7vw 50px}
.hero-location{margin-top:60px}
.hero-visual{min-height:470px;border-left:0;border-top:1px solid var(--line)}
.hero-visual img{width:240px}
.section-intro{align-items:start;flex-direction:column}
.card-grid{grid-template-columns:repeat(2,1fr)}
.service-card,.service-card:nth-child(4),.service-card:nth-child(5){grid-column:span 1}
.space-section{grid-template-columns:1fr}
.space-symbol{min-height:270px;font-size:280px}
.space-section>div:last-child{padding:65px 7vw}
.detail-hero{grid-template-columns:1fr}
.detail-art{min-height:240px;grid-row:1}
.detail-art span{font-size:240px}
.detail-content{padding:40px 7vw 80px}
.back{margin-bottom:50px}
.detail-info{grid-template-columns:1fr;gap:35px}
.footer-bottom{flex-wrap:wrap}
}
@media(max-width:560px){.site-header{height:72px;padding:0 18px}
.brand img{width:43px;height:43px}
.brand{font-size:10px}
.header-cta{padding:11px;font-size:11px}
.header-cta span{margin-left:4px}
.hero h1{font-size:clamp(61px,14vw,82px)}
.hero-lead{font-size:16px}
.hero-actions{align-items:start;flex-direction:column;gap:23px}
.hero-visual{min-height:360px}
.hero-visual img{width:190px}
.orbit-one{width:280px}
.orbit-two{width:340px}
.visual-caption{left:23px;bottom:23px}
.section{padding:75px 20px}
.card-grid{display:block}
.service-card,.service-card:nth-child(4),.service-card:nth-child(5){min-height:280px;margin-bottom:13px}
.card-art{font-size:260px}
.section h2,.space-section h2,.detail-info h2{font-size:51px}
.visit-strip{display:block}
.visit-strip p{margin:18px 0}
.footer{padding:70px 20px 35px}
.footer-top{display:block}
.footer-top .button{margin-top:30px}
.footer-bottom{display:block}
.footer-links{margin:25px 0}
.detail-hero h1{font-size:64px}
.detail-lead{font-size:16px}
.detail-info{padding:75px 20px}
.detail-next{display:block}
.detail-next a{display:inline-block;margin-top:20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{transition:none!important;animation:none!important}
}
