@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#111315;--card:#1b1e22;--text:#f5f7fa;--muted:#b5bbc4;--accent:#c7f36b;--line:#30353c;color-scheme:dark;font-family:Manrope,Arial,sans-serif;background:var(--bg);color:var(--text)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-size:18px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:var(--accent);color:var(--bg)}.wrap{max-width:1200px;margin:auto;width:calc(100% - 80px)}header{position:sticky;top:0;z-index:20;background:#111315eb;backdrop-filter:blur(18px);border-bottom:1px solid #30353c80}.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo{font-size:25px;font-weight:800;letter-spacing:-1.3px}.logo span{color:var(--accent)}nav{display:flex;gap:30px;font-size:14px}nav a{color:var(--muted);transition:color .2s}nav a:hover{color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:13px 25px;border-radius:12px;border:1px solid var(--line);font-size:14px;font-weight:700;transition:background .22s,border-color .22s;color:var(--text);background:transparent}.btn.primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}.btn.primary:hover{background:#d8fa95;border-color:#d8fa95}.btn.secondary:hover{background:var(--card);border-color:var(--muted)}.header-cta{min-height:44px;padding:9px 20px}.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:10px;color:var(--text);padding:8px 14px}.hero{padding:88px 0 60px;display:grid;grid-template-columns:1.15fr .85fr;gap:55px;align-items:center}.eyebrow{font-size:12px;letter-spacing:.13em;font-weight:700;color:var(--muted);text-transform:uppercase}.eyebrow:before{content:'';display:inline-block;width:24px;height:2px;background:var(--accent);vertical-align:middle;margin-right:12px}h1{font-size:clamp(42px,5.1vw,70px);line-height:1.1;letter-spacing:-.055em;font-weight:600;margin:26px 0}h1 em{color:var(--accent);font-style:normal}p{color:var(--muted);margin:0 0 24px}.hero-description{max-width:500px;line-height:1.8}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-foot{margin-top:46px;display:flex;gap:20px;font-size:12px;color:var(--muted)}.hero-foot span+span{border-left:1px solid var(--line);padding-left:20px}.portrait-frame{position:relative;min-width:0}.portrait-frame:before{content:'';position:absolute;inset:8%;background:var(--accent);filter:blur(90px);opacity:.12;z-index:-1;animation:glow 12s ease-in-out infinite alternate}.portrait{aspect-ratio:4/5;border-radius:20px;border:1px solid var(--line);background:linear-gradient(135deg,#24282b,#191c1f 70%);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;position:relative}.portrait img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.portrait-mark{font-size:130px;letter-spacing:-.1em;color:#535b60;font-weight:600;line-height:1}.portrait-caption{font-size:12px;color:#b5bbc4;margin-top:24px;letter-spacing:.08em}.portrait-bottom{position:absolute;bottom:24px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff18;padding-top:18px;font-size:12px}.portrait-bottom strong{font-size:16px}.portrait-bottom span{color:var(--muted)}.divider{display:flex;justify-content:space-between;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.1em;color:var(--muted)}section{padding:100px 0;scroll-margin-top:25px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:40px}.section-heading p{max-width:360px;font-size:14px;margin:0}h2{font-size:clamp(32px,4vw,48px);font-weight:500;line-height:1.2;letter-spacing:-.045em;margin:15px 0 0}.section-number{font-size:12px;color:var(--muted);letter-spacing:.1em}.projects{display:grid;grid-template-columns:1fr 1fr;gap:28px}.project{border:1px solid var(--line);border-radius:20px;background:var(--card);overflow:hidden;transition:transform .3s,border-color .3s}.project:hover{transform:translateY(-5px);border-color:#778252}.project-visual{aspect-ratio:16/11;padding:35px;background:#242a25;display:flex;align-items:center;justify-content:center}.mock{width:100%;border:1px solid #ffffff25;background:#121611;border-radius:9px;padding:24px;box-shadow:0 20px 60px #0004;color:#eaf3e0}.mock-top{display:flex;justify-content:space-between;font-size:9px;font-weight:700;border-bottom:1px solid #ffffff20;padding-bottom:13px}.mock h3{font-size:clamp(24px,3vw,42px);line-height:1.13;letter-spacing:-.05em;white-space:pre-line;max-width:300px;margin:28px 0 22px}.mock-button{display:inline-block;background:#c7f36b;color:#111315;padding:8px 14px;font-size:9px;border-radius:5px}.mock-lines{margin-top:28px;display:flex;gap:12px}.mock-lines span{height:25px;flex:1;border-top:1px solid #ffffff30}.cream{background:#847d72}.cream .mock{background:#ece6da;color:#25241f;transform:rotate(-3deg)}.cream .mock-top{border-color:#25241f25}.cream .mock-button{background:#25241f;color:#ece6da}.cream .mock-lines span{border-color:#25241f25}.project-info{padding:25px 28px 28px}.project-meta{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted)}.badge{color:var(--accent);font-size:11px}.project-info h3{font-size:24px;letter-spacing:-.035em;margin:14px 0 10px}.project-info p{font-size:14px;margin-bottom:20px}.text-link{font-size:14px;border-bottom:1px solid var(--accent);padding-bottom:4px}.services{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:18px}.service{display:flex;flex-direction:column;align-items:flex-start;background:var(--card);border:1px solid var(--line);padding:32px;border-radius:20px;transition:transform .3s,border-color .3s}.service:hover{transform:translateY(-4px);border-color:#778252}.service.featured{background:#c7f36b;color:var(--bg);border-color:var(--accent)}.service.featured p,.service.featured .service-no{color:#3e4a2e}.service.featured .btn{border-color:#11131555;color:var(--bg)}.service.featured .btn:hover{background:#d8fa95}.service-no{color:var(--muted);font-size:14px;margin-bottom:40px}.service h3{font-size:26px;line-height:1.25;letter-spacing:-.04em;margin:0 0 20px}.service p{font-size:14px;flex:1}.service .btn{margin-top:15px;min-height:46px;font-size:12px}.about{display:grid;grid-template-columns:.65fr 1fr;gap:90px;align-items:center}.about .portrait{aspect-ratio:1/1;max-width:400px}.about h2{margin-bottom:27px}.about p{font-size:18px;line-height:1.85}.about-note{border-top:1px solid var(--line);padding-top:22px;display:flex;gap:30px;font-size:12px;color:var(--muted)}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:50px}.step{border-top:1px solid var(--line);padding-top:22px}.step-num{font-size:14px;color:var(--accent)}.step h3{font-size:20px;font-weight:500;line-height:1.4;margin:24px 0 12px}.step p{font-size:14px}.support{padding:46px;display:grid;grid-template-columns:1fr 1fr;gap:60px;background:var(--card);border:1px solid var(--line);border-radius:20px}.support h2{font-size:36px;margin:0 0 22px}.support ul{margin:0;padding:0;list-style:none}.support li{padding:16px 0;border-bottom:1px solid var(--line);font-size:16px}.support li:first-child{padding-top:0}.faq{max-width:800px;margin-left:auto}details{border-bottom:1px solid var(--line)}summary{list-style:none;font-size:18px;padding:24px 40px 24px 0;cursor:pointer;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;color:var(--accent);font-size:26px;top:18px}details[open] summary:after{content:'−'}details p{font-size:16px;padding:0 40px 20px 0;animation:appear .4s ease-out}.faq-layout{display:grid;grid-template-columns:.6fr 1fr;gap:60px}.contact{padding:85px 50px;text-align:center;border:1px solid var(--line);border-radius:20px;background:radial-gradient(ellipse at 50% 140%,#c7f36b19,transparent 70%),var(--card)}.contact h2{font-size:clamp(38px,5vw,64px);max-width:750px;margin:20px auto 25px}.contact p{max-width:550px;margin:0 auto}.contact .actions{justify-content:center}.draft-note{font-size:12px!important;margin-top:24px!important}footer{padding:40px 0 28px;border-top:1px solid var(--line)}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:center}.footer-bottom{margin-top:35px;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.skip{position:absolute;left:15px;top:-100px;z-index:100;background:var(--accent);color:var(--bg);padding:10px}.skip:focus{top:10px}.reveal{animation:appear .8s cubic-bezier(.2,.65,.3,1) both}.reveal.pending{animation:none;opacity:0;transform:translateY(20px)}.reveal.entered{animation:appear .8s cubic-bezier(.2,.65,.3,1) both;animation-delay:var(--delay,0ms)}.hero .intro:nth-child(2){animation-delay:80ms}.hero .intro:nth-child(3){animation-delay:150ms}.hero .intro:nth-child(4){animation-delay:220ms}dialog{background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:20px;padding:32px;max-width:480px;width:calc(100% - 40px)}dialog::backdrop{background:#000a;backdrop-filter:blur(4px)}dialog h2{font-size:27px;margin:0 0 20px}dialog p{font-size:16px}.detail{padding-top:50px}.back{color:var(--muted);font-size:14px}.detail h1{font-size:60px}.detail-visual{margin:45px 0;border-radius:20px;overflow:hidden}.detail-visual .project-visual{aspect-ratio:2/1;padding:60px}.detail-visual .mock{max-width:650px}.detail-visual h3{font-size:60px;max-width:none}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin:60px 0}.detail-grid h2{font-size:30px;margin-bottom:18px}.detail-grid p,.detail-grid li{font-size:16px;color:var(--muted)}.detail-grid ul{padding-left:20px}.detail-notice{border-left:2px solid var(--accent);padding-left:20px;font-size:14px}.mobile-menu{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.mobile-menu>div{overflow:hidden}.mobile-menu.open{grid-template-rows:1fr}.mobile-menu a{display:block;padding:14px 0;border-top:1px solid var(--line);font-size:16px}.mobile-menu{display:none}@keyframes appear{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes glow{to{transform:translate(10px,-15px)}}
@media(min-width:1500px){.hero{padding-top:100px;padding-bottom:80px}}@media(max-width:1000px){.wrap{width:calc(100% - 48px)}nav{gap:18px}.hero{gap:30px}.hero-foot{gap:12px;font-size:11px}.hero-foot span+span{padding-left:12px}.services{grid-template-columns:1fr 1fr}.service.featured{grid-column:1/-1}.about{gap:45px}.process{grid-template-columns:1fr 1fr}.faq-layout{gap:30px}.support{gap:35px}}@media(max-width:700px){body{font-size:16px}.wrap{width:calc(100% - 40px)}.header-inner{height:72px}.header-inner nav,.header-cta{display:none}.menu-toggle{display:block}.mobile-menu{display:grid}.logo{font-size:23px}.hero{grid-template-columns:1fr;padding:48px 0 36px;gap:38px}h1{font-size:40px;letter-spacing:-.05em;line-height:1.14;margin:22px 0}.hero-description{font-size:16px}.hero .actions{gap:10px}.btn{padding:13px 18px;font-size:13px}.hero-foot{margin-top:30px;flex-wrap:wrap}.portrait{aspect-ratio:5/4}.portrait-mark{font-size:100px}.portrait-bottom{left:20px;right:20px;bottom:18px}.portrait-caption{margin-top:13px}.divider{font-size:10px;gap:14px}.divider span:last-child{display:none}section{padding:65px 0}.section-heading{display:block;margin-bottom:30px}.section-heading p{margin-top:20px}.projects,.services,.about,.faq-layout,.support{grid-template-columns:1fr}.project-visual{padding:25px}.mock h3{font-size:32px}.project-info{padding:22px}.project-info h3{font-size:22px}.service{padding:28px}.service-no{margin-bottom:25px}.about{gap:35px}.about .portrait{max-width:none;aspect-ratio:5/3}.about p{font-size:16px}.process{gap:25px 20px}.step h3{font-size:17px}.step p{font-size:13px}.support{padding:28px;gap:30px}.support h2{font-size:30px}.faq-layout{gap:25px}summary{font-size:16px}.contact{padding:50px 20px}.contact h2{font-size:38px}.footer-top{align-items:flex-start;flex-direction:column}footer nav{display:flex;flex-wrap:wrap;font-size:13px}.footer-bottom{gap:20px;flex-wrap:wrap}.detail h1{font-size:40px}.detail-visual .project-visual{aspect-ratio:4/3;padding:20px}.detail-visual h3{font-size:32px}.detail-grid{grid-template-columns:1fr;gap:30px;margin:35px 0}.detail{padding-top:35px}.portrait-frame:before{animation:none;filter:blur(45px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal.pending{opacity:1;transform:none}.project:hover,.service:hover{transform:none}}

/* Supplied portrait: keep the face visible across aspect ratios. */
.has-photo img{object-position:50% 20%}.has-photo .portrait-bottom{left:0;right:0;bottom:0;padding:48px 24px 22px;background:linear-gradient(transparent,#111315e8);border:0}.has-photo .portrait-bottom span{color:#f5f7fa}@media(max-width:700px){.has-photo{aspect-ratio:4/5}.about .has-photo{aspect-ratio:1/1}}

.project-visual.screenshot{padding:0;background:var(--card);aspect-ratio:8/5}.project-visual.screenshot img{width:100%;height:100%;object-fit:cover;display:block}.detail-visual .project-visual.screenshot{padding:0;aspect-ratio:8/5}.case-decisions,.case-screens{padding:30px 0 70px}.decision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:30px}.decision-grid h3{font-size:22px}.decision-grid p{font-size:15px}.case-gallery{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:35px}.case-gallery figure{margin:0;min-width:0}.case-gallery img{width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:12px}.case-gallery figcaption{font-size:13px;color:var(--muted);margin:12px 0 20px}.case-gallery .mobile-composition{grid-column:1/-1;max-width:850px;margin:auto}.project-meta{flex-wrap:wrap}@media(max-width:700px){.decision-grid,.case-gallery{grid-template-columns:1fr}.case-gallery .mobile-composition{grid-column:auto}.case-decisions,.case-screens{padding:25px 0 45px}.project-visual.screenshot{aspect-ratio:8/5}}
