@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Manrope:wght@400;500;600&display=swap');
:root{--paper:#faf9f6;--ink:#101b2b;--line:#d8d8d0;--muted:#626a70;--wash:#eeede7;--p:0;--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.65 var(--sans)}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}h1,h2,p{margin:0}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #b28e4b;outline-offset:6px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip{position:fixed;top:-100px;z-index:30;background:#fff;padding:15px}.skip:focus{top:0}.micro{text-transform:uppercase;font-size:10px;letter-spacing:.16em;line-height:1.6}.masthead{height:98px;position:fixed;inset:0 0 auto;z-index:8;display:flex;align-items:center;justify-content:space-between;padding:0 4%;background:rgba(250,249,246,.94);border-bottom:1px solid rgba(16,27,43,.08);color:#101b2b;backdrop-filter:blur(14px)}.brand{position:absolute;left:50%;top:7px;transform:translateX(-50%);line-height:0}.brand img{width:84px;height:84px;object-fit:contain;mix-blend-mode:multiply}.menu-trigger{background:none;border:0;display:flex;align-items:center;gap:18px;text-transform:uppercase;letter-spacing:.16em;font-size:10px;padding:15px 0}.burger{width:22px;display:grid;gap:5px}.burger i{height:1px;background:currentColor;display:block}.burger i:last-child{width:15px}.header-right{display:flex;align-items:center;gap:36px;text-transform:uppercase;font-size:10px;letter-spacing:.15em}.header-right select{border:0;background:transparent;font-size:10px;color:#101b2b;padding:12px}.journey{height:230vh;position:relative}.stage{position:sticky;top:0;height:100svh;overflow:hidden}.epure-scene,.horizon-scene{position:absolute;inset:0}.epure-scene{opacity:calc(1 - var(--p));background:#fff}.epure-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(calc(1 + var(--p)*.09));object-position:center}.hero-copy{position:absolute;top:22%;left:6%;max-width:65%;transform:translateY(calc(var(--p)*-50px))}.hero-copy .micro{margin-bottom:24px}h1,h2{font:400 clamp(55px,6.5vw,110px)/.91 var(--serif);letter-spacing:-.045em}h1 span,h1 em,h2 span,h2 em{display:block}h1 em,h2 em{font-weight:400}.line-link{display:inline-flex;gap:32px;align-items:center;border-bottom:1px solid currentColor;padding:9px 0;font-size:11px;letter-spacing:.03em}.hero-copy .line-link{margin-top:26px}.scene-foot{position:absolute;bottom:25px;left:4%;right:4%;display:flex;align-items:center;justify-content:space-between}.scroll-link{display:flex;align-items:center;gap:20px;font-size:11px}.scroll-arrow{font-size:23px;animation:drift 2.4s infinite}.horizon-scene{color:#fff;opacity:var(--p);pointer-events:none;background:#071322}.horizon-art{width:100%;height:100%;object-fit:cover;transform:scale(calc(1.07 - var(--p)*.07))}.horizon-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,12,25,.74),transparent 75%);pointer-events:none}.horizon-copy{position:absolute;z-index:1;left:8%;bottom:13%;max-width:700px;transform:translateY(calc((1 - var(--p))*40px))}.horizon-copy .micro{margin-bottom:25px}.horizon-copy h2{font-size:clamp(62px,6.6vw,108px)}.horizon-copy>p:not(.micro){max-width:43ch;font-size:13px;line-height:1.8;margin:22px 0 14px;color:#e2e7ec}.horizon-foot{position:absolute;z-index:1;bottom:25px;left:4%;right:4%;display:flex;justify-content:space-between;gap:20px;font-size:8px}.stage.in-orbit .horizon-scene{pointer-events:auto}.stage.in-orbit .epure-scene{pointer-events:none}.univers{padding:110px 6% 130px;position:relative;background:var(--paper)}.section-top{display:flex;justify-content:space-between;gap:50px;align-items:start;margin-bottom:65px}.short-intro{font:400 32px/1.2 var(--serif);max-width:440px}.offer-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:8%}.offer-list{border-top:1px solid var(--line)}.offer{width:100%;display:grid;grid-template-columns:28px 1fr 25px;align-items:center;gap:16px;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;padding:27px 0;transition:padding .35s,color .35s}.offer-number{font-size:9px;align-self:start;margin-top:13px;color:var(--muted)}.offer strong{font:400 clamp(40px,4.2vw,64px)/1 var(--serif);display:block}.offer small{font-size:10px;color:var(--muted);display:block;margin-top:12px}.offer-arrow{font-size:24px;transition:transform .3s}.offer:hover,.offer:focus-visible{padding-left:12px}.offer:hover .offer-arrow{transform:translate(4px,-4px)}.offer-visual{position:relative;min-height:490px;overflow:hidden;background:#0a1524;align-self:stretch}.offer-visual img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:58%;transition:opacity .3s,transform 1s}.offer-visual:hover img{transform:scale(1.04)}.offer-visual:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#06101dd9)}.visual-word{position:absolute;z-index:1;bottom:65px;left:30px;color:#fff;font:400 64px/1 var(--serif);letter-spacing:-.035em}.visual-caption{position:absolute;bottom:25px;left:30px;right:20px;z-index:1;color:#d4dce2;font-size:8px}.contact-section{padding:100px 8%;display:grid;grid-template-columns:1.1fr 1fr;gap:12%;background:var(--wash)}.contact-heading .micro{margin-bottom:35px}.contact-heading h2{font-size:clamp(55px,5vw,80px)}.contact-heading>p:not(.micro){margin:30px 0;max-width:40ch;color:var(--muted);font-size:12px}.email{font-size:12px;border-bottom:1px solid var(--line);padding-bottom:8px;overflow-wrap:anywhere}form{padding-top:5px}form label{display:block;margin-bottom:22px}form label span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em}input,textarea,form select{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:9px 0;border-radius:0;color:var(--ink);outline-offset:4px}textarea{resize:vertical;min-height:60px}select option{background:var(--paper);color:var(--ink)}.submit{width:100%;display:flex;justify-content:space-between;border:0;border-bottom:1px solid var(--ink);padding:15px 0;background:none;text-align:left;font-size:12px}.form-note,#formStatus{font-size:10px;color:var(--muted);margin-top:15px;line-height:1.6}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:30px 4%;font-size:10px}footer>span:first-child{font-size:15px;letter-spacing:.12em}.theme-label{display:flex;gap:10px;align-items:center}footer select{font-size:10px;border:0;background:transparent;color:var(--ink)}dialog{border:0;padding:0;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#071322bb;backdrop-filter:blur(6px)}.close{position:absolute;z-index:4;right:25px;top:22px;background:var(--paper);border:1px solid var(--line);border-radius:50%;width:43px;height:43px;font-size:18px}.navigation{width:100vw;height:100svh;max-width:none;max-height:none;margin:0;padding:9vh 8%}.navigation nav{display:flex;flex-direction:column;align-items:start;margin-top:35px;gap:8px}.navigation nav>a{font:400 clamp(35px,5.5vw,78px)/1.2 var(--serif)}.navigation nav sup{font:10px var(--sans);vertical-align:top;margin-left:15px}.navigation nav>a:last-child{font:13px var(--sans);margin-top:25px;border-bottom:1px solid var(--line);padding-bottom:10px}.menu-note{max-width:38ch;color:var(--muted);margin-top:35px;font-size:12px}.product-dialog{width:min(1200px,94vw);max-width:94vw;max-height:90svh;overflow:auto}.product-dialog[open]{display:grid;grid-template-columns:.9fr 1.1fr}.product-picture{position:relative;background:#0b1524;min-height:580px;overflow:hidden}.product-picture img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:55%}.product-picture:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#06101ded)}.product-picture>span{position:absolute;z-index:1;bottom:35px;left:30px;color:#fff;font:55px var(--serif)}.product-content{padding:65px 50px 45px}.product-content h2{font-size:60px;margin:20px 0}.product-description{font-size:15px;line-height:1.8;margin-bottom:30px}#productDetails p{font-size:12px;line-height:1.8;color:var(--muted);padding:17px 0;border-top:1px solid var(--line)}#productDetails a{text-decoration:underline}.product-content .line-link{margin-top:25px}html[data-theme=helios]{--paper:#fff9ec;--wash:#f0e4ce;--line:#d7c6a4}html[data-theme=deepspace]{--paper:#0e192b;--ink:#f5f0e6;--wash:#17243b;--muted:#b3bece;--line:#3a485b}.epure-scene{color:#101b2b}html[data-theme=helios] .epure-art{filter:sepia(.12)}html[data-theme=deepspace] .epure-scene{background:#e7eaf0}html[data-theme=deepspace] .epure-art{mix-blend-mode:multiply}.navigation[open],.product-dialog[open]{animation:enter .35s ease-out}@keyframes enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes drift{50%{transform:translateY(5px)}}
@media(min-width:1700px){.hero-copy{top:24%}.epure-art{object-fit:cover}}
@media(max-width:900px){.hero-copy{top:22%;max-width:86%}h1{font-size:83px}.epure-art{object-fit:contain;object-position:center 80%}.horizon-copy{left:6%;right:6%}.horizon-copy h2{font-size:80px}.univers{padding:80px 6%}.offer-layout{gap:5%;grid-template-columns:1fr 1fr}.offer-visual{min-height:420px}.offer strong{font-size:45px}.contact-section{gap:7%;padding:80px 6%}.product-content{padding:70px 30px 35px}.product-content h2{font-size:48px}.product-picture{min-height:550px}.short-intro{font-size:27px}}
@media(max-width:600px){html{scroll-padding-top:80px}.masthead{height:78px;padding:0 6%}.brand{top:4px}.brand img{width:68px;height:68px}.menu-trigger{gap:10px}.header-right{gap:8px}.contact-link{display:none}.journey{height:195svh}.hero-copy{top:18%;left:7%;right:7%;max-width:none}.hero-copy .micro{font-size:8px;max-width:30ch;margin-bottom:25px}h1{font-size:clamp(52px,12vw,73px);line-height:.94;letter-spacing:-.035em}.hero-copy .line-link{margin-top:20px}.epure-art{object-fit:cover;object-position:55% 50%;width:170%;height:58%;top:auto;bottom:9%;left:-45%}.scene-foot{left:7%;right:7%;bottom:23px}.desktop{display:none}.micro{font-size:8px}.horizon-art{object-position:43% center}.horizon-copy{bottom:17%;left:7%;right:7%}.horizon-copy h2{font-size:clamp(52px,12vw,72px)}.horizon-copy>p:not(.micro){font-size:12px;max-width:34ch}.horizon-foot{left:7%;right:7%;bottom:25px;flex-direction:column;gap:8px;font-size:7px}.univers{padding:65px 7%}.section-top{display:block;margin-bottom:35px}.short-intro{font-size:29px;margin-top:25px;max-width:24ch}.offer-layout{display:flex;flex-direction:column;gap:30px}.offer{padding:22px 0}.offer strong{font-size:50px}.offer small{font-size:10px}.offer-visual{height:260px;min-height:260px}.visual-word{font-size:48px}.contact-section{grid-template-columns:1fr;gap:45px;padding:65px 7%}.contact-heading h2{font-size:65px}.contact-heading .micro{margin-bottom:25px}.contact-heading>p:not(.micro){font-size:13px}footer{flex-wrap:wrap;padding:25px 7%;gap:20px}footer>span:first-child{width:55%}.theme-label{font-size:9px}.product-dialog[open]{grid-template-columns:1fr}.product-picture{min-height:200px;height:200px}.product-picture>span{font-size:38px;bottom:20px;left:25px}.product-content{padding:30px 25px}.product-content h2{font-size:48px}.product-description{font-size:14px}.close{right:14px;top:14px}.navigation{padding:100px 8% 35px}.navigation nav>a{font-size:43px}.navigation nav{gap:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.journey{height:auto}.stage{position:relative;height:auto;overflow:visible}.epure-scene,.horizon-scene{position:relative;height:100svh;opacity:1;pointer-events:auto}.epure-art,.horizon-art,.hero-copy,.horizon-copy{transform:none}}

/* Client mission architecture */
.hero-copy{max-width:560px;top:21%}.hero-copy h1{font-size:clamp(46px,5.1vw,78px);line-height:.98}.hero-intro{max-width:38ch;font-size:12px;margin-top:24px;line-height:1.8}.offer strong{font-size:clamp(33px,3.3vw,51px)}.visual-word{font-size:46px;right:24px}.factory-view.offer-visual{background:#ebe9e2}.factory-view.offer-visual img{object-fit:contain;object-position:center 30%}.factory-view .product-picture{background:#ebe9e2}.factory-view .product-picture img{object-fit:contain;object-position:center 30%}.method-section{padding:95px 6% 120px;border-top:1px solid var(--line)}.method-section .section-top h2{font-size:clamp(38px,4vw,60px);max-width:15ch;line-height:1.08}.method-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:6%}.method-steps article{border-top:1px solid var(--line);padding-top:22px}.method-steps h3{font:400 31px/1.15 var(--serif);margin:25px 0 20px}.method-steps p{font-size:12px;color:var(--muted);line-height:1.9}.method-steps button{background:transparent;border:0;border-bottom:1px solid currentColor;margin-top:20px}.contact-heading h2{font-size:clamp(44px,4.5vw,68px);line-height:1.03}.product-picture>span{font-size:43px;right:24px}
@media(max-width:900px){.hero-copy{max-width:55%;top:20%}.hero-copy h1{font-size:57px}.offer strong{font-size:37px}.method-steps{gap:4%}.method-steps h3{font-size:26px}}
@media(max-width:600px){.hero-copy{max-width:none;top:17%}.hero-copy h1{font-size:clamp(39px,10.5vw,57px);max-width:13ch}.hero-copy .micro{margin-bottom:16px}.hero-intro{font-size:11px;max-width:31ch;margin-top:16px}.hero-copy .line-link{margin-top:12px}.epure-art{height:43%;bottom:5%}.offer strong{font-size:39px}.visual-word{font-size:36px}.method-section{padding:65px 7%}.method-steps{grid-template-columns:1fr;gap:34px}.method-steps h3{font-size:31px;margin:15px 0}.method-steps p{font-size:13px}.method-section .section-top h2{margin-top:25px;font-size:43px}.contact-heading h2{font-size:47px}.product-picture>span{font-size:32px}.factory-view .product-picture img{object-position:center}.factory-view .product-picture>span{display:none}}

/* Contact: a full-width writing area below the introduction. */
.contact-section{grid-template-columns:1fr;gap:45px;padding:85px 8%}.contact-heading{max-width:900px}.contact-heading h2{font-size:clamp(42px,4.5vw,66px);max-width:22ch}.contact-heading>p:not(.micro){max-width:65ch;margin:22px 0}.contact-heading .micro{margin-bottom:22px}#contactForm{width:100%;max-width:1100px;padding-top:0}.contact-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px}.contact-fields label{min-width:0}.message-field{margin-top:12px}.message-field textarea{display:block;min-height:170px;margin-top:12px;padding:18px;border:1px solid var(--line);background:var(--paper);line-height:1.7}.submit{width:auto;min-width:245px;gap:36px;background:var(--ink);color:var(--paper);padding:17px 25px;border:1px solid var(--ink);font-weight:600}.submit:hover{opacity:.88}.submit:disabled{opacity:.6;cursor:wait}.form-note{max-width:65ch}.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#formStatus:not(:empty){padding:16px 20px;border:1px solid var(--line);font-size:13px;color:var(--ink);max-width:65ch}#formStatus[data-state=error]{border-color:#a46c53}
@media(max-width:700px){.contact-section{padding:60px 7%;gap:30px}.contact-fields{grid-template-columns:1fr;gap:0}.message-field{margin-top:0}.submit{width:100%}.contact-heading h2{font-size:43px}.message-field textarea{min-height:190px}}

/* Compact navigation panel: keep the page visible around the menu. */
.navigation{position:fixed;inset:110px auto auto 4%;width:min(420px,92vw);height:auto;max-width:92vw;max-height:calc(100svh - 130px);margin:0;padding:30px 30px 25px;border:1px solid var(--line);box-shadow:0 18px 55px #0713221a;overflow:auto}
.navigation::backdrop{background:rgba(7,19,34,.12);backdrop-filter:none}
.navigation>.micro{padding-right:44px}
.navigation .close{top:16px;right:16px;width:36px;height:36px;font-size:15px}
.navigation nav{margin-top:25px;gap:0;align-items:stretch}
.navigation nav>a{display:block;font:400 30px/1.18 var(--serif);padding:15px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.navigation nav>a:hover{color:var(--muted)}
.navigation nav>a:last-child{font:12px/1.5 var(--sans);margin-top:8px;padding:15px 0 4px;border:0}
.navigation .menu-note{margin-top:22px;font-size:11px;max-width:32ch}
@media(max-width:600px){.navigation{inset:88px auto auto 5%;width:90vw;max-width:90vw;max-height:calc(100svh - 108px);padding:26px 24px 22px}.navigation nav>a{font-size:27px;padding:13px 0}.navigation .menu-note{margin-top:17px}}
