:root{--bg:#f7f5ef;--soft:#efede6;--ink:#171717;--muted:#6c6b67;--blue:#245bff;--lime:#d6ff3f;--line:#d6d2c8;--white:#fff;--max:1440px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:min(var(--max),calc(100% - 64px));margin:0 auto}.grid-bg{background-image:linear-gradient(90deg,rgba(23,23,23,.055) 1px,transparent 0),linear-gradient(180deg,rgba(23,23,23,.04) 1px,transparent 0);background-size:150px 150px}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:rgba(247,245,239,.92);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.header-inner{height:88px;justify-content:space-between;gap:28px}.header-inner,.logo{display:flex;align-items:center}.logo{gap:12px;min-width:max-content}.logo-mark{display:flex;gap:4px}.logo-mark i{display:block;width:14px;height:28px;background:var(--blue)}.logo-mark i:last-child{width:7px}.logo-text{display:flex;flex-direction:column;line-height:1}.logo-text b{font-size:25px;letter-spacing:-1px}.logo-text small{font-size:10px;margin-top:5px;letter-spacing:.02em}.main-nav{display:flex;gap:34px;font-size:14px}.main-nav a:hover{color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;background:var(--blue);color:white;padding:19px 26px;border:none;font:inherit;font-weight:700;cursor:pointer;transition:.2s;min-height:58px}.button:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(36,91,255,.2)}.button-small{padding:14px 20px;min-height:auto;font-size:14px}.button-light{background:white;color:var(--ink)}.text-link{font-weight:700;border-bottom:1px solid var(--ink);padding:10px 0}.eyebrow{display:flex;align-items:center;gap:14px;font-size:11px;letter-spacing:.23em;font-weight:700;color:#31333b}.eyebrow span{width:12px;height:12px;background:var(--lime)}.eyebrow.light{color:white}.hero{min-height:740px;display:flex;border-bottom:1px solid var(--line)}.hero,.hero-grid{align-items:center}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;grid-gap:60px;gap:60px}.case-hero h1,.hero-copy h1,.page-hero h1{font-size:clamp(56px,6.7vw,104px);line-height:.88;letter-spacing:-.065em;margin:50px 0 34px;font-weight:900}.blue-dot{color:var(--blue)}.lead{font-size:22px;line-height:1.48;color:#4d4e52;max-width:740px}.lead.compact{font-size:18px;max-width:700px}.hero-actions{display:flex;align-items:center;gap:36px;margin-top:38px}.trust-line{margin-top:40px;font-size:13px;color:var(--muted)}.hero-collage{height:590px;position:relative}.frame{position:absolute;overflow:hidden;background:#ddd;box-shadow:0 20px 60px rgba(0,0,0,.12)}.frame img{object-fit:cover}.frame-main img{object-fit:contain;background:var(--bg)}.frame-main{inset:30px 0 150px 90px;border:1px solid var(--ink)}.frame-mini{width:45%;height:250px;border:8px solid var(--bg);background:var(--bg)}.frame-mini img{object-fit:contain}.frame-mini.a{left:15px;bottom:10px;transform:rotate(-2deg)}.frame-mini.b{right:18px;bottom:20px;transform:rotate(2deg)}.tech-label{position:absolute;font:11px/1 monospace;color:var(--muted);letter-spacing:.15em}.tech-label.top{top:5px;left:90px}.tech-label.side{right:-5px;top:15px}.quick-strip{background:var(--blue);color:white}.quick-items{display:grid;grid-template-columns:repeat(5,1fr)}.quick-items a,.quick-items span{padding:25px 20px;border-left:1px solid rgba(255,255,255,.25);font-weight:700;text-align:center;font-size:14px}.quick-items a:last-child,.quick-items span:last-child{border-right:1px solid rgba(255,255,255,.25)}.quick-items a{transition:.2s}.quick-items a:hover{background:rgba(255,255,255,.08)}.section{padding:110px 0;border-bottom:1px solid var(--line)}.source-section{padding-top:54px;padding-bottom:48px}.section-soft{background:var(--soft)}.split{display:grid;grid-template-columns:1fr 1fr;grid-gap:80px;gap:80px}.align-center{align-items:center}.section h2{font-size:clamp(44px,5vw,76px);line-height:.97;letter-spacing:-.05em;margin:28px 0}.section h2 em{font-style:normal;color:var(--blue)}.steps-card{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:rgba(247,245,239,.85);align-self:center}.steps-card div{padding:28px;border-right:1px solid var(--line);position:relative}.steps-card div:not(:last-child):after{content:"→";position:absolute;right:-12px;top:50%;transform:translateY(-50%);width:24px;height:24px;border:1px solid var(--line);background:var(--bg);display:grid;place-items:center;color:var(--blue);font-weight:700;z-index:2}.steps-card div:last-child{border-right:0}.steps-card b{background:var(--lime);padding:4px 7px;font-size:12px}.steps-card strong{display:block;font-size:24px;margin:26px 0 10px}.steps-card p{font-size:14px;line-height:1.5;color:var(--muted)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:50px}.section-head>p{max-width:440px;color:var(--muted);font-size:18px;line-height:1.5}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{display:block;min-height:280px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;background:var(--bg);transition:.2s}.service-card:after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--blue);opacity:0;transition:opacity .2s}.service-card:hover{transform:translateY(-4px);box-shadow:0 18px 35px rgba(0,0,0,.08);z-index:2}.service-card:hover:after{opacity:1}.project-card:before,.service-card:before{content:"";position:absolute;width:13px;height:13px;border-left:1px solid var(--ink);border-top:1px solid var(--ink);left:-7px;top:-7px}.card-no{font:12px monospace;color:var(--blue)}.service-card h3{font-size:28px;margin:58px 0 12px}.service-card p{color:var(--muted);line-height:1.5;max-width:330px}.service-card strong{position:absolute;bottom:28px;font-size:20px}.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:22px;gap:22px}.project-card{border:1px solid var(--line);background:var(--bg);position:relative;transition:.2s}.project-card:hover{transform:translateY(-4px);box-shadow:0 18px 35px rgba(0,0,0,.08)}.project-card.featured{grid-column:span 2}.project-image{position:relative;aspect-ratio:16/9;overflow:hidden;background:#ddd}.project-image img{object-fit:cover;transition:.3s}.project-card:hover img{transform:scale(1.015)}.project-meta{display:flex;justify-content:space-between;gap:20px;padding:24px}.project-meta span{font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:var(--blue);font-weight:700}.project-meta h3{font-size:30px;margin:9px 0 7px}.project-meta p{margin:0;color:var(--muted)}.project-meta>b{font-size:30px}.franchise-section{background:var(--blue);color:white;padding:82px 0}.franchise-section .lead{color:rgba(255,255,255,.84)}.flow{border-top:1px solid rgba(255,255,255,.4);border-bottom:1px solid rgba(255,255,255,.4);padding:22px 0;margin:32px 0;display:flex;gap:16px;flex-wrap:wrap}.process-section{padding:82px 0}.process-section .section-head{margin-bottom:34px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.process-step{padding:30px;min-height:240px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.process-step b{font:700 16px monospace;color:var(--blue)}.process-step h3{font-size:24px;margin:60px 0 14px}.process-step p{color:var(--muted);line-height:1.55}.support-section{padding:78px 0}.support-card{border:1px solid var(--line);padding:46px;display:grid;grid-template-columns:1.15fr .85fr;grid-gap:80px;gap:80px;background:var(--bg)}.monthly{display:flex;flex-direction:column;border-top:1px solid var(--line)}.monthly-label{padding:12px 0 8px;color:var(--muted);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}.monthly span,.monthly strong{padding:14px 0;border-bottom:1px solid var(--line)}.monthly strong{margin-top:15px;color:var(--blue);font-size:20px}.prices-section{padding:82px 0}.price-list{border-top:1px solid var(--ink)}.price-list>div{display:flex;justify-content:space-between;align-items:center;padding:21px 5px;border-bottom:1px solid var(--line);font-size:19px}.price-list strong{font-size:23px}.faq-section{padding:82px 0}.faq{display:grid;grid-template-columns:.75fr 1.25fr;grid-gap:80px;gap:80px}.faq details{border-top:1px solid var(--line);padding:22px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;font-size:21px;font-weight:700;display:flex;justify-content:space-between}.faq summary::-webkit-details-marker{display:none}.faq details p{color:var(--muted);line-height:1.55;max-width:700px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;grid-gap:90px;gap:90px}.mail-link{font-size:22px;font-weight:700;border-bottom:1px solid var(--ink)}.request-form{background:var(--bg);border:1px solid var(--line);padding:34px}.field-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.request-form label{display:flex;flex-direction:column;gap:9px;font-size:13px;font-weight:700;margin-bottom:18px}.request-form input,.request-form textarea{width:100%;background:white;border:1px solid var(--line);padding:15px;font:inherit;outline:none}.request-form input:focus,.request-form textarea:focus{border-color:var(--blue)}.file-field small{font-size:11px;color:var(--muted);font-weight:400;margin-top:-4px}.file-field input{padding:12px}.request-form .consent{flex-direction:row;align-items:flex-start;font-weight:400;line-height:1.4}.consent input{width:auto;margin:3px 7px 0 0}.consent a,.privacy-note a{text-decoration:underline}.privacy-note{font-size:12px;color:var(--muted);line-height:1.45;margin:-6px 0 18px}.form-success{color:#176c3b}.form-error{color:#a92323}.footer{padding:70px 0 25px;background:#171717;color:white}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;grid-gap:40px;gap:40px}.footer-grid>div{display:flex;flex-direction:column;gap:12px}.footer .logo-mark i{background:white}.footer-note{max-width:320px}.muted{color:#9d9d9d}.legal-line{border-top:1px solid #3a3a3a;margin-top:60px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#929292;font-size:12px}.page-hero{padding:88px 0 56px;border-bottom:1px solid var(--line)}.page-hero h1{margin:35px 0}.portfolio-list-section{padding-top:72px}.portfolio-page .project-card{min-width:0}.case-hero{padding:90px 0 65px}.case-head{display:flex;justify-content:space-between;align-items:end;gap:50px}.case-head>div:first-child{max-width:930px}.case-sector{max-width:330px;color:var(--muted);padding-bottom:20px}.tag-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.tag-row span{border:1px solid var(--line);padding:8px 12px;font-size:12px}.case-image-wrap{padding:0 0 28px}.case-image{border:1px solid var(--line);background:white;padding:12px}.case-image img{width:100%;height:auto}.case-detail-section{padding-top:62px;padding-bottom:76px}.case-info{display:grid;grid-template-columns:1fr 1fr;grid-gap:100px;gap:100px}.work-list{list-style:none;margin:20px 0 0;padding:0;border-top:1px solid var(--line)}.work-list li{padding:16px 0;border-bottom:1px solid var(--line)}.work-list li:before{content:"→";color:var(--blue);margin-right:12px}.case-cta{background:var(--blue);color:white;padding:70px 0}.case-cta .container{display:flex;justify-content:space-between;align-items:center;gap:40px}.case-cta h2{font-size:52px;max-width:800px;margin:20px 0 0}.prose{max-width:880px}.prose h1{font-size:58px;letter-spacing:-.04em}.prose h2{font-size:27px;margin-top:45px}.prose p{font-size:17px;line-height:1.65}.prose .muted{font-size:14px}.footer .logo-text small{color:#bbb}.service-hero{padding:92px 0 0;border-bottom:1px solid var(--line)}.service-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;grid-gap:70px;gap:70px;align-items:center}.service-hero h1{font-size:clamp(54px,6.1vw,94px);line-height:.9;letter-spacing:-.06em;margin:42px 0 30px;font-weight:900;max-width:900px}.service-visual{position:relative;aspect-ratio:16/11;border:1px solid var(--line);background:white;padding:10px;overflow:hidden}.service-visual img{object-fit:contain;background:var(--bg)}.service-price-row{margin-top:56px;border-top:1px solid var(--line);display:grid;grid-template-columns:.7fr 1.3fr;grid-gap:50px;gap:50px;align-items:center;padding:24px 0}.service-price-row strong{font-size:30px}.service-price-row p{margin:0;color:var(--muted);font-size:15px;line-height:1.55}.service-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-feature{min-height:235px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg)}.service-feature h3{font-size:27px;margin:50px 0 12px}.service-feature p{color:var(--muted);line-height:1.55;max-width:520px}.service-format-layout{display:grid;grid-template-columns:.9fr 1.1fr;grid-gap:100px;gap:100px;align-items:start}.service-format-layout h2{max-width:650px}.service-format-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}.service-format-list span{padding:19px 0;border-bottom:1px solid var(--line);font-size:18px}.service-process-grid{border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-process-grid,.service-related-grid{display:grid;grid-template-columns:repeat(3,1fr)}.service-related-grid{grid-gap:22px;gap:22px}.service-related-grid .project-image{aspect-ratio:16/9;background:var(--bg)}.service-related-grid .project-image img{object-fit:contain}.service-related-grid .project-meta h3{font-size:25px}.service-related-grid .project-meta p{font-size:14px;line-height:1.4}@media(max-width:1050px){.main-nav{display:none}.case-info,.contact-grid,.faq,.hero-grid,.service-format-layout,.service-hero-grid,.split,.support-card{grid-template-columns:1fr}.hero{padding:70px 0}.hero-collage{height:500px}.footer-grid,.process-grid,.service-grid,.service-process-grid,.service-related-grid{grid-template-columns:repeat(2,1fr)}.case-head{display:block}.case-sector{margin-top:20px}.quick-items{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.page-hero{padding:68px 0 44px}.service-hero{padding:62px 0 0}.service-hero h1{font-size:50px;margin:30px 0 24px}.service-hero-grid{gap:36px}.service-price-row{grid-template-columns:1fr;gap:8px;margin-top:36px}.service-price-row strong{font-size:25px}.service-feature-grid{grid-template-columns:1fr}.service-feature{min-height:auto}.service-format-layout{gap:34px}.service-process-grid,.service-related-grid{grid-template-columns:1fr}.portfolio-list-section{padding-top:52px}.case-image-wrap{padding-bottom:18px}.case-detail-section{padding-top:48px;padding-bottom:58px}.source-section{padding-top:46px;padding-bottom:48px}.faq-section,.franchise-section,.prices-section,.process-section,.support-section{padding:60px 0}.container{width:min(100% - 30px,var(--max))}.header-inner{height:72px}.site-header .button-small{display:none}.logo-text b{font-size:21px}.hero{min-height:auto;padding:70px 0 45px}.hero-grid{gap:35px}.case-hero h1,.hero-copy h1,.page-hero h1{font-size:52px;margin:34px 0 25px}.lead{font-size:18px}.hero-actions{align-items:flex-start;flex-direction:column;gap:12px}.hero-collage{height:380px}.frame-main{inset:20px 0 110px 35px}.frame-mini{height:150px}.frame-mini.a{left:0}.frame-mini.b{right:0}.quick-items{grid-template-columns:1fr 1fr}.quick-items a,.quick-items span{font-size:12px}.section{padding:75px 0}.section h2{font-size:45px}.section-head{align-items:flex-start;flex-direction:column;margin-bottom:35px}.portfolio-grid,.process-grid,.service-grid{grid-template-columns:1fr}.project-card.featured{grid-column:auto}.steps-card{grid-template-columns:1fr}.steps-card div{border-right:0;border-bottom:1px solid var(--line)}.steps-card div:last-child{border-bottom:0}.support-card{padding:28px}.field-grid{grid-template-columns:1fr}.request-form{padding:22px}.footer-grid{grid-template-columns:1fr}.case-cta .container,.legal-line{flex-direction:column}.case-cta .container{align-items:flex-start}.case-cta h2{font-size:38px}.prose h1{font-size:42px}.case-info{gap:50px}.eyebrow{line-height:1.6}}