
:root{color-scheme:dark;--ink:#f2eee7;--soft:rgba(242,238,231,.76);--muted:rgba(242,238,231,.58);--line:rgba(255,255,255,.18)}
*{box-sizing:border-box}html,body{min-height:100%;margin:0}
body{background:linear-gradient(90deg,rgba(9,9,8,.12),rgba(9,9,8,.02) 48%,rgba(9,9,8,.18)),image-set(url("./assets/matter-factor-background.webp") type("image/webp"),url("./assets/matter-factor-background.jpg") type("image/jpeg")) center/cover fixed;color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 72% 42%,transparent 0 18%,rgba(0,0,0,.08) 52%,rgba(0,0,0,.24) 100%),linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.16))}
.landing-shell{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,47%) minmax(0,53%);min-height:100svh}
.copy-panel,.model-panel{min-width:0}.copy-panel{display:flex;align-items:center;padding:clamp(38px,6vw,104px) clamp(28px,7vw,126px)}
.copy-inner{width:min(100%,660px)}.eyebrow{margin:0 0 clamp(38px,6vh,76px);font-size:clamp(1.12rem,1.4vw,1.45rem);font-weight:700;letter-spacing:.015em}
.eyebrow span{position:relative;top:-.28em;margin-left:.08em;font-size:.55em}
h1{max-width:760px;margin:0;font-size:clamp(2.45rem,4.8vw,5.55rem);font-weight:600;letter-spacing:-.052em;line-height:.98;text-wrap:balance}
.bridge{margin:clamp(30px,4.7vh,54px) 0 0;color:var(--soft);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.35rem,2.15vw,2.25rem);font-style:italic;line-height:1.24}
.invitation{max-width:610px;margin:clamp(30px,4.6vh,50px) 0 0;color:var(--soft);font-size:clamp(1rem,1.22vw,1.24rem);line-height:1.62}
.contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 25px;margin-top:clamp(32px,5vh,54px)}
.contact-button,.email-link{color:var(--ink);text-decoration:none}
.contact-button{display:inline-flex;align-items:center;justify-content:center;min-width:138px;min-height:52px;padding:13px 24px;border:1px solid rgba(255,255,255,.68);border-radius:999px;background:rgba(255,255,255,.04);font-size:.94rem;font-weight:700;letter-spacing:.025em;backdrop-filter:blur(8px);transition:background 180ms ease,color 180ms ease,transform 180ms ease}
.contact-button:hover,.contact-button:focus-visible{background:var(--ink);color:#1d1d1b;transform:translateY(-1px)}
.email-link{padding:8px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:.92rem;letter-spacing:.015em;transition:color 180ms ease,border-color 180ms ease}
.email-link:hover,.email-link:focus-visible{color:var(--ink);border-color:rgba(255,255,255,.68)}
.model-panel{position:relative;min-height:100svh}.model-frame{position:absolute;inset:clamp(24px,4vw,70px) clamp(18px,3vw,60px) clamp(24px,4vw,70px) 0}
#model-canvas{display:block;width:100%;height:100%;outline:none;filter:drop-shadow(0 34px 34px rgba(0,0,0,.28))}
.model-fallback{position:absolute;inset:0;display:none;place-items:center}.model-fallback span{color:#7e5d3c;font-family:Georgia,serif;font-size:min(44vw,31rem);line-height:1;opacity:.76;transform:rotate(18deg);filter:drop-shadow(0 30px 30px rgba(0,0,0,.28))}
@media(max-width:900px){body{background-attachment:scroll}.landing-shell{grid-template-columns:1fr;grid-template-rows:minmax(43svh,52svh) auto;min-height:100svh}.model-panel{grid-row:1;min-height:43svh}.model-frame{inset:8px 12px 0}.copy-panel{grid-row:2;align-items:flex-start;padding:24px 26px 56px}.eyebrow{margin-bottom:27px}h1{font-size:clamp(2.35rem,11.2vw,4.4rem)}.bridge{margin-top:24px}.invitation{margin-top:25px}.contact-actions{margin-top:29px}}
@media(max-width:480px){.landing-shell{grid-template-rows:minmax(39svh,46svh) auto}.model-panel{min-height:39svh}.copy-panel{padding-inline:22px}.contact-actions{align-items:flex-start;flex-direction:column;gap:13px}.contact-button{width:100%}}
@media(prefers-reduced-motion:reduce){.contact-button,.email-link{transition:none}}
