:root{--bg:#f4f6f3;--surface:#ffffff;--ink:#151915;--muted:#5d665e;--line:#cbd2c6;--accent:#c7471f;--accent-dark:#943015;--steel:#26302d;--steel-soft:#dfe5dc;--radius:8px;--shadow:0 18px 50px rgba(38,48,45,0.16);--shadow-strong:0 26px 80px rgba(38,48,45,0.24)}html[data-theme=dark]{--bg:#19201c;--surface:#26302b;--ink:#f3f6f1;--muted:#c1cac1;--line:#546056;--steel:#101512;--steel-soft:#343f37;--shadow:0 18px 50px rgba(0,0,0,0.26);--shadow-strong:0 26px 80px rgba(0,0,0,0.38)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:linear-gradient(90deg,rgba(38,48,45,.045) 1px,transparent 1px),linear-gradient(180deg,rgba(38,48,45,.035) 1px,transparent 1px),var(--bg);background-size:44px 44px;font-family:var(--font-playfair),Georgia,serif;font-size:17px}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}img{object-fit:cover}.site-nav{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:24px;gap:24px;min-height:92px;padding:8px clamp(18px,4vw,54px);border-bottom:1px solid rgba(21,25,21,.12);background:rgba(244,246,243,.93);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}html[data-theme=dark] .site-nav{background:rgba(25,32,28,.93)}html[data-theme=dark] .contact-form input,html[data-theme=dark] .contact-form textarea,html[data-theme=dark] .hero-proof strong{background:var(--surface)}.brand{font-family:var(--font-playfair),Georgia,serif;font-size:27px;font-weight:700;letter-spacing:0}.brand-logo{display:inline-flex;align-items:center;width:76px;height:76px}.brand-wordmark,.brand-wordmark img{display:block;width:76px;height:76px}.brand-wordmark img{object-fit:contain}.nav-links{display:flex;justify-content:center;gap:22px;color:var(--muted);font-size:15px;font-weight:600}.nav-links a{padding:7px 0;transition:color .18s ease}.nav-links a,.nav-submenu{position:relative}.nav-submenu summary{list-style:none;padding:7px 0;cursor:pointer}.nav-submenu summary::-webkit-details-marker{display:none}.nav-submenu summary svg{margin-left:5px;vertical-align:-2px;transition:transform .18s ease}.nav-submenu[open] summary svg{transform:rotate(180deg)}.nav-submenu[open] summary{color:var(--accent-dark)}.nav-submenu>div{position:absolute;top:calc(100% + 10px);left:50%;display:grid;min-width:190px;grid-gap:2px;gap:2px;padding:8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);transform:translateX(-50%)}.nav-submenu>div a{padding:9px 10px;border-radius:5px;white-space:nowrap}.nav-submenu>div a:hover{color:var(--accent-dark);background:color-mix(in srgb,var(--accent) 9%,transparent)}.nav-links a span{position:relative}.nav-links a span:after{position:absolute;right:0;bottom:-8px;left:0;height:2px;border-radius:99px;content:"";background:var(--accent);transform:scaleX(0);transform-origin:center;transition:transform .18s ease}.nav-links a.is-active,.nav-links a:hover{color:var(--accent-dark)}.nav-links a.is-active{font-weight:800}.nav-links a.is-active span:after,.nav-links a:hover span:after{transform:scaleX(1)}.nav-cta,.primary-btn,.secondary-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-radius:var(--radius);font-family:var(--font-playfair),Georgia,serif;font-weight:700;letter-spacing:.01em;white-space:nowrap;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.nav-cta,.primary-btn{border:1px solid var(--accent);color:#ffffff;background:var(--accent);box-shadow:0 12px 28px rgba(199,71,31,.24)}.nav-cta{padding:10px 16px}.nav-actions{display:flex;align-items:center;gap:10px}.primary-btn,.secondary-btn{padding:12px 18px}.secondary-btn{border:1px solid rgba(21,25,21,.24);color:var(--ink);background:rgba(255,255,255,.84)}html[data-theme=dark] .secondary-btn{border-color:rgba(255,255,255,.28);color:#ffffff;background:#344038;box-shadow:0 10px 24px rgba(0,0,0,.18)}html[data-theme=dark] .secondary-btn:hover{border-color:rgba(255,203,110,.72);background:#435047}.nav-cta:hover,.primary-btn:hover,.secondary-btn:hover{transform:translateY(-2px) scale(1.01)}.nav-cta:active,.primary-btn:active,.secondary-btn:active{transform:translateY(1px) scale(.99)}.hero{display:grid;grid-template-columns:minmax(0,.86fr) minmax(420px,1.14fr);grid-gap:clamp(24px,5vw,70px);gap:clamp(24px,5vw,70px);align-items:center;min-height:calc(100dvh - 92px);padding:clamp(28px,5vw,72px) clamp(18px,4vw,54px) clamp(34px,6vw,84px);isolation:isolate}.hero-copy{max-width:720px;position:relative}.hero-copy:before{position:absolute;top:-50px;left:-34px;z-index:-1;width:190px;height:190px;border-radius:50%;content:"";background:rgba(199,71,31,.11);filter:blur(10px)}.kicker{margin:0 0 14px;color:var(--accent-dark);font-size:13px;font-family:var(--font-playfair),Georgia,serif;font-weight:700;letter-spacing:.12em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--font-playfair),Georgia,serif;letter-spacing:0}h1{max-width:760px;margin-bottom:18px;font-size:clamp(48px,6.5vw,94px);line-height:.92}h1,h1 span{font-weight:700}h1 span{display:inline-block;color:var(--accent-dark);font-family:var(--font-playfair),Georgia,serif;font-style:italic;line-height:1.08;padding-bottom:4px}h2{margin-bottom:16px;font-size:clamp(36px,4.6vw,62px);font-weight:700;line-height:.98}h3{margin-bottom:8px;font-family:var(--font-playfair),Georgia,serif;font-size:22px;line-height:1.08}p{color:var(--muted);line-height:1.65}.hero-sub{max-width:560px;margin-bottom:26px;font-size:21px;font-weight:650}.contact-links,.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-media{position:relative;min-height:min(700px,76dvh);border-radius:var(--radius);background:transparent}.hero-main-photo{position:absolute;inset:0 5% 7% 0;overflow:hidden;border-radius:var(--radius);background:var(--steel);box-shadow:var(--shadow-strong)}.hero-main-photo img{animation:slowZoom 9s ease-out both}.hero-main-photo:after,.project-card:after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,rgba(21,25,21,.02),rgba(21,25,21,.62)),linear-gradient(90deg,rgba(21,25,21,.32),transparent 46%)}.hero-thumb{position:absolute;z-index:3;overflow:hidden;border:6px solid var(--bg);border-radius:var(--radius);background:var(--steel);box-shadow:var(--shadow-strong);animation:floatPhoto 5.5s ease-in-out infinite}.hero-thumb-one{right:0;top:10%;width:min(230px,34vw);height:180px}.hero-thumb-two{left:-6%;bottom:0;width:min(270px,42vw);height:205px;animation-delay:.9s}.hero-plate{position:absolute;right:8%;bottom:12%;z-index:4;max-width:260px;padding:16px;border:1px solid rgba(255,255,255,.24);border-radius:var(--radius);color:#ffffff;background:rgba(21,25,21,.68);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.hero-plate strong{display:block;font-family:var(--font-playfair),Georgia,serif;font-size:28px;font-style:italic}.hero-plate span{color:rgba(255,255,255,.82);font-size:14px}.hero-proof{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.hero-proof strong{border:1px solid var(--line);border-radius:var(--radius);padding:9px 12px;background:rgba(255,255,255,.72);box-shadow:0 10px 24px rgba(38,48,45,.08);font-family:var(--font-playfair),Georgia,serif;font-weight:700}.hero-showcase{position:relative;min-height:calc(100dvh - 92px);overflow:hidden;background:var(--steel);isolation:isolate}.hero-showcase-stage{position:absolute;inset:0;z-index:-2}.hero-showcase-stage:after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(10,17,25,.92),rgba(10,17,25,.74) 34%,rgba(10,17,25,.18) 70%,rgba(10,17,25,.44)),linear-gradient(0deg,rgba(10,17,25,.68),transparent 36%)}.hero-showcase-image{animation:heroImageSwap .62s cubic-bezier(.22,1,.36,1) both}.hero-showcase-content{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,.8fr);align-items:end;grid-gap:30px;gap:30px;min-height:calc(100dvh - 92px);padding:clamp(42px,6vw,84px) clamp(18px,4vw,54px) clamp(28px,4vw,54px)}.hero-showcase-copy{align-self:center;max-width:min(820px,66vw);color:#ffffff;animation:heroCopyEnter .7s cubic-bezier(.22,1,.36,1) 90ms both}.hero-showcase-brand{margin-bottom:14px;color:#ffcb6e;font-size:14px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.hero-showcase h1{max-width:min(820px,66vw);font-size:clamp(42px,5.7vw,82px);line-height:1.02;margin-bottom:16px;color:#ffffff;text-shadow:0 4px 24px rgba(0,0,0,.28)}.hero-showcase h1 span{color:#ffcb6e}.hero-showcase-tagline{max-width:640px;color:rgba(255,255,255,.86);font-size:clamp(16px,1.35vw,19px);font-weight:650;line-height:1.5}.hero-showcase-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px 20px;gap:10px 20px;margin:25px 0 0;padding:0;list-style:none}.hero-showcase-benefits li{display:flex;align-items:center;gap:8px;color:#ffffff;font-size:15px;font-weight:800}.hero-showcase-benefits svg{flex:0 0 auto;color:#80d477}.hero-showcase-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px}.hero-showcase-phone{display:inline-flex;align-items:center;gap:8px;min-height:46px;border:1px solid rgba(255,255,255,.48);border-radius:var(--radius);padding:10px 14px;color:#ffffff;background:rgba(10,17,25,.32);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-weight:900;transition:transform .18s ease,background .18s ease}.hero-showcase-phone:hover{background:rgba(255,255,255,.15);transform:translateY(-2px)}.hero-showcase-gallery{justify-self:end;width:min(100%,570px);animation:heroGalleryEnter .72s cubic-bezier(.22,1,.36,1) .18s both}.hero-showcase-gallery>p{margin-bottom:10px;color:rgba(255,255,255,.82);font-size:13px;font-weight:900;letter-spacing:.12em;text-align:right;text-transform:uppercase}.hero-showcase-thumbnails{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.hero-showcase-thumbnail{position:relative;min-height:118px;overflow:hidden;border:2px solid rgba(255,255,255,.52);border-radius:var(--radius);padding:0;background:var(--steel);box-shadow:0 12px 28px rgba(0,0,0,.22);cursor:pointer;transform:translateY(0);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.hero-showcase-thumbnail:after{position:absolute;inset:45% 0 0;content:"";pointer-events:none;background:linear-gradient(180deg,transparent,rgba(8,14,20,.84))}.hero-showcase-thumbnail span{position:absolute;right:8px;bottom:8px;left:8px;z-index:1;color:#ffffff;font-size:11px;font-weight:900;line-height:1.1;text-align:left}.hero-showcase-thumbnail.is-active,.hero-showcase-thumbnail:focus-visible,.hero-showcase-thumbnail:hover{border-color:#ffcb6e;box-shadow:0 16px 34px rgba(0,0,0,.34);transform:translateY(-8px)}.hero-showcase-thumbnail:focus-visible{outline:3px solid rgba(255,203,110,.5);outline-offset:3px}@keyframes heroImageSwap{0%{opacity:0;transform:scale(1.055)}to{opacity:1;transform:scale(1)}}@keyframes heroCopyEnter{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes heroGalleryEnter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.section{max-width:1400px;margin:0 auto;padding:clamp(64px,9vw,118px) clamp(18px,4vw,54px)}.section-stack{max-width:900px;margin-bottom:32px}.section-stack.narrow{max-width:760px}.compare-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface);box-shadow:0 16px 45px rgba(38,48,45,.08)}.compare-item{display:grid;align-content:start;grid-gap:14px;gap:14px;padding:clamp(22px,3vw,36px);border-right:1px solid var(--line)}.compare-item:last-child{border-right:0}.app-card svg,.case-panel svg,.compare-item svg{color:var(--accent)}.compare-item-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.compare-checkpoints>span,.compare-index{color:var(--accent-dark);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.compare-item h3,.compare-item p{margin:0}.compare-item p{color:var(--muted);font-size:14px;line-height:1.6}.compare-checkpoints{align-self:end;padding-top:14px;border-top:1px solid var(--line)}.compare-checkpoints ul{display:grid;grid-gap:8px;gap:8px;margin:10px 0 0;padding:0;list-style:none}.compare-checkpoints li{position:relative;padding-left:14px;color:var(--ink);font-size:13px;font-weight:650;line-height:1.45}.compare-checkpoints li:before{position:absolute;top:.52em;left:0;width:5px;height:5px;border-radius:50%;background:var(--accent);content:""}.image-ribbon{display:grid;grid-template-columns:1.1fr .9fr 1fr;grid-gap:16px;gap:16px;padding-top:0}.ribbon-photo{position:relative;min-height:260px;overflow:hidden;border-radius:var(--radius);background:var(--steel);box-shadow:var(--shadow)}.ribbon-photo:nth-child(2){transform:translateY(34px)}.ribbon-photo img{transition:transform .26s ease,filter .26s ease}.ribbon-photo:hover img{filter:saturate(1.08) contrast(1.05);transform:scale(1.055)}.anatomy{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);grid-gap:clamp(24px,5vw,70px);gap:clamp(24px,5vw,70px);align-items:center}.anatomy-visual{position:relative;min-height:560px;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow)}.panel-types{display:grid;grid-gap:14px;gap:14px;margin-top:26px}.panel-types article{padding:18px;border-left:4px solid var(--accent);background:var(--surface)}.process{overflow:hidden}.process-board{position:relative;display:grid;grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);grid-gap:clamp(20px,4vw,48px);gap:clamp(20px,4vw,48px);align-items:start}.process-board:before{position:absolute;top:24px;bottom:24px;left:calc(41% + clamp(20px, 4vw, 48px) / 2);width:3px;content:"";background:linear-gradient(180deg,var(--accent),rgba(199,71,31,.08));transform:scaleY(0);transform-origin:top}.process.is-visible .process-board:before{animation:drawVerticalLine 1.3s ease .16s both}.process-feature{position:-webkit-sticky;position:sticky;top:96px;min-height:640px;overflow:hidden;border-radius:var(--radius);background:var(--steel);box-shadow:var(--shadow-strong)}.process-feature:after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,transparent 28%,rgba(21,25,21,.78)),linear-gradient(90deg,rgba(21,25,21,.35),transparent)}.process-feature img{transform:scale(1.03);transition:transform .9s ease}.process.is-visible .process-feature img{transform:scale(1.09)}.process-feature-card{position:absolute;left:20px;right:20px;bottom:20px;z-index:2;display:grid;grid-gap:6px;gap:6px;padding:18px;border:1px solid rgba(255,255,255,.22);border-radius:var(--radius);color:#ffffff;background:rgba(21,25,21,.7);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.process-feature-card span{color:#ffb095;font-weight:800}.process-feature-card strong{font-size:clamp(26px,3vw,42px);line-height:1}.process-masonry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.timeline-step{position:relative;z-index:1;display:grid;grid-gap:12px;gap:12px;min-height:300px;padding:14px 14px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 12px 32px rgba(38,48,45,.08);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.timeline-step:nth-child(2),.timeline-step:nth-child(5){transform:translateY(38px)}.timeline-step:nth-child(3),.timeline-step:nth-child(7){min-height:360px}.timeline-step:hover{border-color:rgba(199,71,31,.44);box-shadow:var(--shadow);transform:translateY(-6px)}.timeline-step:nth-child(2):hover,.timeline-step:nth-child(5):hover{transform:translateY(30px)}.step-photo{position:relative;min-height:148px;overflow:hidden;border-radius:var(--radius);background:var(--steel)}.timeline-step:nth-child(3) .step-photo,.timeline-step:nth-child(7) .step-photo{min-height:210px}.step-photo img{transition:transform .26s ease,filter .26s ease}.timeline-step:hover .step-photo img{filter:saturate(1.08) contrast(1.05);transform:scale(1.06)}.timeline-step span{display:inline-grid;place-items:center;width:46px;height:46px;margin-bottom:22px;border-radius:50%;color:#ffffff;background:var(--accent);font-weight:800}.timeline-step p{margin-bottom:0}.project-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:360px;grid-gap:16px;gap:16px}.project-card{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--steel);box-shadow:var(--shadow)}.project-card:first-child,.project-card:nth-child(4){grid-column:span 2}.project-card img{transition:transform .22s ease}.project-card:hover img{transform:scale(1.06)}.project-overlay{position:absolute;inset:auto 0 0;z-index:2;padding:22px;color:#ffffff;transform:translateY(10px);transition:transform .19s ease}.project-card:hover .project-overlay{transform:translateY(0)}.project-overlay p{color:rgba(255,255,255,.84)}.pricing{display:grid;grid-template-columns:.78fr 1.22fr;grid-gap:clamp(24px,5vw,64px);gap:clamp(24px,5vw,64px);align-items:start}.price-table{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.price-row{display:grid;grid-template-columns:.85fr .85fr 1.3fr;grid-gap:18px;gap:18px;padding:22px;border-bottom:1px solid var(--line)}.price-row.is-recommended{position:relative;margin:-1px;border:1px solid color-mix(in srgb,var(--accent) 56%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--surface) 92%,var(--accent) 8%)}.price-name{display:grid;align-content:start;grid-gap:6px;gap:6px}.price-name small{color:var(--muted);font-size:12px;font-weight:650;line-height:1.45}.price-badge{justify-self:start;border-radius:999px;padding:4px 8px;color:#ffffff!important;background:var(--accent);font-size:10px!important;font-weight:900!important;letter-spacing:.06em;text-transform:uppercase}.price-row:last-child{border-bottom:0}.price-row span{color:var(--accent-dark);font-size:22px;font-weight:800}.price-row p{margin-bottom:0}.app-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:16px;gap:16px}.app-card{grid-column:span 2;min-height:220px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.app-card:nth-child(4),.app-card:nth-child(5){grid-column:span 3}.app-card:hover{transform:translateY(-5px);border-color:rgba(199,71,31,.44);box-shadow:var(--shadow)}.capability{display:grid;grid-template-columns:.9fr 1.1fr;grid-gap:clamp(24px,5vw,64px);gap:clamp(24px,5vw,64px);align-items:center;color:#ffffff;background:var(--steel);max-width:none}.capability>*{max-width:660px}.capability-copy{margin-left:auto}.capability h2,.capability p{color:#ffffff}.capability .kicker{color:#ffb095}.stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;margin-right:auto}.stat{padding:24px;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);background:rgba(255,255,255,.08)}.stat strong{display:block;font-family:var(--font-playfair),Georgia,serif;font-style:italic;font-size:clamp(40px,5vw,72px);line-height:1}.stat span{color:rgba(255,255,255,.74)}.case-study{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.case-panel,.case-points article{padding:clamp(24px,4vw,42px);border-radius:var(--radius);background:var(--surface)}.case-points{display:grid;grid-gap:18px;gap:18px}.faq-list{display:grid;grid-gap:10px;gap:10px}.faq-list-wrap{display:grid;grid-gap:18px;gap:18px}.faq-more{justify-self:center;min-height:44px;border:1px solid var(--line);border-radius:999px;padding:10px 16px;color:var(--accent-dark);background:var(--surface);cursor:pointer;font:inherit;font-size:14px;font-weight:850;transition:transform .18s ease,color .18s ease,border-color .18s ease,background .18s ease}.faq-more:focus-visible,.faq-more:hover{border-color:var(--accent);color:#ffffff;background:var(--accent);outline:none;transform:translateY(-2px)}.faq-more span{display:inline-block;margin-left:5px;font-size:17px;line-height:0}.faq-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.faq-item button{display:flex;width:100%;align-items:center;justify-content:space-between;padding:20px;border:0;color:var(--ink);background:transparent;cursor:pointer;font-weight:800;text-align:left}.faq-item button:after{content:"+";color:var(--accent);font-size:24px}.faq-item.is-open button:after{content:"-"}.faq-item p{max-height:0;margin:0;overflow:hidden;padding:0 20px;transition:max-height .22s ease,padding .22s ease}.faq-item.is-open p{max-height:420px;padding:0 20px 20px}.final-cta{display:grid;grid-template-columns:.9fr 1.1fr;grid-gap:clamp(24px,5vw,64px);gap:clamp(24px,5vw,64px);align-items:start}.contact-form{display:grid;grid-gap:14px;gap:14px;padding:clamp(22px,3vw,34px);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.contact-form label{display:grid;grid-gap:8px;gap:8px;color:var(--ink);font-weight:800}.contact-form input,.contact-form textarea{width:100%;border:1px solid #9ea89c;border-radius:var(--radius);padding:13px 14px;color:var(--ink);background:#ffffff}.contact-form input:focus,.contact-form textarea:focus{outline:3px solid rgba(199,71,31,.28);border-color:var(--accent)}.contact-form button:disabled{cursor:not-allowed;opacity:.58;transform:none;box-shadow:none}.contact-field-error{margin:-10px 0 0;color:#b42318;font-size:13px;font-weight:700;line-height:1.45}.contact-form input[aria-invalid=true],.contact-form textarea[aria-invalid=true]{border-color:#b42318;box-shadow:0 0 0 3px rgba(180,35,24,.14)}.contact-form-status{border-radius:var(--radius);padding:12px 14px;font-size:14px;font-weight:700;line-height:1.5}.contact-form-status:focus-visible{outline:3px solid rgba(199,71,31,.36);outline-offset:3px}.contact-form-status.is-success{color:#155724;background:rgba(68,169,86,.16)}.contact-form-status.is-error{color:#8f1d16;background:rgba(180,35,24,.13)}.contact-form-status.is-disabled{align-self:center;margin:0;color:var(--muted);background:var(--surface)}.contact-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}html[data-theme=dark] .contact-field-error,html[data-theme=dark] .contact-form-status.is-error{color:#ffb4ab}html[data-theme=dark] .contact-form-status.is-success{color:#b7f5be}.footer{display:grid;grid-template-columns:minmax(250px,1.45fr) repeat(2,minmax(180px,1fr));grid-gap:clamp(24px,4vw,64px);gap:clamp(24px,4vw,64px);padding:48px clamp(18px,4vw,54px);border-top:1px solid var(--line);color:var(--muted)}.footer span{color:var(--ink);font-family:var(--font-playfair),Georgia,serif;font-weight:800}.footer-brand p{max-width:560px;margin:12px 0 0;font-size:15px}.footer-brand-lockup{display:flex;align-items:center;gap:12px}.footer-brand-lockup img{width:48px;height:48px;border:1px solid var(--line);border-radius:12px;object-fit:cover;box-shadow:0 8px 18px rgba(38,48,45,.16)}.footer-brand-lockup span{display:grid;grid-gap:1px;gap:1px;color:var(--ink);font-size:26px;letter-spacing:.04em;line-height:.95}.footer-brand-lockup small,.footer-brand-lockup span{font-family:var(--font-playfair),Georgia,serif;font-weight:800}.footer-brand-lockup small{color:var(--accent-dark);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.footer-column{display:grid;align-content:start;grid-gap:10px;gap:10px;font-size:15px}.footer-column strong{margin-bottom:3px;color:var(--ink)}.footer-column a:hover{color:var(--accent-dark);text-decoration:underline;text-underline-offset:3px}.contact-rail{position:fixed;right:clamp(14px,2vw,28px);bottom:clamp(16px,3vw,30px);z-index:29;display:grid;grid-gap:8px;gap:8px}.contact-rail .scroll-top,.contact-rail a{position:relative;display:inline-grid;place-items:center;align-items:center;width:50px;height:50px;border:1px solid rgba(255,255,255,.32);border-radius:50%;color:#ffffff;background:var(--accent);box-shadow:0 12px 28px rgba(199,71,31,.25);transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.contact-rail .scroll-top{border:0;padding:3px;background:conic-gradient(#ffd166 var(--scroll-progress,0deg),rgba(255,255,255,.24) 0deg)}.scroll-top-icon{display:inline-grid;width:100%;height:100%;place-items:center;border-radius:50%;background:var(--accent)}.contact-rail .scroll-top:hover,.contact-rail a:hover{background:var(--accent-dark);box-shadow:0 16px 32px rgba(199,71,31,.34);transform:translateY(-3px) scale(1.08)}.contact-rail .scroll-top:hover .scroll-top-icon{background:var(--accent-dark)}.contact-rail .scroll-top:hover{background:conic-gradient(#ffd166 var(--scroll-progress,0deg),rgba(255,255,255,.24) 0deg)}.contact-rail a:active,.nav-cta:active,.primary-btn:active,.scroll-top:active,.secondary-btn:active{transform:translateY(1px) scale(.97)}.contact-rail .scroll-top:focus-visible,.contact-rail a:focus-visible{outline:3px solid rgba(199,71,31,.35);outline-offset:3px}.zalo-icon{display:inline-grid;place-items:center;min-width:28px;height:21px;border-radius:5px;padding:0 3px;color:#ffffff;background:#0068ff;font-family:Arial,sans-serif;font-size:10px;font-weight:800;letter-spacing:-.07em;line-height:1}.contact-rail .cta-call{background:#168a47;box-shadow:0 12px 28px rgba(22,138,71,.3)}.contact-rail .cta-call:hover{background:#10723a;box-shadow:0 16px 32px rgba(22,138,71,.38)}.contact-rail .cta-zalo{background:#0068ff;box-shadow:0 12px 28px rgba(0,104,255,.3)}.contact-rail .cta-zalo:hover{background:#0055d4;box-shadow:0 16px 32px rgba(0,104,255,.38)}.contact-rail .cta-zalo .zalo-icon{color:#0068ff;background:#ffffff}.contact-rail .cta-messenger{background:linear-gradient(135deg,#00b2ff,#0068ff 58%,#a033ff);box-shadow:0 12px 28px rgba(0,104,255,.34)}.contact-rail .cta-messenger:hover{background:linear-gradient(135deg,#009be5,#005be3 58%,#8425d1);box-shadow:0 16px 32px rgba(0,104,255,.42)}.contact-rail .cta-email{background:#d14836;box-shadow:0 12px 28px rgba(209,72,54,.3)}.contact-rail .cta-email:hover{background:#ae392a;box-shadow:0 16px 32px rgba(209,72,54,.38)}.reveal,.timeline-step{opacity:0;filter:blur(10px);transform:translateY(34px) scale(.985)}.reveal.is-visible,.timeline-step.is-visible{opacity:1;filter:blur(0);transform:translateY(0) scale(1);transition:opacity .7s ease,filter .7s ease,transform .7s cubic-bezier(.19,1,.22,1)}.timeline-step:nth-child(2).is-visible,.timeline-step:nth-child(5).is-visible{transform:translateY(38px) scale(1)}.timeline-step.is-visible:hover{transform:translateY(-6px) scale(1)}.timeline-step:nth-child(2).is-visible:hover,.timeline-step:nth-child(5).is-visible:hover{transform:translateY(30px) scale(1)}.app-card:nth-child(2).is-visible,.project-card:nth-child(2).is-visible,.timeline-step:nth-child(2).is-visible{transition-delay:90ms}.app-card:nth-child(3).is-visible,.project-card:nth-child(3).is-visible,.timeline-step:nth-child(3).is-visible{transition-delay:.16s}.app-card:nth-child(4).is-visible,.project-card:nth-child(4).is-visible,.timeline-step:nth-child(4).is-visible{transition-delay:.23s}.app-card:nth-child(5).is-visible,.timeline-step:nth-child(5).is-visible{transition-delay:.3s}.scroll-top{position:relative;display:inline-grid;place-items:center;width:50px;height:50px;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(14px) scale(.92);transition:opacity .18s ease,transform .18s ease,background .18s ease}.scroll-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.theme-toggle{display:inline-grid;place-items:center;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:var(--surface);box-shadow:var(--shadow);cursor:pointer;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.theme-toggle:hover{box-shadow:var(--shadow-strong);transform:translateY(-3px) rotate(12deg)}.theme-toggle:active{transform:translateY(1px) scale(.97)}.scroll-top:hover{background:var(--accent-dark);transform:translateY(-3px) scale(1.04)}.has-tooltip,.scroll-top[data-tooltip]{position:relative}.has-tooltip:after,.scroll-top[data-tooltip]:after{position:absolute;right:calc(100% + 12px);top:50%;z-index:40;width:max-content;max-width:190px;padding:8px 10px;border-radius:6px;color:#ffffff;background:var(--steel);box-shadow:0 8px 20px rgba(38,48,45,.2);content:attr(data-tooltip);font-family:var(--font-playfair),Georgia,serif;font-size:13px;font-weight:700;line-height:1.2;opacity:0;pointer-events:none;transform:translate(6px,-50%);transition:opacity .16s ease,transform .16s ease}.has-tooltip:focus-visible:after,.has-tooltip:hover:after,.scroll-top[data-tooltip]:focus-visible:after,.scroll-top[data-tooltip]:hover:after{opacity:1;transform:translateY(-50%)}.tooltip-top{position:relative}.tooltip-top:after{position:absolute;bottom:calc(100% + 10px);left:50%;z-index:40;width:max-content;max-width:min(260px,calc(100vw - 32px));padding:8px 10px;border-radius:6px;color:#ffffff;background:var(--steel);box-shadow:0 8px 20px rgba(38,48,45,.2);content:attr(data-tooltip);font-family:var(--font-playfair),Georgia,serif;font-size:13px;font-weight:700;line-height:1.2;opacity:0;pointer-events:none;transform:translate(-50%,6px);transition:opacity .16s ease,transform .16s ease}.tooltip-top:focus-visible:after,.tooltip-top:hover:after{opacity:1;transform:translate(-50%)}.theme-toggle:after{right:calc(100% + 12px);left:auto;transform:translate(6px,-50%)}.theme-toggle:focus-visible:after,.theme-toggle:hover:after{transform:translateY(-50%)}.nav-tooltip,.site-nav .theme-toggle{position:relative}.nav-tooltip:after,.site-nav .theme-toggle:after{position:absolute;top:calc(100% + 10px);right:auto;bottom:auto;left:50%;z-index:60;width:max-content;max-width:min(250px,calc(100vw - 32px));padding:8px 10px;border-radius:6px;color:#ffffff;background:var(--steel);box-shadow:0 8px 20px rgba(38,48,45,.2);content:attr(data-tooltip);font-family:var(--font-playfair),Georgia,serif;font-size:13px;font-weight:700;line-height:1.2;opacity:0;pointer-events:none;transform:translate(-50%,-6px);transition:opacity .16s ease,transform .16s ease}.nav-tooltip:focus-visible:after,.nav-tooltip:hover:after,.site-nav .theme-toggle:focus-visible:after,.site-nav .theme-toggle:hover:after{opacity:1;transform:translate(-50%)}@keyframes drawLine{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes drawVerticalLine{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes slowZoom{0%{transform:scale(1.02)}to{transform:scale(1.08)}}@keyframes floatPhoto{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:1ms!important;scroll-behavior:auto!important;transition-duration:1ms!important}.reveal,.timeline-step{opacity:1;filter:none;transform:none}}.article-hero{max-width:none}.article-detail,.related-articles{width:min(820px,calc(100% - 28px))}.article-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.article-row-list-section{width:min(1160px,calc(100% - 36px));margin:0 auto;padding:0 0 52px}.article-row-list{border-top:1px solid var(--line)}.article-row{display:grid;grid-template-columns:130px minmax(0,1fr) auto;align-items:center;grid-gap:20px;gap:20px;min-height:132px;padding:14px 0;border-bottom:1px solid var(--line)}.article-row-cover{position:relative;height:102px;overflow:hidden;border-radius:calc(var(--radius) - 4px);background:var(--steel-soft)}.article-row-cover img,.related-article-cover img{object-fit:cover}.article-row-index{color:var(--accent-dark);font-size:22px;font-weight:800}.article-row time,.related-article-card time{color:var(--muted);font-size:13px;font-weight:700}.article-row h3{margin:5px 0 6px;font-size:21px;line-height:1.2}.article-row p{display:-webkit-box;margin:0;overflow:hidden;color:var(--muted);line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.article-row-link{color:var(--accent-dark);font-size:14px;font-weight:800}.article-row.is-read .article-row-link,.article-row.is-read h3 a{color:var(--muted)}.related-articles-track{display:flex;gap:16px;overflow-x:auto;padding:2px 2px 14px;scroll-snap-type:x mandatory;scrollbar-width:none}.related-articles-track::-webkit-scrollbar{display:none}.related-article-card{flex:0 0 min(340px,82vw);overflow:hidden;padding:0;scroll-snap-align:start}.related-article-cover{position:relative;aspect-ratio:1.55;background:var(--steel-soft)}.related-article-card>div:last-child{display:grid;grid-gap:10px;gap:10px;padding:18px}.related-article-card h3{font-size:20px}.article-pagination{align-items:center}.article-pagination .pagination-direction{width:auto;padding-inline:14px}.article-pagination .pagination-direction:disabled{cursor:not-allowed;opacity:.42}.pagination-status{margin-left:6px;color:var(--muted);font-size:14px;font-weight:700}@media (max-width:760px){.article-hero,.article-list-section,.article-row-list-section,.featured-articles{width:min(100% - 28px,1160px)}.article-detail,.related-articles{width:min(100% - 24px,820px)}.article-row-list-section{padding-bottom:40px}.article-row{grid-template-columns:96px minmax(0,1fr);gap:14px;min-height:110px}.article-row-cover{height:80px}.article-row h3{font-size:17px}.article-row p{-webkit-line-clamp:1;font-size:14px}.article-row-link{display:none}.article-pagination{flex-wrap:wrap}.pagination-status{width:100%;margin:6px 0 0;text-align:center}.services-bento{grid-auto-columns:minmax(184px,58vw);padding-block:6px 18px}.services-bento .service-card,.services-bento .service-card:nth-child(n){position:relative;min-height:250px;aspect-ratio:.82}.services-bento .service-card>img{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center}.services-bento .service-card>div{position:relative;z-index:1}}.search-trigger{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:var(--surface);transition:transform .18s ease,border-color .18s ease,color .18s ease}.search-trigger:focus-visible,.search-trigger:hover{border-color:var(--accent);color:var(--accent-dark);transform:translateY(-2px)}.site-search-backdrop{position:fixed;inset:0;z-index:110;display:grid;place-items:start center;padding:clamp(88px,13vh,150px) 18px 24px;background:rgba(12,18,16,.54);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:search-fade-in .16s ease both;height:100vh}.site-search-dialog{width:min(680px,100%);overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 80%,#fff);border-radius:18px;background:var(--surface);box-shadow:0 24px 70px rgba(15,25,21,.28);animation:search-dialog-in .22s cubic-bezier(.2,.8,.2,1) both}.site-search-input{display:flex;align-items:center;gap:12px;padding:15px 16px;border-bottom:1px solid var(--line);color:var(--accent-dark)}.site-search-input input{flex:1 1;width:100%;min-width:0;border:0;outline:0;color:var(--ink);background:transparent;font:inherit;font-size:16px}.site-search-input button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;color:var(--muted);background:transparent}.site-search-input button:focus-visible,.site-search-input button:hover{color:var(--accent-dark);background:var(--accent-soft)}.site-search-results{display:grid;grid-gap:6px;gap:6px;max-height:min(58vh,520px);overflow-y:auto;padding:14px}.site-search-results a{display:grid;grid-gap:4px;gap:4px;padding:12px;border-radius:12px;transition:background .16s ease}.site-search-results a:focus-visible,.site-search-results a:hover{background:var(--accent-soft);outline:0}.site-search-results a strong{color:var(--ink);font-size:15px}.search-empty,.site-search-results a span{color:var(--muted);font-size:13px;line-height:1.45}.search-label{margin:5px 0 3px;color:var(--accent-dark);font-size:12px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.search-recent>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 8px}.search-recent button{border:0;color:var(--muted);background:transparent;font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px}.search-suggestions{display:flex;flex-wrap:wrap;gap:8px}.search-suggestions a{display:block;padding:8px 11px;border:1px solid var(--line);border-radius:999px;color:var(--ink);font-size:13px;font-weight:750}.site-search-dialog>.search-shortcut{margin:0;padding:12px 16px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.search-shortcut kbd{padding:2px 5px;border:1px solid var(--line);border-radius:4px;background:var(--steel-soft);font:inherit}@keyframes search-fade-in{0%{opacity:0}to{opacity:1}}@keyframes search-dialog-in{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.featured-article-card{flex-basis:min(340px,76vw);grid-template-rows:auto 1fr}.featured-article-card>div:last-child{min-height:210px;overflow:hidden}.featured-article-card h2{-webkit-line-clamp:2;font-size:22px}.featured-article-card h2,.featured-article-card p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical}.featured-article-card p{-webkit-line-clamp:3}@media (max-width:760px){.site-search-backdrop{padding-top:82px}.site-search-dialog{border-radius:14px}.search-trigger{width:42px;height:42px}.featured-article-card{flex-basis:min(290px,76vw)}.featured-article-card>div:last-child{min-height:190px;padding:16px}.featured-article-card h2{font-size:19px}.services-bento{grid-auto-columns:minmax(218px,64vw)}.service-card,.service-card:first-child,.service-card:nth-child(2),.service-card:nth-child(3),.service-card:nth-child(4),.service-card:nth-child(5),.service-card:nth-child(6){min-height:255px}.service-card>img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}.service-card>div{padding:15px}.service-card p{display:-webkit-box;overflow:hidden;margin-bottom:9px;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:13px}.service-card h3{margin:5px 0;font-size:18px}}@media (max-width:1080px){.anatomy,.capability,.case-study,.final-cta,.hero,.pricing,.process-board{grid-template-columns:1fr}.capability-copy,.capability>*,.stats{max-width:100%;margin:0}.project-grid{grid-template-columns:repeat(2,1fr)}.image-ribbon{grid-template-columns:1fr;padding-top:clamp(64px,9vw,118px)}.ribbon-photo:nth-child(2){transform:none}.process-board:before{left:24px}.process-feature{position:relative;top:auto;min-height:420px}.app-grid,.stats{grid-template-columns:1fr}.app-card,.app-card:nth-child(4),.app-card:nth-child(5){grid-column:auto}}@media (max-width:760px){.site-nav{grid-template-columns:1fr auto;min-height:80px}.brand-logo,.brand-wordmark,.brand-wordmark img{width:62px;height:62px}.nav-links{display:none}.hero{grid-template-columns:1fr;min-height:auto;padding-top:28px}h1{font-size:clamp(38px,12vw,54px)}.anatomy-visual,.hero-media{min-height:390px}.hero-main-photo{inset:0}.hero-thumb-one{width:160px;height:126px}.hero-thumb-two{left:12px;width:178px;height:132px}.hero-plate{right:12px;bottom:12px}.compare-grid,.project-grid{grid-template-columns:1fr}.process-board:before{display:none}.timeline-step,.timeline-step:nth-child(2),.timeline-step:nth-child(2).is-visible,.timeline-step:nth-child(3),.timeline-step:nth-child(5),.timeline-step:nth-child(5).is-visible,.timeline-step:nth-child(7){min-height:auto;transform:none}.timeline-step:nth-child(3),.timeline-step:nth-child(7){min-height:auto}.mobile-swipe-list,.process-masonry{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(278px,82vw);grid-template-columns:none;grid-gap:14px;gap:14px;margin:0 -18px;overflow-x:auto;overscroll-behavior-x:contain;padding:8px 18px 22px;scroll-padding-left:18px;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x}.mobile-swipe-list::-webkit-scrollbar,.process-masonry::-webkit-scrollbar{display:none}.mobile-swipe-list>*{scroll-snap-align:start}.mobile-swipe-list .project-card,.mobile-swipe-list .project-card:first-child,.mobile-swipe-list .project-card:nth-child(4){grid-column:auto;min-height:360px;opacity:1;filter:none;transform:none}.mobile-swipe-list .app-card,.mobile-swipe-list .app-card:nth-child(4),.mobile-swipe-list .app-card:nth-child(5){grid-column:auto;min-height:230px;opacity:1;filter:none;transform:none}.mobile-swipe-list .faq-item{min-height:184px}.timeline-step,.timeline-step:nth-child(2),.timeline-step:nth-child(2).is-visible,.timeline-step:nth-child(5),.timeline-step:nth-child(5).is-visible{min-height:390px;opacity:1;filter:none;scroll-snap-align:start;transform:none}.timeline-step:nth-child(3) .step-photo,.timeline-step:nth-child(7) .step-photo{min-height:148px}.compare-item{border-right:0;border-bottom:1px solid var(--line)}.compare-item:last-child{border-bottom:0}.project-card,.project-card:first-child,.project-card:nth-child(4){grid-column:auto;min-height:320px}.footer,.price-row{grid-template-columns:1fr}.contact-rail{right:12px;bottom:12px;gap:7px}.contact-rail a{width:46px;min-width:46px;padding:10px}.contact-rail .scroll-top{width:46px;height:46px}}@media (max-width:1080px){.hero-showcase-content{grid-template-columns:1fr;align-content:space-between}.hero-showcase-copy{align-self:start}.hero-showcase-gallery{width:min(100%,620px)}}@media (max-width:760px){.hero-showcase,.hero-showcase-content{min-height:760px}.hero-showcase-stage:after{background:linear-gradient(90deg,rgba(10,17,25,.86),rgba(10,17,25,.38)),linear-gradient(0deg,rgba(10,17,25,.86),rgba(10,17,25,.08) 60%)}.hero-showcase-content{gap:20px;padding-top:42px}.hero-showcase h1{font-size:clamp(45px,13vw,62px)}.hero-showcase-tagline{max-width:440px;font-size:17px}.hero-showcase-benefits{grid-template-columns:1fr 1fr;gap:8px 10px;margin-top:20px}.hero-showcase-benefits li{align-items:flex-start;font-size:12px}.hero-showcase-actions{margin-top:22px}.hero-showcase-phone{min-height:42px;padding:8px 11px;font-size:14px}.hero-showcase-gallery{width:100%}.hero-showcase-gallery>p{text-align:left}.hero-showcase-thumbnails{gap:7px}.hero-showcase-thumbnail{min-height:82px}.hero-showcase-thumbnail span{right:5px;bottom:5px;left:5px;font-size:9px}}.legal-page{min-height:100dvh}.legal-header{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:88px;padding:6px clamp(18px,4vw,54px);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 92%,transparent)}.legal-content{max-width:860px;margin:0 auto;padding:clamp(64px,9vw,112px) clamp(18px,4vw,54px)}.legal-content h1{max-width:760px}.legal-lead{max-width:700px;margin-bottom:42px;font-size:19px}.legal-content section{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}.legal-content h2{margin-bottom:10px;font-size:clamp(24px,3vw,32px)}.legal-content a:not(.brand):not(.secondary-btn){color:var(--accent-dark);font-weight:800;text-decoration:underline;text-underline-offset:3px}.not-found-page{display:grid;min-height:100dvh;grid-template-rows:auto 1fr;overflow:hidden}.not-found-header{display:flex;align-items:center;justify-content:space-between;min-height:88px;padding:6px clamp(18px,4vw,54px);border-bottom:1px solid var(--line)}.not-found-call{display:inline-flex;align-items:center;gap:8px;color:var(--accent-dark);font-size:15px;font-weight:800}.not-found-content{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.42fr);grid-gap:clamp(28px,8vw,130px);gap:clamp(28px,8vw,130px);align-items:end;width:min(1280px,100%);margin:0 auto;padding:clamp(64px,11vw,150px) clamp(18px,4vw,54px) clamp(44px,7vw,82px);isolation:isolate}.not-found-content:before{position:absolute;top:12%;right:12%;z-index:-1;width:min(40vw,520px);aspect-ratio:1;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:50%;content:"";box-shadow:0 0 0 42px color-mix(in srgb,var(--accent) 7%,transparent),0 0 0 110px color-mix(in srgb,var(--accent) 4%,transparent)}.not-found-code{position:absolute;top:clamp(18px,4vw,50px);right:clamp(18px,7vw,100px);z-index:-1;margin:0;color:color-mix(in srgb,var(--accent) 12%,transparent);font-family:var(--font-playfair),Georgia,serif;font-size:clamp(150px,29vw,430px);font-weight:700;letter-spacing:-.1em;line-height:.72;-webkit-user-select:none;-moz-user-select:none;user-select:none}.not-found-copy{max-width:750px}.not-found-copy h1{position:relative;z-index:1;max-width:760px;margin-bottom:20px;font-size:clamp(53px,8vw,112px)}.not-found-copy>p:not(.kicker){max-width:560px;font-size:clamp(17px,1.6vw,20px)}.not-found-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.not-found-note{display:grid;grid-gap:7px;gap:7px;align-self:end;padding:22px;border-top:3px solid var(--accent);background:var(--surface);box-shadow:var(--shadow)}.not-found-note span{color:var(--accent-dark);font-family:var(--font-playfair),Georgia,serif;font-size:28px;font-style:italic;font-weight:800}.not-found-note p{margin:0;font-weight:700}.not-found-note a{color:var(--ink);font-weight:800;text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:4px}@media (max-width:760px){.legal-header{min-height:74px}.legal-header .secondary-btn{min-height:40px;padding:8px 11px;font-size:14px}}body,html{max-width:100%;overflow-x:clip}main{min-width:0}.contact-rail{z-index:100;right:max(clamp(14px,2vw,28px),env(safe-area-inset-right,0px));bottom:max(clamp(16px,3vw,30px),env(safe-area-inset-bottom,0px))}@media (max-width:760px){.contact-rail{right:max(12px,env(safe-area-inset-right,0px));bottom:max(12px,env(safe-area-inset-bottom,0px))}.filter-tabs,.mobile-swipe-list,.portfolio-projects,.process-masonry,.services-bento{max-width:100vw}}.mobile-nav{display:none}.custom-select{position:relative;display:grid;grid-gap:7px;gap:7px}.custom-select-label{color:rgba(255,255,255,.72);font-size:12px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.custom-select-trigger{display:flex;min-height:46px;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(255,255,255,.28);border-radius:var(--radius);padding:0 14px;color:#ffffff;background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.04)),var(--steel);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);cursor:pointer;font:inherit;font-weight:700;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.custom-select-trigger svg{flex:0 0 auto;color:#ffb095;transition:transform .18s ease}.custom-select-trigger[aria-expanded=true]{border-color:#ffb095;box-shadow:0 0 0 3px rgba(255,176,149,.2)}.custom-select-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.custom-select-trigger:hover{border-color:rgba(255,176,149,.7);background:linear-gradient(135deg,rgba(199,71,31,.24),rgba(255,255,255,.06)),var(--steel)}.custom-select-options button:focus-visible,.custom-select-trigger:focus-visible{outline:3px solid rgba(255,176,149,.28);outline-offset:2px}.custom-select-options{position:absolute;top:calc(100% + 8px);right:0;left:0;z-index:12;display:grid;grid-gap:4px;gap:4px;padding:7px;border:1px solid rgba(255,176,149,.48);border-radius:var(--radius);background:#1c241f;box-shadow:0 18px 42px rgba(0,0,0,.32)}.custom-select-options button{display:flex;min-height:40px;align-items:center;justify-content:space-between;gap:12px;border:0;border-radius:5px;padding:9px 10px;color:rgba(255,255,255,.84);background:transparent;cursor:pointer;font:inherit;font-weight:700;text-align:left;transition:color .16s ease,background .16s ease,transform .16s ease}.custom-select-options button.is-selected,.custom-select-options button:hover{color:#ffffff;background:rgba(199,71,31,.72)}.custom-select-options button:active{transform:scale(.98)}.custom-select-options svg{color:#ffb095}@media (max-width:760px){.mobile-nav{display:block}.mobile-menu-trigger{display:inline-grid;place-items:center;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:var(--surface);cursor:pointer;transition:transform .18s ease,border-color .18s ease,color .18s ease}.mobile-menu-trigger:focus-visible,.mobile-menu-trigger:hover{border-color:var(--accent);color:var(--accent-dark);transform:translateY(-2px)}.mobile-menu{position:fixed;top:76px;right:14px;left:14px;z-index:50;display:grid;grid-gap:6px;gap:6px;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-strong)}.mobile-menu a{min-height:46px;padding:13px;border-radius:5px;color:var(--ink);font-weight:800}.mobile-menu a:focus-visible,.mobile-menu a:hover{color:#ffffff;background:var(--accent)}}.badge-row,.benefit-chips,.footer-social,.partners-row,.project-meta-row,.service-chips{display:flex;flex-wrap:wrap;gap:9px}.badge-row span,.benefit-chips span,.project-meta-row span,.service-chips span{border:1px solid var(--line);border-radius:var(--radius);padding:7px 10px;background:var(--surface);font-size:13px;font-weight:800}.service-chips{margin-bottom:22px}.service-chips span{color:var(--accent-dark)}.benefit-chips{margin-top:24px}.benefit-chips span{background:color-mix(in srgb,var(--surface) 86%,var(--accent) 14%)}.stats-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:1292px;margin:0 auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.stats-strip>div{display:grid;grid-gap:4px;gap:4px;padding:24px clamp(16px,2vw,30px);border-right:1px solid var(--line)}.stats-strip>div:last-child{border-right:0}.stats-strip strong{color:var(--accent-dark);font-family:var(--font-playfair),Georgia,serif;font-size:clamp(30px,3vw,46px);line-height:1}.stats-strip span{color:var(--muted);font-size:14px;font-weight:700}.trust-section{padding-bottom:0}.partners-row{justify-content:space-between;gap:16px;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--steel);font-family:var(--font-playfair),Georgia,serif;font-size:clamp(20px,2vw,30px)}.material-brands{position:relative;isolation:isolate;margin-top:26px}.material-marquee{width:100vw;margin-right:calc(50% - 50vw);margin-left:calc(50% - 50vw);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}.material-marquee-viewport{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.material-marquee-set,.material-marquee-track{display:flex;width:max-content;align-items:stretch}.material-marquee-track{animation:material-marquee 55s linear infinite}.material-brands.is-paused .material-marquee-track,.material-brands:focus-within .material-marquee-track,.material-marquee:hover .material-marquee-track{animation-play-state:paused}.material-marquee-set{gap:10px;padding-right:10px}.material-brand-pill{display:grid;min-width:178px;min-height:82px;align-content:center;justify-items:center;grid-gap:3px;gap:3px;border-radius:var(--radius);border:0;padding:12px 18px;color:var(--ink);background:transparent;box-shadow:0 6px 16px color-mix(in srgb,var(--ink) 4%,transparent);cursor:pointer;font:inherit;text-align:center;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.material-brand-pill img{width:150px;height:50px;object-fit:contain;object-position:center}.material-brand-pill small{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.material-brand-pill:focus-visible,.material-brand-pill:hover{background:color-mix(in srgb,var(--surface) 94%,var(--accent) 6%);box-shadow:0 12px 26px color-mix(in srgb,var(--ink) 12%,transparent);outline:none;transform:translateY(-3px)}.material-brand-instruction,.material-brand-note{margin:0;color:var(--muted);font-size:13px;font-weight:650;line-height:1.6}.material-brand-popover{position:absolute;top:98px;z-index:4;display:grid;width:min(390px,calc(100vw - 32px));grid-gap:12px;gap:12px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);padding:16px;background:color-mix(in srgb,var(--surface) 94%,var(--accent) 6%);box-shadow:var(--shadow);animation:material-popover-in .18s ease both}.material-brand-eyebrow{margin:0 0 5px;color:var(--accent-dark);font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.material-brand-popover h3,.material-brand-popover p{margin:0}.material-brand-popover h3{font-size:21px}.material-brand-popover h3+p{margin-top:7px;color:var(--muted);font-size:14px;line-height:1.55}.material-brand-popover dl{display:grid;grid-gap:9px;gap:9px;margin:0;padding-top:11px;border-top:1px solid var(--line)}.material-brand-popover dl div{display:grid;grid-template-columns:72px 1fr;grid-gap:4px;gap:4px}.material-brand-popover dt{color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.material-brand-popover dd{margin:0;font-size:13px;line-height:1.5}.material-brand-close{justify-self:start;border:1px solid var(--line);border-radius:999px;padding:7px 10px;color:var(--muted);background:var(--surface);cursor:pointer;font:inherit;font-size:12px;font-weight:800}.material-brand-close:focus-visible,.material-brand-close:hover{border-color:var(--accent);color:var(--accent-dark);outline:none}.material-brand-note{margin-top:10px;font-size:12px}.badge-row{margin:24px 0}.badge-row span{display:inline-flex;align-items:center;gap:7px}.badge-row svg,.stars{color:var(--accent)}.testimonials-track{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.testimonials-carousel.is-carousel{position:relative;padding-bottom:58px}.testimonials-carousel.is-carousel .testimonials-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.testimonials-carousel.is-carousel .testimonials-track::-webkit-scrollbar{display:none}.testimonials-carousel.is-carousel .testimonial-card{flex-grow:0;flex-shrink:0;flex-basis:calc((100% - 32px) / 3);scroll-snap-align:start}.testimonial-controls{position:absolute;right:0;bottom:0;display:flex;gap:8px}.testimonial-controls button{display:inline-grid;width:40px;height:40px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:var(--surface);cursor:pointer;transition:transform .18s ease,color .18s ease,border-color .18s ease,background .18s ease}.testimonial-controls button:focus-visible:not(:disabled),.testimonial-controls button:hover:not(:disabled){border-color:var(--accent);color:#ffffff;background:var(--accent);outline:none;transform:translateY(-2px)}.testimonial-controls button:disabled{cursor:not-allowed;opacity:.42}.testimonial-card{display:grid;align-content:start;grid-gap:10px;gap:10px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.stars{display:flex;gap:3px}.testimonial-card p{margin:2px 0}.testimonial-card span{color:var(--muted);font-size:14px}.services-bento{display:grid;grid-template-areas:"service-a service-a service-a service-a service-a service-b service-b service-b service-b service-c service-c service-c" "service-a service-a service-a service-a service-a service-b service-b service-b service-b service-d service-d service-d" "service-e service-e service-e service-f service-f service-f service-f service-f service-f service-d service-d service-d";grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(3,minmax(180px,1fr));grid-gap:14px;gap:14px}.service-card{position:relative;min-height:0;overflow:hidden;border-radius:var(--radius);background:var(--steel);box-shadow:var(--shadow)}.service-card:first-child{grid-area:service-a}.service-card:nth-child(2){grid-area:service-b}.service-card:nth-child(3){grid-area:service-c}.service-card:nth-child(4){grid-area:service-d}.service-card:nth-child(5){grid-area:service-e}.service-card:nth-child(6){grid-area:service-f}.service-card:after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,transparent 20%,rgba(16,21,18,.9))}.service-card>div{position:absolute;right:0;bottom:0;left:0;z-index:1;padding:22px;color:#ffffff}.service-card>div>span{color:#ffb095;font-size:13px;font-weight:800}.service-card h3,.service-card p{color:#ffffff}.service-card p{margin:7px 0 14px;color:rgba(255,255,255,.84);font-size:15px}.service-card a{display:inline-flex;align-items:center;gap:6px;font-weight:800}.section-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:38px;padding-top:24px;border-top:1px solid var(--line)}.section-cta p{max-width:600px;margin:0;font-weight:700}.pricing .section-cta{grid-column:1/-1}.cta-trust{display:block;max-width:680px;margin-top:7px;color:var(--muted);font-size:13px;font-weight:700;line-height:1.55}.cta-trust-on-dark{color:rgba(255,255,255,.78)}.portfolio-filter{display:grid;grid-gap:22px;gap:22px}.filter-tabs{display:flex;flex-wrap:wrap;gap:8px}.filter-tab{min-height:40px;border:1px solid var(--line);border-radius:var(--radius);padding:8px 14px;color:var(--ink);background:var(--surface);cursor:pointer;font-weight:800;transition:transform .18s ease,color .18s ease,background .18s ease}.filter-tab.is-active,.filter-tab:hover{color:#ffffff;background:var(--accent);transform:translateY(-2px)}.portfolio-projects{grid-template-columns:repeat(3,1fr);grid-auto-rows:330px}.portfolio-projects .project-card:first-child,.portfolio-projects .project-card:nth-child(4){grid-column:auto}.project-category{margin:0 0 6px;color:#ffb095!important;font-size:13px;font-weight:800}.project-meta-row{gap:6px;margin-top:14px}.project-meta-row span{border-color:rgba(255,255,255,.3);padding:5px 7px;color:#ffffff;background:rgba(255,255,255,.12);font-size:11px}.video-section{padding-top:0}.video-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px}.video-card{position:relative;min-height:470px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--steel);box-shadow:var(--shadow)}.video-card:after{position:absolute;top:0;right:0;left:0;height:42%;content:"";pointer-events:none;background:linear-gradient(180deg,rgba(16,21,18,.74),transparent)}.video-card video{display:block;width:100%;height:100%;object-fit:cover}.video-card-fallback{position:absolute;inset:0;z-index:2;display:grid;align-content:center;justify-items:start;grid-gap:12px;gap:12px;padding:28px;color:#ffffff;background:linear-gradient(135deg,rgba(24,32,28,.98),rgba(44,26,18,.94))}.video-card-fallback svg{color:#ffb095}.video-card-fallback p{max-width:25ch;margin:0;font-weight:700}.video-card-fallback a{display:inline-flex;align-items:center;gap:7px;color:#ffffff;font-weight:800;text-decoration:underline;text-underline-offset:3px}.mobile-swipe-hint{display:none}.video-card-label{position:absolute;top:0;right:0;left:0;z-index:1;display:grid;grid-gap:4px;gap:4px;padding:20px;color:#ffffff;pointer-events:none}.video-card-label span{color:#ffb095;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.video-card-label strong{font-size:19px;line-height:1.15}.video-card-label small{color:rgba(255,255,255,.82);font-size:13px}.video-gallery-more{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:26px}.video-gallery-more span{color:var(--muted);font-size:14px;font-weight:700}.estimator-section{display:grid;grid-template-columns:.85fr 1.15fr;grid-gap:clamp(24px,5vw,72px);gap:clamp(24px,5vw,72px);align-items:start;max-width:1400px;margin:clamp(64px,9vw,118px) auto;padding:clamp(36px,6vw,72px) clamp(18px,4vw,54px);color:#ffffff;background:var(--steel)}.estimator-section .kicker,.estimator-section p{color:#ffb095}.estimator-section h2{color:#ffffff}.estimator-form{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:14px;gap:14px;padding:clamp(20px,3vw,30px);border:1px solid rgba(255,255,255,.22);border-radius:var(--radius);background:rgba(255,255,255,.08)}.estimator-form label{display:grid;grid-gap:7px;gap:7px;color:#ffffff;font-size:14px;font-weight:800}.estimator-field>span:first-child{color:rgba(255,255,255,.72);font-size:12px;letter-spacing:.02em;text-transform:uppercase}.select-wrap{position:relative;display:grid;align-items:center}.select-wrap svg{position:absolute;right:14px;color:#ffb095;pointer-events:none;transition:transform .18s ease}.select-wrap:focus-within svg{transform:rotate(180deg)}.estimator-form input[type=range],.estimator-form select{width:100%}.estimator-form select{min-height:44px;border:1px solid rgba(255,255,255,.28);border-radius:var(--radius);-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0 42px 0 14px;color:#ffffff;background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.04)),var(--steel);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);cursor:pointer;font-weight:700;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.estimator-form select:hover{border-color:rgba(255,176,149,.7);background:linear-gradient(135deg,rgba(199,71,31,.24),rgba(255,255,255,.06)),var(--steel)}.estimator-form select:focus{outline:3px solid rgba(255,176,149,.25);border-color:#ffb095}.estimator-form select option{color:#ffffff;background:#26302d}.estimator-form input[type=range]{accent-color:var(--accent);cursor:-webkit-grab;cursor:grab}.estimator-form input[type=range]:active{cursor:-webkit-grabbing;cursor:grabbing}.area-range,.estimator-form>a,.estimator-result{grid-column:1/-1}.estimator-result{display:grid;grid-gap:4px;gap:4px;padding:18px;border-radius:var(--radius);background:rgba(255,255,255,.12)}.estimator-result small,.estimator-result span{color:rgba(255,255,255,.75)}.estimator-result strong{font-family:var(--font-playfair),Georgia,serif;font-size:clamp(24px,3vw,36px)}.comparison-table-section{padding-top:0}.comparison-table{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.comparison-row{display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-gap:14px;gap:14px;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}.comparison-row:last-child{border-bottom:0}.comparison-head{color:#ffffff;background:var(--steel)}.comparison-panel-head{color:#ffffff}.comparison-panel-head small{display:block;margin-top:3px;color:#ffb095;font-size:10px;font-weight:800;line-height:1.35}.comparison-row span:nth-child(2){color:var(--accent-dark);font-weight:800}.comparison-row .panel-choice{position:relative;margin:-8px 0;border-radius:6px;padding:8px;background:color-mix(in srgb,var(--surface) 88%,var(--accent) 12%)}.comparison-note{max-width:790px;margin:16px 0 0;color:var(--muted);font-size:13px;font-weight:650;line-height:1.6}.comparison-row svg{vertical-align:middle}.comparison-row svg:first-child{color:var(--accent)}.footer{grid-template-columns:minmax(330px,2.2fr) repeat(3,minmax(150px,1fr))}.preserve-lines{white-space:pre-line}.rich-text>:first-child{margin-top:0}.rich-text>:last-child{margin-bottom:0}.rich-text p{white-space:pre-line}.rich-text ol,.rich-text ul{margin:12px 0;padding-left:1.35em}.rich-text li+li{margin-top:6px}.rich-text a{color:var(--accent-dark);text-decoration:underline;text-underline-offset:3px}.rich-text blockquote{margin:16px 0;border-left:3px solid var(--accent);padding-left:16px;color:var(--muted)}.content-page{min-height:100vh;padding-bottom:72px}.content-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:24px;gap:24px;min-height:82px;padding:12px clamp(18px,4vw,54px);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 92%,transparent)}.content-header .brand{display:grid;grid-gap:1px;gap:1px;font-size:24px;line-height:.9}.content-header .brand span{color:var(--accent-dark);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.content-header nav{display:flex;justify-content:center;gap:20px;color:var(--muted);font-size:14px;font-weight:750}.content-header nav a:hover{color:var(--accent-dark)}.article-detail,.article-grid,.article-hero{width:min(1160px,calc(100% - 36px));margin-inline:auto}.article-hero{max-width:820px;padding:clamp(52px,8vw,96px) 0 34px}.article-detail h1,.article-hero h1{margin:12px 0}.article-excerpt,.article-hero>p:last-child{max-width:68ch;color:var(--muted);font-size:19px;line-height:1.65}.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;color:var(--muted);font-size:13px;font-weight:700}.breadcrumbs>span{display:inline-flex;gap:8px;align-items:center}.breadcrumbs a:hover{color:var(--accent-dark);text-decoration:underline}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px;gap:18px}.article-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.article-card>div:last-child{display:grid;grid-gap:10px;gap:10px;padding:22px}.article-card h2{margin:0;font-size:24px;line-height:1.18}.article-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.55}.article-card time,.article-detail time{color:var(--accent-dark);font-size:13px;font-weight:800}.article-cover{position:relative;aspect-ratio:1.5;background:var(--steel-soft)}.article-link{margin-top:4px;color:var(--accent-dark);font-size:14px;font-weight:800}.article-link:hover{text-decoration:underline;text-underline-offset:3px}.article-empty{grid-column:1/-1;padding:42px;border:1px dashed var(--line);border-radius:var(--radius);text-align:center}.article-detail{width:min(820px,calc(100% - 36px));padding:clamp(52px,8vw,96px) 0}.article-detail h1{font-size:clamp(36px,6vw,60px);line-height:1.06}.article-detail-cover{position:relative;aspect-ratio:1.75;overflow:hidden;margin:30px 0;border-radius:var(--radius);background:var(--steel-soft)}.article-body{max-width:68ch;font-size:18px;line-height:1.72}.article-body h2{margin-top:42px}.article-body h3{margin-top:30px}.service-card>img{object-fit:contain!important;object-position:center;transition:transform .32s ease,filter .32s ease}.service-card:after{z-index:0;background:linear-gradient(180deg,rgba(9,12,10,.08),rgba(9,12,10,.92));opacity:0;transform:translateY(100%);transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .24s ease}.service-card>div{display:grid;align-content:end;min-height:100%;transform:translateY(calc(100% - 82px));transition:transform .32s cubic-bezier(.2,.8,.2,1)}.service-card:focus-within:after,.service-card:hover:after{opacity:1;transform:translateY(0)}.service-card:focus-within>div,.service-card:hover>div{transform:translateY(0)}.service-card:focus-within>img,.service-card:hover>img{filter:saturate(1.04) contrast(1.04);transform:scale(1.025)}.project-card:after{z-index:1;background:linear-gradient(180deg,rgba(9,12,10,.12),rgba(9,12,10,.93));opacity:0;transform:translateY(100%);transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .24s ease}.project-card:focus-within:after,.project-card:hover:after{opacity:1;transform:translateY(0)}.project-overlay{transform:translateY(calc(100% - 86px));transition:transform .32s cubic-bezier(.2,.8,.2,1)}.project-card:focus-within .project-overlay,.project-card:hover .project-overlay{transform:translateY(0)}.project-card:hover img{transform:scale(1.025)}.timeline-flip-card{display:block;min-height:324px;padding:0;border:0;background:transparent;box-shadow:none;perspective:1100px}.timeline-flip-card:nth-child(3),.timeline-flip-card:nth-child(7){min-height:324px}.timeline-flip-card:focus-visible,.timeline-flip-card:hover{border:0;box-shadow:none;outline:3px solid color-mix(in srgb,var(--accent) 38%,transparent);outline-offset:4px}.timeline-flip-inner{position:relative;width:100%;height:324px;transform-style:preserve-3d;transition:transform .56s cubic-bezier(.2,.75,.2,1)}.timeline-flip-card:focus .timeline-flip-inner,.timeline-flip-card:hover .timeline-flip-inner{transform:rotateY(180deg)}.timeline-flip-face{position:absolute;inset:0;display:grid;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 12px 32px rgba(38,48,45,.1)}.timeline-flip-front{grid-template-rows:1fr auto}.timeline-flip-front .step-photo{min-height:0;border-radius:0}.timeline-flip-front .step-photo img{object-fit:cover}.timeline-step-title{display:flex;align-items:center;gap:12px;padding:14px 16px}.timeline-flip-back>span,.timeline-step-title span{display:inline-grid;flex:0 0 auto;place-items:center;width:38px;height:38px;margin:0;border-radius:50%;color:#fff;background:var(--accent);font-size:13px;font-weight:800}.timeline-step-title h3{margin:0}.timeline-flip-back{align-content:center;gap:14px;padding:28px;color:#fff;background:linear-gradient(145deg,#26302d,#101512);transform:rotateY(180deg)}.timeline-flip-back h3{margin:0;color:#fff}.timeline-flip-back p{margin:0;color:rgba(255,255,255,.86);line-height:1.62}.timeline-flip-back small{color:#ffb095;font-size:12px;font-weight:700}.price-row{grid-template-columns:minmax(170px,.9fr) minmax(170px,.85fr) minmax(260px,1.55fr);align-items:start}.price-row>*{min-width:0;overflow-wrap:anywhere}.price-row>span{line-height:1.25}.price-details{color:var(--muted);font-size:15px;line-height:1.6}.price-details ol,.price-details p,.price-details ul{margin:0}.price-accordion{display:block;padding:0;overflow:visible}.price-accordion summary{position:relative;display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);grid-gap:10px 28px;gap:10px 28px;padding:24px 68px 24px 24px;cursor:pointer;list-style:none}.price-accordion summary::-webkit-details-marker{display:none}.price-accordion .price-name{grid-row:span 2}.price-accordion summary>span{grid-column:2;min-width:0;white-space:nowrap;font-size:clamp(20px,2vw,28px);line-height:1.2}.price-preview{grid-column:2;margin:0;display:-webkit-box;overflow:hidden;color:var(--muted);-webkit-box-orient:vertical;-webkit-line-clamp:2}.price-accordion summary:after{position:absolute;top:50%;right:24px;content:"+";color:var(--accent-dark);font-size:28px;font-weight:500;transform:translateY(-50%);transition:transform .18s ease}.price-accordion[open] summary:after{transform:translateY(-50%) rotate(45deg)}.price-expanded{margin:0 24px;border-top:1px solid var(--line);padding:20px 0 26px calc(30% + 10px)}.price-accordion[open] .price-preview{display:none}.price-accordion[open]{box-shadow:var(--shadow)}.trust-section{position:relative;z-index:4;overflow:visible}.material-brands{z-index:12}.material-brand-popover{z-index:80}@media (min-width:761px){.services-bento{display:block;columns:260px 3;column-gap:16px;padding:0;overflow:visible}.service-card,.service-card:nth-child(n){display:inline-block;width:100%;min-height:0;margin:0 0 16px;page-break-inside:avoid;break-inside:avoid;vertical-align:top}.service-card>img{position:relative!important;display:block;width:100%!important;height:auto!important;object-fit:cover!important}.service-card>div{min-height:100%}}@media (min-width:981px){.pricing{grid-template-columns:minmax(260px,.68fr) minmax(0,1.32fr)}.price-row{grid-template-columns:minmax(190px,.8fr) minmax(0,2fr);gap:24px}.price-row>span{grid-column:2;grid-row:1}.price-row>.preserve-lines,.price-row>.rich-text{grid-column:2;grid-row:2}}.detail-content,.detail-hero{width:min(1180px,calc(100% - 36px));margin-inline:auto}.detail-hero{max-width:900px;padding:clamp(58px,9vw,110px) 0 42px}.detail-hero h1{margin:10px 0}.detail-hero>p{color:var(--muted);font-size:19px;line-height:1.6}.detail-content{padding-bottom:80px}.detail-anatomy{display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(24px,5vw,64px);gap:clamp(24px,5vw,64px);align-items:start}.detail-image,.detail-process-card>div,.detail-project-card>div{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--steel-soft)}.detail-image{min-height:460px}.detail-item{margin-top:14px;padding:18px;border-left:3px solid var(--accent);background:var(--surface)}.detail-item h3,.detail-item p{margin:0}.detail-item p{margin-top:6px;color:var(--muted)}.detail-process,.detail-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px;gap:18px}.detail-pricing article,.detail-process-card,.detail-project-card{overflow:hidden;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.detail-process-card>div,.detail-project-card>div{height:220px;margin:-18px -18px 16px}.detail-process-card span{color:var(--accent-dark);font-weight:800}.detail-process-card h2,.detail-project-card h2{margin:8px 0}.detail-process-card p,.detail-project-card p{color:var(--muted);line-height:1.6}.detail-pricing{display:grid;grid-gap:16px;gap:16px;max-width:900px}.detail-pricing article{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,2fr);grid-gap:18px;gap:18px}.detail-pricing h2{margin:0}.detail-pricing strong{color:var(--accent-dark)}.detail-pricing .rich-text,.detail-pricing article>p{grid-column:2;margin:0;color:var(--muted)}@media (max-width:760px){.detail-anatomy,.detail-pricing article,.detail-process,.detail-projects{grid-template-columns:1fr}.detail-image{min-height:300px}.detail-pricing .rich-text,.detail-pricing article>p{grid-column:auto}.price-accordion summary{grid-template-columns:1fr;gap:10px;padding:18px 58px 18px 18px}.price-accordion .price-name{grid-row:auto}.price-accordion summary>span,.price-preview{grid-column:1}.price-accordion summary:after{right:18px}.price-expanded{margin:0 18px;padding-left:0}}.article-list-section,.featured-articles,.related-articles{width:min(1160px,calc(100% - 36px));margin:0 auto}.featured-articles{padding:0 0 52px}.article-list-section{padding:0 0 clamp(64px,9vw,112px)}.article-section-heading{margin:0 0 20px}.article-section-heading h2{margin:6px 0 0;font-size:clamp(28px,3vw,42px);line-height:1.1}.featured-track{display:flex;gap:18px;overflow-x:auto;padding:2px 2px 14px;scroll-snap-type:x mandatory;scrollbar-width:none}.featured-track::-webkit-scrollbar{display:none}.featured-article-card{display:grid;flex:0 0 min(420px,86vw);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);scroll-snap-align:start}.featured-article-cover{position:relative;aspect-ratio:1.55;background:var(--steel-soft)}.featured-article-card>div:last-child{display:grid;grid-gap:10px;gap:10px;padding:20px}.featured-article-card h2{margin:0;font-size:25px;line-height:1.16}.featured-article-card p{margin:0;color:var(--muted);line-height:1.55}.related-articles{padding:0 0 clamp(56px,8vw,96px);max-width:820px}.related-articles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.related-article-card{display:grid;align-content:start;grid-gap:12px;gap:12px;min-height:100%;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.related-article-card h3{margin:0;font-size:19px;line-height:1.2}.related-article-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}@media (max-width:760px){.article-list-section,.featured-articles,.related-articles{width:min(100% - 28px,1160px)}.featured-articles{padding-bottom:40px}.related-articles-grid{grid-template-columns:1fr}.hero-showcase h1{max-width:100%;font-size:clamp(42px,11.5vw,62px)}}.rich-text-image{width:min(100%,760px);margin:clamp(24px,5vw,44px) auto;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--steel-soft)}.rich-text-image img{display:block;width:100%;height:auto;max-height:min(72vh,720px);object-fit:contain}.rich-text-image figcaption{padding:10px 14px;color:var(--muted);font-size:13px;line-height:1.45}.article-section-heading{position:relative;padding-right:98px}.article-carousel-controls{position:absolute;right:0;bottom:0;display:flex;gap:8px}.article-carousel-controls button{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;color:var(--accent-dark);background:var(--surface);transition:transform .18s ease,border-color .18s ease,background .18s ease}.article-carousel-controls button:focus-visible,.article-carousel-controls button:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-2px)}.recent-articles{padding-top:0}.recent-articles .featured-article-card{flex-basis:min(340px,78vw);grid-template-columns:112px minmax(0,1fr)}.recent-articles .featured-article-cover{aspect-ratio:auto;min-height:100%}.recent-articles .featured-article-card>div:last-child{padding:16px}.recent-articles .featured-article-card h2{font-size:19px}.recent-articles .featured-article-card p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:14px}.article-grid-compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.article-card-compact{box-shadow:none}.article-card-compact>div:last-child{gap:8px;padding:16px}.article-card-compact h2{font-size:19px}.article-card-compact p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;font-size:14px}.article-card.is-read h2 a{color:var(--muted)}.article-card.is-read h2 a:after{content:"Đã đọc";display:inline-block;margin-left:8px;color:var(--accent-dark);font-family:var(--font-sans);font-size:11px;font-weight:800;letter-spacing:.02em;vertical-align:middle}.article-pagination{display:flex;justify-content:center;gap:8px;margin-top:30px}.article-pagination button{display:grid;place-items:center;min-width:36px;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:var(--surface);font-weight:800}.article-pagination button:focus-visible,.article-pagination button:hover,.article-pagination button[aria-current=page]{border-color:var(--accent);color:#fff;background:var(--accent)}@media (max-width:1080px){.article-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.article-section-heading{padding-right:0}.article-carousel-controls{right:0;bottom:0}.featured-article-card{flex-basis:min(330px,80vw)}.article-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.article-card-compact>div:last-child{padding:13px}.article-card-compact h2{font-size:17px}.article-card-compact p{-webkit-line-clamp:2;font-size:13px}.article-card.is-read h2 a:after{display:block;margin:6px 0 0}.rich-text-image{width:100%;margin:28px 0}.rich-text-image img{max-height:60vh}.services-bento{grid-auto-columns:minmax(232px,70vw);padding-bottom:16px}.service-card,.service-card:first-child,.service-card:nth-child(2),.service-card:nth-child(3),.service-card:nth-child(4),.service-card:nth-child(5),.service-card:nth-child(6){min-height:292px}.service-card>div{padding:18px}.service-card p{font-size:14px}}.route-progress{position:fixed;top:0;left:0;z-index:100;width:100%;height:3px;pointer-events:none;opacity:0;background:transparent}.route-progress:before{position:absolute;top:0;left:0;width:28%;height:100%;content:"";background:var(--accent);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 60%,transparent);transform:translateX(-110%)}.route-progress.is-loading{opacity:1}.route-progress.is-loading:before{animation:route-progress 1.2s cubic-bezier(.25,.8,.25,1) infinite}@keyframes route-progress{0%{transform:translateX(-110%)}68%{width:62%}to{width:100%;transform:translateX(100%)}}@media (max-width:980px){.nav-links{gap:14px;font-size:14px}.price-row{grid-template-columns:minmax(160px,.9fr) minmax(150px,.8fr) minmax(220px,1.35fr);gap:14px}}@media (max-width:760px){.content-header{grid-template-columns:1fr auto}.content-header nav{display:none}.article-grid{grid-template-columns:1fr}.timeline-flip-card,.timeline-flip-card:nth-child(3),.timeline-flip-card:nth-child(7),.timeline-flip-inner{min-height:330px;height:330px}}@media (prefers-reduced-motion:reduce){.route-progress.is-loading:before{animation:none;width:100%;transform:translateX(0)}}.footer-social{margin-top:18px}.footer-social a{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;transition:transform .18s ease,color .18s ease,border-color .18s ease}.footer-social a:hover{border-color:var(--accent);color:var(--accent-dark);transform:translateY(-2px)}.footer-social .social-facebook:hover{border-color:#1877f2;color:#1877f2;background:rgba(24,119,242,.1)}.footer-social .social-youtube:hover{border-color:#ff0000;color:#ff0000;background:rgba(255,0,0,.1)}.footer-social .social-tiktok:hover{border-color:#25f4ee;color:#111111;background:linear-gradient(135deg,rgba(37,244,238,.24),rgba(254,44,85,.2))}html[data-theme=dark] .footer-social .social-tiktok:hover{color:#ffffff}.footer-legal{display:flex;justify-content:space-between;gap:16px;padding:18px clamp(18px,4vw,54px);border-top:1px solid var(--line);color:var(--muted);font-size:13px}@media (max-width:1080px){.estimator-section,.stats-strip,.testimonials-track,.video-grid{grid-template-columns:1fr 1fr}.stats-strip>div:nth-child(2){border-right:0}.stats-strip>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.services-bento{grid-auto-flow:column;grid-auto-columns:minmax(300px,44vw);grid-template-areas:none;grid-template-columns:none;grid-template-rows:auto;overflow-x:auto;overscroll-behavior-x:contain;padding:8px 0 22px;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x}.services-bento::-webkit-scrollbar{display:none}.service-card,.service-card:first-child,.service-card:nth-child(2),.service-card:nth-child(3),.service-card:nth-child(4),.service-card:nth-child(5),.service-card:nth-child(6){grid-area:auto;min-height:390px;scroll-snap-align:start}.footer,.portfolio-projects{grid-template-columns:repeat(2,1fr)}.testimonials-carousel.is-carousel .testimonial-card{flex-basis:calc((100% - 16px) / 2)}}@media (max-width:760px){.compare-grid.compare-swipe{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(278px,82vw);grid-template-columns:none;grid-gap:14px;gap:14px;margin:0 -18px;overflow-x:auto;overscroll-behavior-x:contain;padding:8px 18px 22px;scroll-padding-left:18px;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x;border:0;border-radius:0;background:transparent;box-shadow:none}.compare-grid.compare-swipe::-webkit-scrollbar{display:none}.compare-grid.compare-swipe .compare-item,.compare-grid.compare-swipe .compare-item:last-child{min-height:390px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);scroll-snap-align:start}.mobile-swipe-hint{display:inline-flex;align-items:center;gap:6px;margin:12px 0 2px;color:var(--accent-dark);font-size:13px;font-weight:800}.mobile-swipe-hint svg{animation:swipe-hint 1.8s ease-in-out infinite}.estimator-form,.estimator-section,.footer,.stats-strip,.testimonials-track{grid-template-columns:1fr}.stats-strip{margin:0 18px}.testimonials-carousel.is-carousel .testimonial-card{flex-basis:min(84vw,340px)}.stats-strip>div,.stats-strip>div:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}.stats-strip>div:last-child{border-bottom:0}.partners-row{justify-content:flex-start;font-size:22px}.material-brand-pill{min-width:166px;min-height:76px}.material-brand-popover{top:94px;padding:17px}.material-brand-popover dl{gap:10px}.material-brand-close{justify-self:start}.services-bento{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,82vw);grid-auto-rows:auto;grid-template-columns:none;margin:0 -18px;overflow-x:auto;padding:8px 18px 22px;scroll-snap-type:x mandatory;scrollbar-width:none}.services-bento::-webkit-scrollbar{display:none}.service-card,.service-card:first-child,.service-card:nth-child(2),.service-card:nth-child(3),.service-card:nth-child(4),.service-card:nth-child(5),.service-card:nth-child(6){grid-column:auto;grid-row:auto;grid-area:auto;min-height:370px;scroll-snap-align:start}.footer-legal,.section-cta{align-items:flex-start;flex-direction:column}.portfolio-projects{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,82vw);grid-template-columns:none;grid-auto-rows:350px;margin:0 -18px;overflow-x:auto;padding:8px 18px 22px;scroll-snap-type:x mandatory;scrollbar-width:none}.portfolio-projects::-webkit-scrollbar{display:none}.portfolio-projects .project-card{scroll-snap-align:start}.video-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,76vw);grid-template-columns:none;margin:0 -18px;overflow-x:auto;padding:8px 18px 22px;scroll-snap-type:x mandatory;scrollbar-width:none}.video-grid::-webkit-scrollbar{display:none}.video-card{min-height:min(580px,132vw);scroll-snap-align:start}.filter-tabs{flex-wrap:nowrap;margin:0 -18px;overflow-x:auto;padding:0 18px 10px;scrollbar-width:none}.filter-tabs::-webkit-scrollbar{display:none}.filter-tab{white-space:nowrap}.estimator-section{margin:64px 0}.comparison-row{grid-template-columns:1.15fr .85fr .85fr;gap:8px;padding:14px;font-size:13px}.not-found-header{min-height:74px}.not-found-call span{display:none}.not-found-call{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%}.not-found-content{grid-template-columns:1fr;align-content:center;padding-top:110px}.not-found-content:before{top:10%;right:-24vw;width:72vw}.not-found-code{top:46px;right:20px;font-size:min(57vw,280px)}.not-found-note{max-width:310px;margin-top:12px}}@keyframes swipe-hint{0%,to{transform:translateX(0)}50%{transform:translateX(5px)}}@keyframes material-marquee{to{transform:translateX(-50%)}}@keyframes material-popover-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.mobile-swipe-hint svg{animation:none}.material-marquee-viewport{overflow-x:auto;-webkit-mask-image:none;mask-image:none;scrollbar-width:none}.material-marquee-viewport::-webkit-scrollbar{display:none}.material-brand-popover,.material-marquee-track{animation:none}.material-marquee-set[aria-hidden=true]{display:none}}@media (max-width:760px){.services-bento{grid-auto-columns:minmax(184px,58vw);padding-block:6px 18px}.services-bento .service-card,.services-bento .service-card:nth-child(n){position:relative;min-height:250px;aspect-ratio:.82}.services-bento .service-card>img{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center}.services-bento .service-card>div{position:relative;z-index:1}}.article-badge{position:absolute;top:12px;left:12px;z-index:2;max-width:calc(100% - 24px);overflow:hidden;padding:6px 9px;border:1px solid rgb(255 255 255/.42);border-radius:999px;background:rgb(12 22 29/.74);color:#fff;font-size:11px;font-weight:800;line-height:1.1;text-overflow:ellipsis;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.article-card.is-read h2 a,.article-row.is-read .article-row-link,.article-row.is-read h3 a{color:var(--accent-dark)}.article-card.is-read h2 a:after{content:none}.rich-comparison-table{margin:clamp(26px,5vw,42px) 0}.rich-comparison-table>h3{margin:0 0 14px;font-size:clamp(21px,2.5vw,28px)}.rich-comparison-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.rich-comparison-table table{width:100%;min-width:660px;border-collapse:collapse}.rich-comparison-table td,.rich-comparison-table th{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.5}.rich-comparison-table thead th{color:var(--accent-dark);background:var(--steel-soft);font-weight:800}.rich-comparison-table tbody th{width:27%;color:var(--ink);font-weight:800}.rich-comparison-table tbody tr:last-child td,.rich-comparison-table tbody tr:last-child th{border-bottom:0}@media (max-width:760px){.nav-actions>.search-trigger{display:none}.mobile-menu-search{padding:3px}.mobile-menu-search .search-trigger{display:flex;width:100%;height:46px;gap:10px;justify-content:flex-start;padding:0 13px;border-radius:8px;color:var(--accent-dark);background:var(--steel-soft);text-align:left}.mobile-menu-search .search-trigger span{font-weight:800}.rich-comparison-scroll{margin-inline:-2px;border-radius:10px}.rich-comparison-table td,.rich-comparison-table th{padding:12px;font-size:14px}}