@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f5f4ef;--ink:#242622;--muted:#666961;--blue:#244de2;--line:#d9dcd2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--blue);outline-offset:6px}a:hover{color:var(--blue)}.skip{position:absolute;top:-100px;left:20px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}.preview{height:31px;background:#e6eaff;display:flex;align-items:center;justify-content:center;gap:9px;color:#2743a6;font-size:10px;font-weight:700;letter-spacing:1.5px}.preview-detail{font-weight:400;letter-spacing:0;margin-left:10px}.preview-dot,.blue-dot{display:inline-block;width:6px;height:6px;background:var(--blue);border-radius:50%}header,main,footer{max-width:1440px;margin:auto}header{padding:29px 6%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{font-family:'Manrope',Arial,sans-serif;font-size:24px;font-weight:800;letter-spacing:-1px}.brand span{color:var(--blue);font-size:14px;margin-left:5px;vertical-align:top}nav{display:flex;align-items:center;gap:35px;font-size:13px;font-weight:500}nav [aria-current]{color:var(--blue)}.nav-contact{border:1px solid var(--line);border-radius:30px;padding:9px 18px}.nav-contact span{margin-left:18px}.hero{padding:65px 6% 0}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:700;display:flex;align-items:center;gap:9px}.hero h1{font-family:'Manrope',Arial,sans-serif;font-size:clamp(48px,6.8vw,96px);font-weight:600;line-height:1.12;letter-spacing:-5px;margin:30px 0 35px}.hero h1 span{color:var(--blue)}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px}.hero-bottom p{color:var(--muted);font-size:15px;line-height:1.8}.button{display:inline-flex;align-items:center;gap:42px;background:var(--blue);color:#fff;padding:15px 22px;border-radius:4px;font-size:13px}.button:hover{background:#1837ad;color:#fff}.hero-foot{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:23px 0;margin-top:52px;font-size:9px;letter-spacing:1.6px;color:var(--muted)}.section{padding:72px 6%}.section-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:36px}h2{font-family:'Manrope',Arial,sans-serif;font-weight:500;letter-spacing:-1.5px;font-size:35px;line-height:1.3;margin:18px 0 0}.text-link{font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:4px}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}.art-link{display:block;overflow:hidden;border-radius:5px}.art{height:385px;position:relative;overflow:hidden}.art-link .art{transition:transform .4s ease}.art-link:hover .art{transform:scale(1.025)}.habit{background:#dce6d6;display:flex;align-items:center;justify-content:center}.orbit{border:1px solid #c0d0b7;width:380px;height:380px;border-radius:50%;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.o2{width:520px;height:520px}.phone{width:185px;background:#fafbf6;border:6px solid #26352d;border-radius:28px;box-shadow:15px 25px 30px #24362328;transform:rotate(-9deg);height:329px;overflow:hidden;z-index:1}.phone-top{padding:8px 12px;font-size:8px;display:flex;justify-content:space-between;font-weight:700}.phone-body{padding:9px 15px}.phone small{font-size:6px;letter-spacing:1px;color:#657960}.phone h3{font-size:21px;line-height:1.1;letter-spacing:-1px;margin:8px 0}.plant{font-size:65px;color:#5e7d47;text-align:center;line-height:1.4}.habit-row{padding:9px 3px;border-top:1px solid #e1e5da;font-size:8px;display:flex;gap:7px;align-items:center}.habit-row i{font-style:normal;color:#617950}.habit-row b{margin-left:auto;font-size:7px;color:#657960}.phone-nav{font-size:15px;display:flex;justify-content:space-around;margin-top:10px}.phone-nav span{color:#688848}.art-label{position:absolute;bottom:14px;left:18px;font-size:7px;letter-spacing:1.3px;z-index:2;color:#526149}.train{background:#172630;color:#e9d9ae}.moon{width:75px;height:75px;border-radius:50%;background:#e7d6aa;position:absolute;right:55px;top:38px;box-shadow:0 0 50px #e6d6ad15}.mountains{position:absolute;inset:120px -50px -30px;background:#263b40;clip-path:polygon(0 70%,15% 22%,25% 50%,43% 5%,57% 53%,73% 28%,100% 70%,100% 100%,0 100%)}.train-title{position:absolute;left:28px;top:30px;font-size:31px;line-height:1.05;font-weight:800;letter-spacing:1px}.train-title em{font-style:normal;color:#d5ad71}.railway{position:absolute;display:flex;gap:8px;left:28px;right:-20px;bottom:76px;transform:rotate(-5deg)}.carriage,.engine{position:relative;height:62px;min-width:134px;border-top:5px solid #b68d58;background:#6c503b;border-radius:6px 6px 0 0;display:flex;gap:8px;padding:12px}.carriage i{width:20px;height:23px;background:#e2bd72;box-shadow:0 0 9px #dcb96d44}.carriage:after,.engine:after{content:'';position:absolute;bottom:-13px;left:15px;width:23px;height:23px;border-radius:50%;background:#101b22;box-shadow:80px 0 #101b22}.engine{background:#9a7045;min-width:100px}.engine b{height:40px;width:19px;position:absolute;right:15px;top:-30px;background:#9a7045}.track{position:absolute;height:7px;background:#a28d72;left:0;right:-20px;bottom:65px;transform:rotate(-5deg)}.train .art-label{color:#b1bcb6}.project-meta{display:flex;justify-content:space-between;gap:12px;font-size:8px;letter-spacing:1px;color:var(--muted);margin:21px 0 10px}.project-meta span:last-child{letter-spacing:0;border:1px solid var(--line);border-radius:20px;padding:1px 8px}.project-title{display:flex;justify-content:space-between;align-items:center}.project-title h3{font-family:'Manrope',Arial,sans-serif;letter-spacing:-.8px;font-size:26px;font-weight:600;margin:0}.project-title>span{font-size:23px}.project p{color:var(--muted);font-size:13px;max-width:400px;margin:10px 0 17px}.tags{display:flex;gap:7px;flex-wrap:wrap}.tags span{font-size:9px;padding:3px 9px;border-radius:20px;background:#e9e9e2;color:#52564e}.about{border-top:1px solid var(--line);margin-top:22px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:26px}.about-grid h2{margin-top:0;font-size:43px}.about-grid p{font-size:14px;color:var(--muted);margin:0 0 20px}.about-grid .large{font-size:20px;line-height:1.6;color:var(--ink)}.about-facts{border-top:1px solid var(--line);display:flex;gap:35px;padding-top:23px;font-size:10px;color:var(--muted)}.about-facts strong{font-weight:500;color:var(--ink)}.contact{background:#e9edfb;margin:35px 3% 0;padding:60px 3.2%;border-radius:5px}.contact h2{font-size:clamp(36px,5vw,65px);letter-spacing:-3px;line-height:1.13;margin:30px 0 40px}.contact h2>span{color:var(--blue)}.contact-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center}.contact-bottom p{font-size:13px;color:#565f74}.contact-placeholder{border-bottom:1px solid #a6b3e0;padding-bottom:13px}.contact-placeholder strong{display:block;font-weight:500;font-size:16px}.contact-placeholder span{font-size:9px;color:#59678b}footer{padding:40px 6%;display:flex;gap:20px;align-items:center;justify-content:space-between}footer .brand{font-size:30px}footer p,footer>span{font-size:9px;color:var(--muted)}.page-intro,.case-head{padding:70px 6% 40px}.page-intro h1,.case-head h1{font-family:'Manrope',Arial,sans-serif;font-size:clamp(42px,6vw,77px);font-weight:500;line-height:1.15;letter-spacing:-3px;margin:24px 0}.page-intro h1 span{color:var(--blue)}.page-intro p,.case-head>p{color:var(--muted);max-width:620px}.case-head .eyebrow{margin-top:40px}.case-art{margin:25px 6% 0}.case-art .art{height:480px;border-radius:6px}.case-art .phone{transform:rotate(-7deg) scale(1.2)}.case-art .train-title{font-size:55px;left:7%;top:55px}.case-art .railway{left:25%;bottom:100px}.case-art .track{bottom:90px}.case-body{display:grid;grid-template-columns:1fr 1.7fr;gap:70px}.case-body h2{font-size:25px;margin:0 0 17px}.case-body p{font-size:15px;color:var(--muted);margin-bottom:30px}.case-body aside .tags{margin-top:20px}.review-note{padding:24px;background:#e9edfb;border-left:3px solid var(--blue);margin:30px 0}.review-note p{font-size:13px;margin:10px 0 0}.empty{padding:40px 0;color:var(--muted)}.not-found{min-height:65vh}.not-found .button{margin-top:25px}
@media(min-width:1440px){.hero h1{font-size:96px}}@media(max-width:800px){header{padding:23px 6%}nav{gap:20px}.hero{padding-top:45px}.hero h1{letter-spacing:-3px}.art{height:320px}.phone{transform:rotate(-9deg) scale(.85)}.train-title{font-size:23px;left:20px}.moon{width:50px;height:50px;right:25px}.railway{left:10px;transform:rotate(-5deg) scale(.85);transform-origin:left bottom}.section{padding:52px 6%}.section-top h2{font-size:29px}.about-grid{gap:30px}.about-grid h2{font-size:34px}.about-facts{gap:20px}.contact h2{letter-spacing:-2px}.contact-bottom{align-items:flex-start;flex-direction:column}.case-body{gap:35px}}
@media(max-width:560px){.preview-detail{display:none}.brand{font-size:20px}nav{gap:17px;font-size:11px}.nav-contact{padding:6px 9px}.nav-contact span{display:none}.hero h1{font-size:46px;letter-spacing:-2.7px;margin-top:26px}.eyebrow{font-size:8px;letter-spacing:1.3px}.hero-bottom{align-items:flex-start;flex-direction:column;gap:12px}.hero-bottom p{font-size:13px}.hero-foot{margin-top:35px;font-size:7px;letter-spacing:1px}.section-top{align-items:flex-start;gap:15px}.section-top h2{font-size:25px}.section-top .text-link{font-size:10px;white-space:nowrap;margin-top:28px}.projects-grid{grid-template-columns:1fr;gap:38px}.art{height:355px}.phone{transform:rotate(-9deg)}.train-title{font-size:30px}.railway{transform:rotate(-5deg)}.project p{font-size:13px}.about-grid{grid-template-columns:1fr;gap:25px}.about-grid h2{font-size:36px}.about-grid .large{font-size:18px}.about-facts{justify-content:space-between}.contact{padding:35px 6%;margin:15px 3% 0}.contact h2{font-size:38px;letter-spacing:-2px}.contact-placeholder strong{font-size:14px}.contact-placeholder span{font-size:8px}footer{flex-wrap:wrap;gap:12px}footer p{flex:1;text-align:right}footer>span{width:100%;text-align:right}.page-intro,.case-head{padding-top:45px}.page-intro h1,.case-head h1{font-size:46px;letter-spacing:-2px}.case-art .art{height:370px}.case-art .phone{transform:rotate(-7deg)}.case-art .train-title{font-size:32px}.case-art .railway{left:12px}.case-body{grid-template-columns:1fr;gap:40px}.desktop{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.contact-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap}

/* Scroll effects enhance the page without changing native scrolling or layout. */
.hero h1{transform-origin:left center}
@media(min-width:801px){.hero{padding-top:52px}.hero h1{margin-top:25px;margin-bottom:28px}.hero-foot{margin-top:38px}.work{position:relative;background:var(--paper);border-top:1px solid var(--line)}}
@media(prefers-reduced-motion:reduce){.hero h1{transform:none!important;opacity:1!important}}

/* Comfortable navigation targets without changing the layout. */
nav a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:560px){nav{gap:10px;font-size:12px}nav a{padding:0 4px}.nav-contact{padding:6px 9px}header{padding-left:5%;padding-right:5%}}
@media(max-width:360px){header{padding-left:4%;padding-right:4%}header .brand{font-size:18px;white-space:nowrap}nav{gap:6px}}
