/* Graphite edition — shared layout lives in site.css. */
:root { --paper:#111214; --ink:#f1f1f3; --muted:#929398; --line:#2c2d31; --purple:#b7abec; --amber:#d3ab72; --radius:22px; color-scheme:dark; }
::selection { background:#b7abec; color:#111214; }
body { overflow-x:clip; }
.site-header { height:90px; background:#111214da; }
.header-inner { border-color:#ffffff14; }
.brand { font-size:35px; font-weight:700; }
.brand-dot { color:#b7abec; }
nav { font-size:12px; }
nav a:hover { color:#c6baf8; }
.nav-contact { border:1px solid #ffffff2b; border-radius:30px; padding:12px 18px; margin-left:18px; }
.signal-dot { background:#b7abec; box-shadow:0 0 16px #a493de66; }
.skip { background:#f1f1f3; color:#111214; }
.button { border-radius:100px; min-height:54px; padding:15px 25px; }
.button-dark,.button-light,.button-white { background:#f0f0f2; color:#151518; }
.button-dark:hover,.button-light:hover,.button-white:hover { background:#c9bdf5; color:#111214; box-shadow:0 8px 35px #ac98ee25; }
.button-outline { border-color:#ffffff3b; color:#f3f0e9; }
.button-outline:hover { background:#d6b17b; border-color:#d6b17b; color:#181714; }
.button svg { transition:transform .25s; }
.button:hover svg { transform:translate(2px,-2px); }
.hero-graphite { position:relative; isolation:isolate; overflow:hidden; }
.hero-atmosphere { position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse at 78% 55%,#2a28301c,transparent 65%); }
.hero-stage { position:relative; min-height:790px; padding-top:32px; padding-bottom:116px; }
.hero-kicker { display:flex; align-items:center; justify-content:space-between; position:relative; z-index:3; }
.hero-kicker .eyebrow { font-size:9px; letter-spacing:1.7px; margin:0; color:#d0cfd4; }
.hero-coordinate { font-size:8px; letter-spacing:1.5px; color:#6a6c72; }
.graphite-copy { position:relative; z-index:2; padding-top:82px; width:max-content; max-width:76%; pointer-events:none; }
.graphite-copy h1 { font-size:clamp(92px,8.5vw,139px); line-height:.99; letter-spacing:-8px; font-weight:500; margin:0 0 30px; }
.graphite-copy h1>span { background:linear-gradient(110deg,#f7f7fa 8%,#c3c1ca 45%,#67666e 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.graphite-copy>p { font-size:16px; line-height:1.8; color:#9e9fa6; letter-spacing:-.2px; margin:0 0 32px; }
.hero-actions { display:flex; align-items:center; gap:25px; pointer-events:auto; }
.hero-actions .button { min-height:58px; padding:9px 10px 9px 24px; gap:29px; font-size:12px; }
.hero-actions .button>span { width:38px; height:38px; border-radius:50%; background:#19191d; color:#f5f5f8; display:grid; place-items:center; }
.hero-actions .button svg { width:19px; height:19px; }
.hero-manifest { font-size:10px; line-height:1.7; color:#707178; }
.graphite-art { position:absolute; width:850px; height:850px; right:-145px; top:-15px; z-index:1; transition:transform .8s cubic-bezier(.15,.7,.3,1); transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)); }
.sculpture-float { width:100%; height:100%; animation:chrome-float 12s ease-in-out infinite; }
.chrome-sculpture { width:100%; height:100%; object-fit:contain; mask-image:radial-gradient(ellipse at 50% 46%,#000 45%,transparent 73%); -webkit-mask-image:radial-gradient(ellipse at 50% 46%,#000 45%,transparent 73%); }
.art-orbit { position:absolute; width:82%; height:25%; border:1px solid #ffffff0c; border-radius:50%; top:42%; left:9%; transform:rotate(-23deg); pointer-events:none; }
.art-caption { position:absolute; right:140px; bottom:150px; font-size:7px; color:#9a989f; letter-spacing:1.9px; display:flex; gap:8px; align-items:center; }
.art-caption i { width:4px; height:4px; border-radius:50%; background:#c6b4f4; box-shadow:0 0 9px #c6b4f4; }
.hero-project-rail { display:grid; grid-template-columns:1fr 1fr .8fr; position:absolute; bottom:0; left:0; right:0; z-index:3; border-top:1px solid #ffffff20; }
.hero-project-rail>a { display:flex; align-items:center; gap:22px; padding:25px 30px 25px 0; font-size:16px; border-right:1px solid #ffffff12; transition:background .25s; }
.hero-project-rail>a:nth-child(2) { padding-left:30px; }
.hero-project-rail>a:hover { background:#ffffff03; }
.rail-number { color:#666872; font-size:10px; align-self:flex-start; padding-top:3px; }
.hero-project-rail small { display:block; font-size:10px; color:#74757d; margin-top:7px; }
.hero-project-rail svg { width:17px; height:17px; margin-left:auto; color:#94959c; }
.hero-project-rail .rail-scroll { border-right:0; justify-content:flex-end; padding-right:0; font-size:10px; color:#797b84; line-height:1.6; }
.scroll-circle { width:36px; height:36px; border:1px solid #484950; border-radius:50%; display:grid; place-items:center; font-size:17px; color:#c7c7cc; }
.manifest-strip { border-block:1px solid #ffffff0c; padding:30px 0; overflow:hidden; margin-top:45px; background:#141517; }
.manifest-track { display:flex; align-items:center; gap:50px; width:max-content; animation:manifest-slide 42s linear infinite; }
.manifest-track>span { font-size:56px; line-height:1; letter-spacing:-2px; font-weight:500; color:transparent; -webkit-text-stroke:1px #42434b; }
.manifest-track>i { font-size:38px; color:#9184ba; font-style:normal; line-height:1; }
.projects { padding-top:100px; }
.section-heading { margin-bottom:40px; }
.section-heading h2 { font-size:54px; line-height:1.12; letter-spacing:-2.6px; }
.section-heading .eyebrow { font-size:8px; color:#777983; margin-bottom:24px; }
.muted-heading { color:#777981; }
.small-count { font-size:11px; color:#8a8b94; vertical-align:top; margin:12px 0 0 18px; }
.section-heading>p { font-size:12px; line-height:1.9; color:#909199; margin-bottom:5px; }
.project-card { border:1px solid #ffffff16; margin-bottom:30px; position:relative; transition:box-shadow .45s,border-color .45s,transform .6s; }
.project-card::before { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; background:radial-gradient(650px circle at var(--mx,70%) var(--my,50%),#ffffff08,transparent 65%); opacity:0; transition:opacity .5s; }
.project-card:hover::before { opacity:1; }
.project-card:hover { border-color:#ffffff30; box-shadow:0 25px 90px #00000035; }
.project-call { background:radial-gradient(ellipse at 80% 55%,#292331 0,transparent 65%),linear-gradient(120deg,#1a1a20,#19191e); color:#f3f0fa; }
.project-copy { padding:40px 45px 28px; }
.project-text { padding-top:60px; }
.project-text h3 { font-size:54px; line-height:1.08; letter-spacing:-2px; }
.project-call .project-text h3>span { color:#ada0d7; }
.project-text .eyebrow { color:#a1a0ad; opacity:.8; }
.project-text>p:not(.eyebrow) { opacity:1; color:#a0a0aa; }
.project-bottomline { color:#91919d; opacity:1; border-color:#ffffff12; }
.project-number { color:#777783; opacity:1; }
.call-visual { background:radial-gradient(ellipse at 55% 50%,#76629f25,transparent 66%); }
.call-orbit { border-color:#c2afee0d; }
.phone-frame { border-color:#595963; box-shadow:20px 35px 60px #0009; }
.call-sticker { background:#c7b9e9; color:#272231; border:1px solid #e6dcff4d; box-shadow:0 12px 40px #0005; }
.mini-wave { background:#605075; }
.mini-wave i { animation:signal-wave 1.5s ease-in-out infinite; }
.mini-wave i:nth-child(2) { animation-delay:.2s; }.mini-wave i:nth-child(3) { animation-delay:.4s; }.mini-wave i:nth-child(4) { animation-delay:.1s; }.mini-wave i:nth-child(5) { animation-delay:.3s; }
.project-umbra { background:radial-gradient(ellipse at 25% 50%,#3a2c1c42,transparent 55%),#181819; color:#f0ece7; }
.project-umbra .project-text h3 { font-size:54px; }
.project-umbra .project-text h3>span { color:#c7a571; }
.project-umbra .project-text>p:not(.eyebrow) { color:#a49e96; }
.umbra-visual { background:radial-gradient(ellipse,#98652e0d,transparent 65%); }
.umbra-art { filter:drop-shadow(0 0 35px #e4ad600b); }
.about { padding-top:130px; padding-bottom:100px; }
.about-title .eyebrow { color:#777983; }
.about h2 { font-size:45px; letter-spacing:-2px; line-height:1.13; }
.about h2 span { color:#777981; }
.about-lead { color:#c1c1c9; font-size:20px; line-height:1.7; }
.principles>div { border-color:#2c2d31; }
.principles>div>span { color:#777983; }
.principles p { color:#8c8d96; }
.closing-line { padding:50px 0 80px; border-color:#2c2d31; }
.closing-line p { font-size:49px; letter-spacing:-2px; }
.closing-line p span { color:#797b85; }
.closing-symbol { color:#71717c; }
.site-footer { background:linear-gradient(155deg,#202126,#17181c); border-top:1px solid #ffffff0b; padding-top:75px; overflow:hidden; }
.footer-top { align-items:center; padding-bottom:45px; }
.footer-top .eyebrow { color:#90919c; }
.footer-top .signal-dot { background:#b7abec; }
.footer-top h2 { font-size:85px; letter-spacing:-5px; line-height:1.07; }
.footer-top h2 span { color:#8b8a97; }
.footer-contact>p { color:#9a9aa5; }
.email-link { color:#e1e0e8; border-color:#53535e; }
.copy-email,.copy-result { color:#b0a0d2; }
.footer-watermark { font-size:clamp(170px,27vw,450px); letter-spacing:-.095em; font-weight:600; line-height:.9; margin:35px 0 0; color:#ffffff07; user-select:none; position:relative; padding-bottom:20px; }
.footer-watermark>span { font-size:.13em; letter-spacing:0; position:absolute; top:0; margin:20px 0 0 30px; }
.footer-bottom { border-color:#ffffff15; color:#82838d; position:relative; }
.footer-bottom .brand { color:#d9d9df; }
.product-hero { padding-top:35px; padding-bottom:90px; }
.product-hero h1 { font-size:80px; }
.call-detail h1 span { color:#b3a1da; }
.umbra-detail h1 span { color:#d1ad78; }
.detail-lead { color:#a2a2ac; }
.detail-call-visual { background:radial-gradient(ellipse,#49405933,transparent 70%),#1a1a20; border:1px solid #ffffff15; }
.detail-umbra-visual { background:radial-gradient(ellipse,#392b1d30,transparent 70%); border:1px solid #ffffff0a; }
.gallery-section { background:radial-gradient(ellipse at 70% 50%,#3b304333,transparent 70%),#19191f; border-block:1px solid #ffffff09; }
.gallery-layout p:not(.eyebrow):not(.fine-print) { color:#a09aa9; }
.gallery-tabs button { border-color:#585260; color:#bbb3c9; }
.gallery-tabs button.active { background:#d0c3ec; border-color:#d0c3ec; color:#1a1622; }
.fine-print { color:#77717f; }
.faq-list summary>span { color:#baace0; }
.faq-list summary:hover { color:#b9aadd; }
.route-section { background:radial-gradient(ellipse at 50% 50%,#382c1e22,transparent 70%),#171718; border-block:1px solid #ffffff0a; }
.route-node>span:last-child { color:#a2988b; }
.route-disclaimer { color:#8f867b; }
.story-columns h3 { color:#dbdbe1; }
.back-link:hover { color:#c2b3ef; }
@keyframes chrome-float { 0%,100% { transform:translateY(0) rotate(-2deg); } 50% { transform:translateY(-15px) rotate(1deg); } }
@keyframes manifest-slide { to { transform:translateX(-50%); } }
@keyframes signal-wave { 0%,100% { transform:scaleY(.6); } 50% { transform:scaleY(1); } }
@media(min-width:1500px) { .hero-stage { min-height:830px; }.graphite-copy { padding-top:85px; }.graphite-art { width:930px; height:930px; right:-170px; top:-45px; }.art-caption { right:175px; bottom:185px; } }
@media(max-width:1100px) { .hero-stage { min-height:720px; }.graphite-copy { padding-top:80px; }.graphite-copy h1 { font-size:103px; letter-spacing:-6px; }.graphite-art { width:740px; height:740px; right:-240px; top:20px; }.graphite-copy>p { font-size:14px; }.hero-manifest { display:none; }.hero-project-rail>a { gap:15px; padding-right:22px; }.hero-project-rail>a:nth-child(2) { padding-left:22px; }.section-heading h2 { font-size:43px; }.project-text h3,.project-umbra .project-text h3 { font-size:42px; }.project-copy { padding-inline:30px; }.about h2 { font-size:36px; }.footer-top h2 { font-size:64px; }.product-hero h1 { font-size:64px; } }
@media(max-width:760px) {
 .site-header { height:78px; }.brand { font-size:29px; }.nav-contact { border:0; border-radius:0; margin:0; padding:17px 0; }.menu-toggle span { background:#dfdfe6; }nav { background:#16171a; border-color:#37383e; box-shadow:0 22px 32px #0005; }
 .hero-stage { min-height:0; padding-top:28px; padding-bottom:0; }.hero-kicker .eyebrow { font-size:7px; letter-spacing:1.15px; }.hero-kicker .signal-dot { width:4px; height:4px; margin-right:6px; }.hero-coordinate { display:none; }
 .graphite-copy { padding-top:37px; max-width:100%; width:auto; }.graphite-copy h1 { font-size:clamp(53px,15.2vw,92px); line-height:1.01; letter-spacing:-3.4px; margin-bottom:25px; }.graphite-copy>p { font-size:12px; line-height:1.8; margin-bottom:23px; }.hero-actions .button { min-height:50px; font-size:11px; padding:7px 8px 7px 21px; gap:22px; }.hero-actions .button>span { width:33px; height:33px; }.hero-actions .button svg { width:17px; height:17px; }.hero-manifest { display:block; font-size:8px; }.hero-actions { gap:16px; }
 .graphite-art { position:relative; top:auto; right:auto; width:calc(100% + 50px); height:auto; aspect-ratio:1; margin:-25px -25px -20px; }.art-caption { bottom:40px; right:25px; font-size:5px; letter-spacing:1.1px; }.chrome-sculpture { mask-image:radial-gradient(ellipse at 50% 46%,#000 45%,transparent 72%); }.art-orbit { display:none; }
 .hero-project-rail { position:relative; grid-template-columns:1fr 1fr; }.hero-project-rail>a { padding:20px 14px 20px 0; gap:10px; font-size:13px; }.hero-project-rail>a:nth-child(2) { padding-left:17px; border-right:0; }.hero-project-rail small { font-size:7px; margin-top:7px; }.rail-number { font-size:7px; }.hero-project-rail svg { width:12px; height:12px; }.hero-project-rail .rail-scroll { display:none; }
 .manifest-strip { margin-top:30px; padding:22px 0; }.manifest-track { gap:25px; }.manifest-track>span { font-size:36px; letter-spacing:-1px; -webkit-text-stroke-color:#484952; }.manifest-track>i { font-size:23px; }
 .projects { padding-top:63px; }.section-heading { flex-direction:column; gap:19px; margin-bottom:29px; }.section-heading h2 { font-size:34px; letter-spacing:-1.5px; }.section-heading .eyebrow { font-size:6px; margin-bottom:18px; }.section-heading>p { max-width:none; font-size:11px; line-height:1.7; }.small-count { font-size:8px; margin:8px 0 0 10px; }
 .project-card { border-radius:18px; margin-bottom:22px; }.project-copy,.project-umbra .project-copy { padding:25px 25px 20px; }.project-text,.project-umbra .project-text { padding-top:37px; }.project-text h3 { font-size:45px; letter-spacing:-1.8px; }.project-umbra .project-text h3 { font-size:39px; }.project-text>p:not(.eyebrow) { font-size:12px; }.project-bottomline { font-size:7px; }.call-visual { min-height:420px; }.umbra-visual { height:325px; }
 .about { padding-top:68px; padding-bottom:53px; }.about h2 { font-size:32px; letter-spacing:-1.4px; }.about-lead { font-size:16px; }.closing-line { padding:30px 0 50px; }.closing-line p { font-size:27px; letter-spacing:-1.2px; }
 .site-footer { padding-top:45px; }.footer-top { align-items:flex-start; padding-bottom:0; }.footer-top h2 { font-size:53px; letter-spacing:-2.8px; }.email-link { font-size:20px; }.footer-watermark { margin-top:35px; padding-bottom:22px; font-size:28vw; }.footer-watermark>span { margin:7px 0 0 10px; }.footer-bottom { margin-top:5px; }.product-hero { padding-top:23px; padding-bottom:50px; }.product-hero h1 { font-size:60px; }.detail-lead { font-size:14px; }
}
@media(max-width:360px) { .graphite-copy h1 { font-size:53px; letter-spacing:-3px; }.hero-manifest { font-size:7px; }.hero-kicker .eyebrow { font-size:6px; }.hero-project-rail>a { gap:8px; font-size:11px; }.hero-project-rail small { font-size:6px; }.project-text h3 { font-size:40px; }.project-umbra .project-text h3 { font-size:34px; }.section-heading h2 { font-size:29px; }.footer-top h2 { font-size:45px; }.product-hero h1 { font-size:52px; } }
@media(prefers-reduced-motion:reduce) { .graphite-art { transform:none!important; }.manifest-track { animation:none; }.sculpture-float,.mini-wave i { animation:none; } }
