.custom-project{padding:0;perspective:1000px}.project-image{width:100%;height:100%;object-fit:cover;display:block}.burgundy{background:linear-gradient(135deg,#300819,#751530);color:#f8f3e7}.rose{background:linear-gradient(135deg,#eacbb6,#d5846c);color:#59051e}.concept-art{padding:10%;height:100%;position:relative}.concept-art>span{font-size:9px;letter-spacing:2px;text-transform:uppercase}.concept-art h3{font-size:clamp(28px,3.5vw,55px);letter-spacing:-2px;max-width:80%;position:relative;z-index:1}.code-orbit{font-size:clamp(100px,13vw,180px);font-weight:800;position:absolute;right:5%;bottom:2%;opacity:.2;letter-spacing:-18px}.contact-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:35px;font-size:15px}.contact-links p{width:100%}.honey{position:absolute;left:-9999px}.project-caption{flex-wrap:wrap}.project-caption a{font-size:11px;border-bottom:1px solid}#form-status{font-size:14px;line-height:1.7}header{position:relative;z-index:10}input[type=hidden]{display:none}.section{position:relative}.service{transition:padding .4s,background .4s}.service:hover{padding-left:15px;background:#ea786008}
.honey{position:absolute;left:-9999px}input[type=hidden]{display:none}.project-caption{flex-wrap:wrap}.page-projects .work,.page-contact .contact{min-height:75vh;padding-top:65px}

.page-services .services{min-height:75vh;padding-top:65px}.page-services header{border-bottom:1px solid var(--line)}.project-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px;font-size:12px}.project-toolbar button{background:transparent;border:1px solid var(--line);border-radius:30px;padding:10px 16px;color:var(--wine)}.draggable-window{border-radius:10px;border:1px solid #59051e25;box-shadow:0 18px 40px #59051e18;transition:box-shadow .25s;overflow:hidden;position:relative}.draggable-window .concept-art{padding-top:58px}.draggable-window .project-image{padding-top:38px}.project:hover .project-visual{transform:none}.draggable-window.dragging{box-shadow:0 30px 65px #59051e35}.dragging .work-grid{position:relative}.project{position:relative}.project-toolbar p{margin:0}header nav{gap:26px}@media(max-width:600px){header{flex-wrap:wrap;height:auto;min-height:105px;padding:15px 0;gap:12px}header nav{display:flex;width:100%;justify-content:space-between;gap:12px}header nav a:last-child{display:block}header nav a{font-size:12px}.project-toolbar{font-size:10px;align-items:start}.project-toolbar button{font-size:10px;white-space:nowrap}}
.draggable-window{touch-action:pan-y;user-select:none;will-change:translate}.draggable-window.dragging{cursor:grabbing!important}.project-visual:not(.draggable-window) .concept-art{padding-top:10%}.contact-links{padding:24px;border:1px solid var(--line);border-radius:12px}.empty-projects{padding:40px 0;color:#765e60}

.custom-project .concept-art{padding:10%}.custom-project .project-image{padding-top:0}.custom-project{cursor:default;translate:none;transform:none}.project:hover .project-visual{transform:none}

.project-visual-link{display:block;position:relative;cursor:pointer}.project-visual-link:focus-visible{outline:3px solid var(--coral);outline-offset:6px}.project-visual-link .project-visual{cursor:pointer}.project-caption h3 a{font-size:inherit;border-bottom:0}.project-visual-link:hover .project-visual{box-shadow:0 16px 40px #59051e20}
.section-title{font-size:clamp(40px,4.2vw,70px);line-height:1.1;letter-spacing:-3px;margin:0;font-weight:800}.contact .contact-title{font-size:clamp(55px,7.5vw,120px);position:relative;line-height:1.1;letter-spacing:-3px;margin:0}.contact-title>span{position:absolute;right:3%;top:0;font-weight:400}.project-motion{perspective:1000px;transform-style:preserve-3d;position:relative}.project-motion .project-visual{backface-visibility:hidden;transform-style:preserve-3d;transition:box-shadow .35s}.project-motion:hover .project-visual{box-shadow:0 25px 50px #59051e24}.hero-art img{height:auto}img.project-image{aspect-ratio:1.25}.project-visual-link{isolation:isolate}.project-visual-link .project-motion,.project-motion .project-visual{pointer-events:auto}@media(max-width:600px){.section-title{font-size:40px;letter-spacing:-2px}.contact .contact-title{font-size:53px}.contact-title>span{font-size:40px;right:0}}

/* Vector arrows: consistent shape and alignment on iOS, Android and desktop. */
.icon-arrow{display:inline-block;width:1.15em;height:1.15em;min-width:1.15em;flex:0 0 auto;vertical-align:-.16em;overflow:visible;pointer-events:none;stroke:currentColor;fill:none}.pill .icon-arrow,.text-link .icon-arrow{width:18px;height:18px;min-width:18px}.service .arrow{display:inline-flex;align-items:center;justify-content:center;line-height:1}.service .arrow .icon-arrow{width:28px;height:28px}.contact-title>span{display:flex;align-items:center;justify-content:center;width:clamp(42px,7vw,110px);height:clamp(42px,7vw,110px);line-height:1}.contact-title>span .icon-arrow{width:100%;height:100%;min-width:0}.project-caption a .icon-arrow,footer a .icon-arrow,.contact-links a .icon-arrow{width:16px;height:16px;min-width:16px;margin-left:4px}footer>a:not(.brand){display:inline-flex;align-items:center;gap:5px}@media(max-width:600px){.contact-title>span{width:40px;height:40px;top:5px;right:0}.service .arrow .icon-arrow{width:24px;height:24px}.pill,.text-link{align-items:center}.pill .icon-arrow,.text-link .icon-arrow{width:17px;height:17px;min-width:17px}}
/* Approved stacked surfaces: each incoming section covers the previous one. */
.page-home main>.services,.page-home main>.contact{background:var(--paper)}.page-home main>.work{background:#eee8dc}.page-home main>.about{background:var(--wine)}.page-home main>.section{isolation:isolate;position:relative}.stack-section{border-radius:20px 20px 0 0;box-shadow:0 -10px 36px #30091612}.stack-rail{position:fixed;inset:0 0 auto;z-index:900;pointer-events:none}.stack-rail-row{position:absolute;left:0;right:0;padding:0 8%;display:flex;align-items:center;background:var(--paper);color:var(--wine);border-bottom:1px solid var(--line);font-size:10px;letter-spacing:1.5px;font-weight:700;visibility:hidden;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;box-shadow:0 -3px 12px #30091608}.stack-rail-dark{background:var(--wine);color:var(--paper);border-color:#ffffff30}.page-home footer{position:relative;background:var(--paper);z-index:1000}.section-title,.statement,.contact-title{will-change:clip-path}.page-home main{position:relative}.project-visual-link{display:block}.page-home .section{scroll-margin-top:190px}.page-home .contact{padding-top:110px}@media(max-width:700px){.stack-rail-row{padding:0 6%;font-size:9px;letter-spacing:1px}.stack-section{border-radius:14px 14px 0 0}.page-home .contact{padding-top:70px}.page-home .section{scroll-margin-top:155px}}@media(prefers-reduced-motion:reduce){.section-title,.statement,.contact-title{will-change:auto;clip-path:none!important}.stack-rail{display:none}}

html.lenis,html.lenis body{height:auto}html.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-scrolling iframe{pointer-events:none}

/* The retained section headers also navigate back to their source sections. */
.stack-rail{pointer-events:none}.stack-rail-row{pointer-events:auto;width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;text-align:left;font-family:inherit;cursor:pointer;appearance:none;-webkit-appearance:none;transition:background-color .25s,color .25s;padding-block:0;margin:0}.stack-rail-row:hover{background:#eee4d7}.stack-rail-row.stack-rail-dark{border-bottom-color:#ffffff30}.stack-rail-row.stack-rail-dark:hover{background:#70102c}.stack-rail-row:focus-visible{outline:2px solid var(--coral);outline-offset:-3px}.stack-rail-row::after{content:' ';width:7px;height:7px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(-45deg);margin-left:auto;flex-shrink:0}

/* Showcase headings: readable word spacing at every screen size. */
.work .section-top>div{min-width:0}.work .section-title{font-size:clamp(34px,4.2vw,64px);font-weight:800;line-height:1.18;letter-spacing:-.025em;word-spacing:.09em;white-space:normal;overflow-wrap:normal;word-break:normal;margin:0;padding-bottom:.08em}.work .section-top{align-items:flex-end}@media(max-width:600px){.work .section-title{font-size:clamp(30px,7.6vw,42px);line-height:1.2;letter-spacing:-.02em;word-spacing:.08em}.work .section-top>div{width:100%}.work .section-top>p{margin-top:22px}}

/* Footer continues the contact surface, without inset background edges. */
body>footer,.page-home>footer{width:100%;margin:0;padding:34px 8% 30px;background:var(--paper);color:var(--wine);border-top:1px solid var(--line);border-radius:0;box-shadow:none;position:relative;z-index:1000;display:flex;align-items:center;gap:28px;isolation:isolate}body>footer::before{content:'';position:absolute;left:0;right:0;top:-16px;height:16px;background:var(--paper);pointer-events:none}body>footer .brand{font-size:18px;letter-spacing:-.5px;gap:10px}body>footer .brand img{width:30px;height:36px;object-fit:contain}body>footer>span{font-size:13px;line-height:1.6;margin-right:auto}body>footer>a:not(.brand){font-size:12px;gap:8px;white-space:nowrap}body>footer small{font-size:12px;line-height:1.6;white-space:nowrap}.page-home main>.contact{border-bottom-left-radius:0;border-bottom-right-radius:0;box-shadow:none;padding-bottom:64px}body{background:var(--paper)}@media(max-width:700px){body>footer,.page-home>footer{padding:28px 6%;display:grid;grid-template-columns:1fr auto;gap:18px 14px}body>footer .brand{font-size:16px}body>footer>span{display:block;grid-column:1/-1;grid-row:2;margin:0;font-size:12px}body>footer>a:not(.brand){grid-column:2;grid-row:1;justify-self:end}body>footer small{grid-column:1/-1;width:auto;padding:0;font-size:11px}.page-home main>.contact{padding-bottom:48px}}

/* Contact labels stay outside their field and focus outline. */
#contact-form{width:100%;max-width:700px;min-width:0}#contact-form label:not(.honey){display:flex;flex-direction:column;gap:12px;line-height:1.5;margin:0 0 24px;min-width:0}#contact-form input:not([type=hidden]),#contact-form textarea{box-sizing:border-box;display:block;width:100%;max-width:100%;min-width:0;margin:0;border:1px solid var(--line);border-radius:10px;padding:15px 16px;background:transparent;color:var(--wine);font-size:16px;line-height:1.6;outline:none;transition:border-color .2s,box-shadow .2s}#contact-form input:not([type=hidden]){min-height:54px}#contact-form textarea{min-height:150px;resize:vertical}#contact-form input:not([type=hidden]):focus,#contact-form textarea:focus{border-color:var(--wine);box-shadow:0 0 0 2px #59051e10}#contact-form input:not([type=hidden]):focus-visible,#contact-form textarea:focus-visible{outline:2px solid var(--coral);outline-offset:2px}#contact-form button{margin-top:4px}#contact-form .honey{position:absolute;left:-9999px}@media(max-width:600px){#contact-form label:not(.honey){gap:10px;margin-bottom:22px}#contact-form textarea{min-height:140px}}

/* Light remains the original design; dark mode has independent surface colors. */
html{color-scheme:light}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--wine);cursor:pointer}.theme-toggle svg{pointer-events:none}.theme-sun{display:none}.theme-toggle:hover{background:#59051e0c}html[data-theme=dark]{color-scheme:dark;--paper:#171719;--wine:#f3e9df;--line:#f3e9df30;--coral:#ef9b83}html[data-theme=dark] body{background:var(--paper);color:var(--wine)}html[data-theme=dark] .theme-moon{display:none}html[data-theme=dark] .theme-sun{display:block}html[data-theme=dark] .theme-toggle:hover{background:#ffffff0c}html[data-theme=dark] .work,html[data-theme=dark] .page-home main>.work{background:#202023}html[data-theme=dark] .about,html[data-theme=dark] .page-home main>.about{background:#291822;color:#f3e9df}html[data-theme=dark] .stack-rail-dark{background:#291822;color:#f3e9df}html[data-theme=dark] .stack-rail-row:hover{background:#303035}html[data-theme=dark] .stack-rail-row.stack-rail-dark:hover{background:#412433}html[data-theme=dark] .section-top>p,html[data-theme=dark] .service p,html[data-theme=dark] .empty-projects{color:#c8bdbe}html[data-theme=dark] .about em,html[data-theme=dark] .contact em{color:#ef9b83}html[data-theme=dark] .pill{background:#ed987f;color:#27141b}html[data-theme=dark] .pill:hover{background:#f4af99}html[data-theme=dark] .hero-art img{mix-blend-mode:normal;border-radius:28px;filter:brightness(.88);box-shadow:0 20px 70px #0003}html[data-theme=dark] .rose{background:linear-gradient(135deg,#ba8b7b,#986759);color:#201417}html[data-theme=dark] #contact-form input,html[data-theme=dark] #contact-form textarea{background:#202023;color:#f3e9df}html[data-theme=dark] #contact-form input:focus,html[data-theme=dark] #contact-form textarea:focus{border-color:#ef9b83;box-shadow:0 0 0 2px #ef9b8315}html[data-theme=dark] .project-visual-link:hover .project-visual{box-shadow:0 20px 50px #0005}html[data-theme=dark] .concept-art>span{opacity:.9}html.theme-ready body,html.theme-ready .section,html.theme-ready footer,html.theme-ready .stack-rail-row{transition:background-color .35s,color .35s,border-color .35s}@media(max-width:900px){header{gap:16px}.theme-toggle{margin-left:auto}}@media(max-width:600px){header nav{order:3}.theme-toggle{width:40px;height:40px;margin-left:auto}html[data-theme=dark] .hero-art img{border-radius:20px}}@media(prefers-reduced-motion:reduce){html.theme-ready body,html.theme-ready .section,html.theme-ready footer,html.theme-ready .stack-rail-row{transition:none}}

/* Dark hero: remove the supplied logo image's pale studio backdrop. */
html[data-theme=dark] .hero-art img[src$="logo-3d.jpg"]{filter:url(#hero-dark-cutout);mix-blend-mode:normal;background:transparent;border-radius:0;box-shadow:none}html[data-theme=dark] .hero-art{width:46%;max-width:690px;right:1.5%}html[data-theme=dark] .hero-copy{width:60%}html[data-theme=dark] .hero h1{font-size:clamp(50px,5.4vw,92px);letter-spacing:-.045em;line-height:1.08}html[data-theme=dark] .hero-note{color:#c8bdbe}@media(min-width:901px){html[data-theme=dark] .hero{min-height:640px}html[data-theme=dark] .hero h1>span:first-child{white-space:nowrap}}@media(max-width:900px) and (min-width:601px){html[data-theme=dark] .hero h1{font-size:7vw}html[data-theme=dark] .hero-art{width:48%;right:-3%}}@media(max-width:600px){html[data-theme=dark] .hero-copy{width:100%}html[data-theme=dark] .hero h1{font-size:clamp(42px,10.7vw,65px);letter-spacing:-.045em}html[data-theme=dark] .hero-art{width:350px;max-width:95%;right:calc(50% - 175px);bottom:0;top:auto;transform:none}}

/* Real alpha-transparent dark-mode artwork replaces the color filter. */
.hero-art .hero-dark{display:none}html[data-theme=dark] .hero-art .hero-light{display:none}html[data-theme=dark] .hero-art .hero-dark{display:block;filter:none;mix-blend-mode:normal;border-radius:0;box-shadow:none;background:transparent;width:100%;height:auto}html[data-theme=dark] .hero-art{width:43%;max-width:620px;right:3%}@media(max-width:600px){html[data-theme=dark] .hero-art{width:310px;max-width:88%;right:calc(50% - 155px);bottom:25px}}

/* Shared geometry prevents a theme switch from moving the hero artwork. */
.hero-art,html[data-theme=dark] .hero-art{width:46%;max-width:690px;right:1.5%;aspect-ratio:1;top:50%;bottom:auto;transform:translateY(-50%)}.hero-art .hero-light,.hero-art .hero-dark,html[data-theme=dark] .hero-art .hero-dark{position:absolute;object-fit:contain;max-width:none;margin:0}.hero-art .hero-light{width:100%;height:100%;top:0;left:0}html[data-theme=dark] .hero-art .hero-dark{width:90%;height:90%;top:3%;left:5%}.hero-copy,html[data-theme=dark] .hero-copy{width:60%}.hero h1,html[data-theme=dark] .hero h1{font-size:clamp(50px,5.4vw,92px);letter-spacing:-.045em;line-height:1.08}@media(min-width:901px){.hero h1>span:first-child,html[data-theme=dark] .hero h1>span:first-child{white-space:nowrap}}@media(max-width:900px) and (min-width:601px){.hero-art,html[data-theme=dark] .hero-art{width:48%;right:-3%}.hero h1,html[data-theme=dark] .hero h1{font-size:7vw}}@media(max-width:600px){.hero-copy,html[data-theme=dark] .hero-copy{width:100%}.hero h1,html[data-theme=dark] .hero h1{font-size:clamp(42px,10.7vw,65px);letter-spacing:-.045em}.hero-art,html[data-theme=dark] .hero-art{width:350px;max-width:95%;right:calc(50% - 175px);top:auto;bottom:0;transform:none}}

/* One transparent asset, one geometry in both themes. */
html[data-theme=light]{--paper:#f8f3e7;--wine:#59051e;--line:#59051e30;--coral:#ea7860}html[data-theme=light] body,html[data-theme=light] .hero{background:var(--paper);color:var(--wine)}.hero-art .hero-unified,html[data-theme=dark] .hero-art .hero-unified{display:block;position:absolute;top:3%;left:5%;width:90%;height:90%;max-width:none;margin:0;object-fit:contain;filter:none;mix-blend-mode:normal;border-radius:0;box-shadow:none;background:transparent}.hero-art,html[data-theme=dark] .hero-art{background:transparent}.hero-art::before,.hero-art::after{display:none}html[data-theme=light] .hero-copy{color:#59051e}html[data-theme=light] .hero h1>span:first-child{color:#59051e}html[data-theme=light] .hero .lead{color:#59051e}
