* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:90px; }
body { margin:0; overflow-x:hidden; color:#f4f0ff; font:400 16px/1.65 'Manrope',Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
.wrap { width:min(1240px,calc(100% - 64px)); margin-inline:auto; }
.topbar { position:sticky; top:0; z-index:20; border-bottom:1px solid rgba(231,222,255,.15); }
.nav { height:78px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:inline-flex; flex:none; align-items:center; line-height:0; }
.brand-logo { display:block; width:116px; height:58px; object-fit:contain; object-position:left center; filter:brightness(0) invert(1); }
.nav-links { display:flex; align-items:center; justify-content:flex-end; gap:clamp(14px,2.3vw,30px); }
.nav-links a { color:#d4cde4; text-decoration:none; font:9px 'DM Mono',monospace; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; }
.nav-links a:hover { color:#c4ff4d; }
.nav .nav-cta { padding:13px 16px; color:#111408; background:#c4ff4d; }
.menu-toggle { display:none; width:42px; height:40px; border:1px solid rgba(231,222,255,.18); color:#f4f0ff; background:#100d1c; font-size:18px; cursor:pointer; }
.eyebrow { display:flex; align-items:center; gap:11px; color:#c4ff4d; font:10px 'DM Mono',monospace; letter-spacing:.14em; text-transform:uppercase; }
.eyebrow:before { content:''; width:22px; height:1px; background:#a183ff; }
.button { display:inline-flex; align-items:center; gap:16px; padding:15px 19px; color:#111408; background:#c4ff4d; text-decoration:none; font:10px 'DM Mono',monospace; letter-spacing:.08em; text-transform:uppercase; transition:transform .2s,box-shadow .2s; }
.button:hover { transform:translateY(-2px); box-shadow:0 9px 32px rgba(196,255,77,.22); }
.button span { font-size:17px; }
footer { padding:23px 0 28px; border-top:1px solid rgba(231,222,255,.15); color:#aaa2bd; }
.footer-row { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.footer-note,.backtop { color:#aaa2bd; font:9px 'DM Mono',monospace; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; }
.backtop { color:#c4ff4d; }

.web-hero { padding: 76px 0 112px; overflow: hidden; }
.web-hero-grid { display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:5%; min-height:590px; }
.web-hero-copy { position:relative; z-index:1; }
.web-hero h1 { margin:24px 0 25px; color:#f4f0ff; font:600 clamp(62px,8vw,104px)/.89 'Space Grotesk',sans-serif; letter-spacing:-.085em; }
.web-hero h1 em { color:#c4ff4d; font-style:normal; }
.web-lead { max-width:520px; margin:0; color:#ddd6eb; font-size:19px; line-height:1.65; }
.web-support { max-width:500px; margin:15px 0 27px; color:#aaa2bd; font-size:14px; line-height:1.8; }
.web-hero-visual { min-height:480px; position:relative; display:grid; place-items:center; }
.web-orbit { position:absolute; width:390px; height:390px; border:1px solid rgba(161,131,255,.29); border-radius:50%; }
.web-orbit-a { transform:rotate(30deg) scaleX(1.35); }
.web-orbit-b { transform:rotate(-36deg) scaleX(.75); border-color:rgba(196,255,77,.2); }
.web-hero-window { position:relative; z-index:1; width:min(440px,92%); padding:8px; border:1px solid rgba(203,184,255,.28); border-radius:12px; background:rgba(18,13,31,.92); box-shadow:0 30px 90px rgba(0,0,0,.45),0 0 65px rgba(112,59,216,.2); transform:rotate(2deg); }
.window-top,.browser-bar { height:34px; display:flex; align-items:center; gap:6px; padding:0 9px; color:#8e849f; font:9px 'DM Mono',monospace; }
.window-top i,.browser-bar span { width:7px;height:7px;border-radius:50%;background:#78639f; }
.window-top i:first-child,.browser-bar span:first-child { background:#ff727b; }.window-top i:nth-child(2),.browser-bar span:nth-child(2) { background:#ffc45b; }.window-top i:nth-child(3),.browser-bar span:nth-child(3) { background:#c4ff4d; }
.window-top span { margin:auto; padding-right:28px; }
.window-page { min-height:280px; position:relative; overflow:hidden; padding:25px 27px; border-radius:6px; color:#172016; background:linear-gradient(145deg,#f2f4e9,#c9d69a); }
.window-brand { position:relative; z-index:1; font:700 10px 'DM Mono',monospace; letter-spacing:.12em; }.window-brand b { float:right; color:#657e39; }
.window-line { position:relative; z-index:1; height:12px; margin-top:46px; border-radius:10px; background:#23331b; opacity:.85; }.window-line-wide { width:67%; }.window-line-short { width:46%; margin-top:9px; opacity:.56; }
.window-button { position:relative; z-index:1; width:112px; height:28px; margin-top:21px; border-radius:3px; background:#9bd235; }
.window-blocks { position:relative; z-index:1; display:flex; gap:10px; margin-top:27px; }.window-blocks i { flex:1; height:54px; border:1px solid rgba(35,51,27,.18); border-radius:4px; background:rgba(255,255,255,.42); }
.web-float-tag,.web-orbit-label { position:absolute; z-index:2; font:9px 'DM Mono',monospace; letter-spacing:.13em; text-transform:uppercase; color:#cfc6df; }.web-float-tag { top:44px; right:0; transform:rotate(90deg) translateX(50%); }.web-orbit-label { bottom:35px; left:4%; color:#c4ff4d; }
.web-examples { padding:105px 0 115px; background:rgba(15,11,27,.92); border-block:1px solid rgba(255,255,255,.08); }
.web-section-head { display:flex; justify-content:space-between; align-items:end; gap:36px; margin-bottom:44px; }.web-section-head h2,.web-included h2,.web-price h2,.web-contact h2 { margin:18px 0 0; color:#f4f0ff; font:500 clamp(46px,6vw,76px)/.98 'Space Grotesk',sans-serif; letter-spacing:-.07em; }.web-section-head>p { max-width:400px; margin:0 0 5px; color:#aaa2bd; font-size:13px; line-height:1.8; }
.web-example-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.web-example { min-width:0; padding:14px; border:1px solid rgba(190,166,246,.18); border-radius:8px; background:linear-gradient(145deg,#151021,#0c0916); box-shadow:0 18px 45px rgba(0,0,0,.23); }
.browser-mock { overflow:hidden; border:1px solid rgba(255,255,255,.15); border-radius:5px; background:#f5f5f0; }.browser-bar { height:27px; background:#171225; }.browser-bar span { width:6px;height:6px; }.browser-bar small { margin-left:auto; color:#aaa2bd; font-size:8px; }
.mock-screen { min-height:240px; position:relative; overflow:hidden; padding:15px 17px; color:#18211d; background:linear-gradient(125deg,#e9eee1,#cad9c5); }.example-studio .mock-screen { color:#33251f; background:linear-gradient(125deg,#eee6dd,#d8b9a2); }.example-stay .mock-screen { color:#15221e; background:linear-gradient(125deg,#dcebe3,#9cbca8); }
.mock-nav { position:relative; z-index:1; display:flex; justify-content:space-between; gap:4px; align-items:center; font:7px 'DM Mono',monospace; letter-spacing:.05em; }.mock-nav b { font-size:8px; }.mock-nav span { font-size:6px; white-space:nowrap; }
.mock-content { position:relative; z-index:1; width:75%; padding-top:32px; }.mock-content small { font:6px 'DM Mono',monospace; letter-spacing:.13em; }.mock-content h3 { margin:9px 0 7px; font:600 clamp(22px,2.6vw,33px)/.95 'Space Grotesk',sans-serif; letter-spacing:-.07em; }.mock-content p { max-width:190px; margin:0; font-size:8px; line-height:1.5; }.mock-content i { display:inline-block; margin-top:13px; padding:7px 8px; color:#f4f0ff; background:#1c3026; font:6px 'DM Mono',monospace; font-style:normal; letter-spacing:.07em; }.example-studio .mock-content i { background:#603d35; }.example-stay .mock-content i { background:#25483b; }
.mock-shape { position:absolute; right:-19px; bottom:-35px; width:145px; height:180px; display:grid; place-items:center; border-radius:50% 50% 0 0; color:rgba(255,255,255,.65); background:linear-gradient(145deg,#728b63,#344b3d); font:90px 'Space Grotesk',sans-serif; transform:rotate(-9deg); }.shape-studio { width:145px;height:145px;right:-30px;bottom:-21px;border-radius:50%;background:linear-gradient(145deg,#bb8b73,#774b3e); }.shape-stay { width:175px;height:115px;right:-22px;bottom:-9px;border-radius:48% 52% 0 0;background:linear-gradient(145deg,#779d87,#365e4b); }
.example-caption { padding:17px 3px 4px; color:#f4f0ff; }.example-caption>span { display:block; color:#c4ff4d; font:8px 'DM Mono',monospace; letter-spacing:.12em; }.example-caption strong { display:block; margin-top:9px; font:500 23px 'Space Grotesk',sans-serif; letter-spacing:-.04em; }.example-caption p { margin:7px 0 0; color:#aaa2bd; font-size:11px; line-height:1.7; }.fiction-note { margin:22px 0 0; color:#898099; text-align:right; font:8px 'DM Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }
.web-included { padding:115px 0; }.web-included-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:10%; }.included-lead { max-width:330px; margin-top:23px; color:#b9b0ca; font:500 18px/1.6 'Space Grotesk',sans-serif; }.included-list { border-top:1px solid rgba(255,255,255,.14); }.included-list article { display:grid; grid-template-columns:50px 1fr; gap:15px; padding:21px 0; border-bottom:1px solid rgba(255,255,255,.14); }.included-list article>b { padding-top:3px; color:#c4ff4d; font:9px 'DM Mono',monospace; }.included-list h3 { margin:0 0 5px; color:#f4f0ff; font:500 21px 'Space Grotesk',sans-serif; }.included-list p { max-width:540px; margin:0; color:#aaa2bd; font-size:12px; line-height:1.75; }
.web-how { padding:100px 0 110px; background:rgba(15,11,27,.92); border-block:1px solid rgba(255,255,255,.08); }.web-steps { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.16); }.web-steps article { min-height:180px; padding:22px 23px 15px 0; border-right:1px solid rgba(255,255,255,.16); }.web-steps article+article { padding-left:23px; }.web-steps article:last-child { border:0; }.web-steps span { color:#c4ff4d; font:8px 'DM Mono',monospace; letter-spacing:.1em; }.web-steps h3 { margin:25px 0 7px; color:#f4f0ff; font:500 22px 'Space Grotesk',sans-serif; }.web-steps p { max-width:260px; margin:0; color:#aaa2bd; font-size:11px; line-height:1.7; }
.web-price { padding:100px 0; }.web-price-box { display:grid; grid-template-columns:1fr .8fr; align-items:center; gap:9%; padding:clamp(30px,6vw,68px); border:1px solid rgba(196,255,77,.2); border-radius:7px; background:radial-gradient(ellipse at 85% 15%,rgba(117,57,214,.22),transparent 60%),linear-gradient(145deg,#171225,#0d0a18); }.web-price-box>div+div p { color:#b9b0ca; font-size:12px; line-height:1.8; }.web-price-box .button { margin-top:12px; }
.web-vat-note { margin:18px 0 12px!important; padding:14px 16px; border-left:2px solid #c4ff4d; color:#ece8f4!important; background:rgba(196,255,77,.06); }.web-vat-note strong { display:block; margin-bottom:3px; color:#c4ff4d; font:10px 'DM Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }
.web-contact { padding:30px 0 100px; }.web-contact-box { display:grid; grid-template-columns:1fr .55fr; gap:8%; align-items:end; padding:clamp(34px,6vw,70px); border:1px solid rgba(190,166,246,.2); border-radius:7px; background:#100d1c; }.web-contact h2 { font-size:clamp(43px,6vw,70px); }.web-contact-box>div:first-child>p { max-width:470px; color:#aaa2bd; font-size:12px; line-height:1.8; }.web-contact-action { display:flex; flex-direction:column; align-items:flex-start; gap:15px; }.web-contact-action>span { color:#c4ff4d; font:8px 'DM Mono',monospace; letter-spacing:.1em; }.web-contact-action>a:first-of-type { color:#f4f0ff; font:500 clamp(19px,2vw,26px) 'Space Grotesk',sans-serif; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.28); padding-bottom:8px; }.back-link { margin-top:9px; color:#aaa2bd; font:9px 'DM Mono',monospace; text-decoration:none; text-transform:uppercase; letter-spacing:.08em; }.back-link:hover { color:#c4ff4d; }
.mock-screen { min-height:300px; padding:0; color:#fff; background:#26312a; isolation:isolate; }
.mock-photo,.mock-shade { position:absolute; inset:0; width:100%; height:100%; }
.mock-photo { z-index:0; object-fit:cover; object-position:center; }
.mock-shade { z-index:1; background:linear-gradient(90deg,rgba(12,17,14,.78),rgba(12,17,14,.43) 58%,rgba(12,17,14,.08)); }
.mock-workshop .mock-photo { object-position:61% center; }
.mock-studio .mock-photo { object-position:65% center; }
.mock-studio .mock-shade { background:linear-gradient(90deg,rgba(34,24,20,.74),rgba(34,24,20,.4) 58%,rgba(34,24,20,.08)); }
.mock-stay .mock-photo { object-position:61% center; }
.mock-stay .mock-shade { background:linear-gradient(90deg,rgba(17,29,24,.72),rgba(17,29,24,.4) 58%,rgba(17,29,24,.05)); }
.mock-nav { position:relative; z-index:2; min-height:36px; padding:0 14px; border-bottom:1px solid rgba(255,255,255,.35); color:#fff; }
.mock-nav b { font-size:8px; letter-spacing:.1em; }
.mock-nav span { color:rgba(255,255,255,.9); }
.mock-content { position:relative; z-index:2; width:min(77%,270px); padding:0 0 34px 18px; margin-top:auto; }
.mock-content small { color:rgba(255,255,255,.82); font-size:6px; }
.mock-content h3 { color:#fff; text-shadow:0 2px 14px rgba(0,0,0,.25); }
.mock-content p { color:rgba(255,255,255,.9); }
.mock-content i { padding:9px 11px; background:#d8f06b; color:#1c2b1d; font-weight:700; }
.example-studio .mock-content i { background:#f5d8bd; color:#3c2923; }
.example-stay .mock-content i { background:#f4e9ce; color:#203a2e; }
.mock-footer-row { position:relative; z-index:2; display:flex; justify-content:space-between; gap:8px; padding:9px 13px; border-top:1px solid rgba(255,255,255,.4); color:#fff; background:rgba(18,25,21,.58); font:6px 'DM Mono',monospace; letter-spacing:.07em; }
.mock-footer-row b { color:#fff; font-weight:500; text-align:right; }
.mock-shape { display:none; }
.site-project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.site-project { display:block; min-width:0; overflow:hidden; border:1px solid rgba(190,166,246,.2); border-radius:8px; color:#f4f0ff; background:#100d1c; text-decoration:none; box-shadow:0 16px 40px rgba(0,0,0,.22); transition:transform .25s,border-color .25s,box-shadow .25s; }
.site-project:hover { transform:translateY(-5px); border-color:rgba(196,255,77,.45); box-shadow:0 25px 55px rgba(0,0,0,.34),0 0 25px rgba(112,59,216,.13); }
.project-thumb { height:290px; position:relative; overflow:hidden; color:#1c271e; background:#d9ddce; isolation:isolate; }
.project-thumb>img,.project-thumb:after { position:absolute; inset:0; width:100%; height:100%; }
.project-thumb>img { z-index:-2; object-fit:cover; transition:transform .6s cubic-bezier(.2,.7,.2,1); }
.site-project:hover .project-thumb>img { transform:scale(1.045); }
.project-thumb:after { content:''; z-index:-1; pointer-events:none; }
.project-mini-head { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:43px; margin:0 16px; border-bottom:1px solid rgba(255,255,255,.48); color:white; font:7px 'DM Mono',monospace; letter-spacing:.08em; }
.project-mini-head b { font-size:9px; }.project-mini-head b span { display:block; margin-top:3px; font-size:5px; font-weight:400; }
.project-mini-head>span { font-size:6px; white-space:nowrap; }
.project-mini-copy { position:absolute; z-index:1; left:20px; bottom:25px; width:61%; color:#fff; }
.project-mini-copy small { display:block; margin-bottom:8px; font:6px 'DM Mono',monospace; letter-spacing:.12em; }
.project-mini-copy strong { display:block; font:600 clamp(25px,3vw,37px)/.95 'Space Grotesk',sans-serif; letter-spacing:-.07em; }
.project-mini-copy i { display:inline-block; margin-top:13px; padding:8px 10px; color:#172417; background:#d6ed6d; font:6px 'DM Mono',monospace; font-style:normal; font-weight:500; letter-spacing:.07em; }
.project-fach .project-thumb { background:#f1efe6; }
.project-fach .project-thumb>img { left:36%; width:64%; object-position:62% center; }
.project-fach .project-thumb:after { background:linear-gradient(90deg,#f1efe6 0%,#f1efe6 39%,rgba(241,239,230,.88) 48%,transparent 77%),linear-gradient(0deg,rgba(20,29,22,.3),transparent 45%); }
.project-fach .project-mini-head { margin:0 17px 0 20px; border-color:rgba(30,47,35,.2); color:#24372a; }
.project-fach .project-mini-copy { left:20px; bottom:35px; width:49%; color:#203329; }
.project-fach .project-mini-copy strong { font-size:clamp(23px,2.5vw,32px); }
.project-fach .project-mini-copy small { color:#4b684d; }
.project-fach .project-mini-copy i { color:white; background:#31543b; }
.project-rytm .project-thumb { background:#694b40; }
.project-rytm .project-thumb>img { object-position:64% center; }
.project-rytm .project-thumb:after { background:linear-gradient(180deg,rgba(39,28,24,.55),transparent 28%,rgba(45,30,25,.76) 100%); }
.project-rytm .project-mini-copy { bottom:25px; width:70%; }
.project-rytm .project-mini-copy i { color:#382923; background:#f1d6bd; }
.project-rytm .project-mini-head b { letter-spacing:.08em; }
.project-rytm .project-mini-head b span { color:#f4d9c5; }
.project-rytm .project-rytm-stamp { position:absolute; z-index:1; top:78px; right:16px; width:62px; height:62px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.8); border-radius:50%; color:#fff; text-align:center; font:6px/1.55 'DM Mono',monospace; letter-spacing:.08em; transform:rotate(10deg); }
.project-las .project-thumb { background:#1a3228; color:white; }
.project-las .project-thumb>img { object-position:63% center; }
.project-las .project-thumb:after { background:linear-gradient(90deg,rgba(14,30,24,.7),rgba(14,30,24,.32) 56%,rgba(14,30,24,.06)),linear-gradient(180deg,rgba(14,30,24,.16),transparent 42%,rgba(14,30,24,.58)); }
.project-las .project-mini-copy { bottom:60px; }
.project-las .project-mini-copy i { color:#1e382c; background:#f4e9ce; }
.project-las .project-booking { position:absolute; z-index:1; right:12px; bottom:10px; left:12px; display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:35px; padding:0 10px; color:#20382c; background:#f4f0e5; font:6px 'DM Mono',monospace; letter-spacing:.04em; }
.project-las .project-booking b { padding:8px; color:white; background:#345444; font-weight:500; }
.project-caption { padding:19px 19px 17px; }
.project-caption>span:first-child { display:block; color:#c4ff4d; font:7px 'DM Mono',monospace; letter-spacing:.11em; }
.project-caption>strong { display:block; margin-top:9px; color:#f4f0ff; font:500 23px 'Space Grotesk',sans-serif; letter-spacing:-.04em; }
.project-caption p { min-height:55px; margin:7px 0 13px; color:#aaa2bd; font-size:10px; line-height:1.7; }
.project-open { display:flex; align-items:center; justify-content:space-between; padding-top:11px; border-top:1px solid rgba(255,255,255,.13); color:#e8e2f2; font:8px 'DM Mono',monospace; letter-spacing:.07em; text-transform:uppercase; }
.project-open b { color:#c4ff4d; font-size:15px; font-weight:400; }
.site-project:focus-visible { outline:2px solid #c4ff4d; outline-offset:4px; }
@media(max-width:850px) { .web-hero-grid { grid-template-columns:1fr 1fr; gap:2%; }.web-hero h1 { font-size:clamp(58px,8vw,82px); }.web-hero-visual { min-height:390px; }.web-orbit { width:290px;height:290px; }.web-example-grid { gap:12px; }.web-example { padding:9px; }.mock-screen { min-height:210px; }.mock-nav span { font-size:5px; } }
@media(max-width:820px) { .wrap { width:calc(100% - 40px); }.nav { height:68px; }.brand-logo { width:102px;height:51px; }.menu-toggle { display:grid; place-items:center; }.nav-links { display:none; position:absolute; top:68px; left:0; right:0; padding:12px 20px 20px; flex-direction:column; align-items:stretch; gap:0; background:#100d1c; border-bottom:1px solid rgba(231,222,255,.15); }.nav-links.open { display:flex; }.nav-links a { padding:14px 0; border-bottom:1px solid rgba(231,222,255,.12); }.nav-links .nav-cta { margin-top:12px; padding:14px 16px; text-align:center; border:0; } }
@media(max-width:650px) { .web-hero { padding:46px 0 77px; }.web-hero-grid { grid-template-columns:1fr; }.web-hero-copy { order:2; }.web-hero-visual { order:1; min-height:300px; margin-bottom:17px; }.web-hero-window { width:min(360px,85%); }.window-page { min-height:220px; }.web-orbit { width:250px;height:250px; }.web-float-tag { top:4px; }.web-orbit-label { bottom:4px; }.web-hero h1 { font-size:clamp(56px,15vw,78px); }.web-lead { font-size:16px; }.web-section-head { display:block; }.web-section-head>p { margin-top:17px; }.web-example-grid { grid-template-columns:1fr; gap:16px; }.web-example { padding:12px; }.mock-screen { min-height:250px; padding:17px 20px; }.mock-content { padding-top:40px; }.mock-content h3 { font-size:37px; }.mock-content p { font-size:10px; }.mock-nav span { font-size:7px; }.mock-nav b { font-size:10px; }.mock-content small { font-size:7px; }.mock-content i { font-size:7px; }.web-included { padding:78px 0; }.web-included-grid { grid-template-columns:1fr; gap:32px; }.web-how { padding:78px 0; }.web-steps { grid-template-columns:1fr; }.web-steps article,.web-steps article+article { min-height:0; padding:18px 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.16); }.web-steps article:last-child { border-bottom:0; }.web-steps h3 { margin:12px 0 7px; }.web-price { padding:70px 0; }.web-price-box { grid-template-columns:1fr; gap:18px; }.web-contact { padding-bottom:70px; }.web-contact-box { grid-template-columns:1fr; gap:30px; }.web-section-head h2,.web-included h2,.web-price h2 { font-size:52px; } }
@media(max-width:980px) { .site-project-grid { grid-template-columns:1fr 1fr; }.project-las { grid-column:1/-1; }.project-las .project-thumb { height:340px; } }
@media(max-width:650px) { .site-project-grid { grid-template-columns:1fr; }.project-las { grid-column:auto; }.project-thumb,.project-las .project-thumb { height:290px; }.project-mini-copy strong { font-size:34px; }.project-fach .project-mini-copy strong { font-size:30px; }.project-caption p { min-height:0; } }
