@import url('https://api.fontshare.com/v2/css?f[]=satoshi@400,500,700&display=swap');
:root{
  --red:#b91d25;--red-bright:#ee3b43;--ink:#20211f;--muted:#65655f;--paper:#f5f4ef;--line:#dcdcd3;--white:#fff;
  --font-display:'Barlow Condensed',Impact,sans-serif;--font-body:'Satoshi','Manrope',sans-serif;
  --text-xs:clamp(.75rem,.72rem + .15vw,.8125rem);--text-sm:clamp(.875rem,.83rem + .15vw,.9375rem);
  --text-base:clamp(1rem,.95rem + .2vw,1.1rem);--text-lg:clamp(1.2rem,1.05rem + .7vw,1.55rem);
  --text-xl:clamp(1.7rem,1.5rem + 1vw,2.4rem);--text-2xl:clamp(2.25rem,1.5rem + 2.5vw,3.75rem);
  --text-3xl:clamp(2.7rem,2rem + 3vw,4.7rem);--text-hero:clamp(4rem,2rem + 6.6vw,8.6rem);
  --ease:cubic-bezier(.22,1,.36,1);
}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;-webkit-font-smoothing:antialiased}
::selection{color:#fff;background:var(--red)}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button{color:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:.98;letter-spacing:-.015em}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-xl)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid var(--red-bright);outline-offset:5px}section{scroll-margin-top:20px}[hidden]{display:none!important}
.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.skip-link{position:fixed;top:10px;left:10px;z-index:100;background:white;padding:12px;translate:0 -180%}.skip-link:focus{translate:0}
.utility{background:var(--ink);color:#e9e8e2;font-size:var(--text-xs);letter-spacing:.025em;padding:9px 0}.utility .wrap{display:flex;justify-content:space-between;gap:12px}.utility a{display:flex;gap:14px;align-items:center}.utility b{color:white;font-weight:700}
.header{position:sticky;top:0;z-index:30;background:#fffffff5;border-bottom:1px solid #e8e6de;box-shadow:0 3px 24px #00000004}.nav-row{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:94px}.brand{width:120px;flex-shrink:0}.brand img{width:120px;height:78px;object-fit:contain}.nav-row nav{display:flex;gap:30px;margin-left:auto;margin-right:24px}.nav-row nav a{font-size:var(--text-sm);font-weight:500;position:relative;padding-block:8px}.nav-row nav a::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--red);scale:0 1;transform-origin:left;transition:scale .35s var(--ease)}.nav-row nav a:hover::after,.nav-row nav a[aria-current]::after{scale:1 1}.nav-actions{display:flex;align-items:center;gap:24px}.language{background:none;border:0;padding:10px 0;display:flex;gap:9px;font-size:var(--text-xs);font-weight:700}.language span:not(.active){color:#72736c}.language .lang-divider{color:#aaa}.button{display:inline-flex;justify-content:center;align-items:center;gap:32px;min-height:55px;padding:16px 25px;background:var(--red);color:#fff;font-size:var(--text-sm);font-family:var(--font-body);font-weight:700;border:1px solid var(--red);border-radius:2px;position:relative;transition:background .3s,box-shadow .4s,translate .4s var(--ease)}.button>span:last-child:not(:first-child){font-size:1.3em;transition:translate .4s var(--ease)}.button:hover{background:#9e1720;box-shadow:0 6px 20px #b91d2522}.button:hover>span:last-child:not(:first-child){translate:3px -3px}.button.small{min-height:46px;padding:12px 20px;gap:24px}.menu{display:none;background:none;border:1px solid var(--line);width:44px;height:44px;padding:12px}.menu span{display:block;height:1px;background:var(--ink);margin:5px 0;transition:rotate .25s,translate .25s}.menu[aria-expanded=true] span:first-child{rotate:45deg;translate:0 3px}.menu[aria-expanded=true] span:last-child{rotate:-45deg;translate:0 -3px}
.hero{position:relative;isolation:isolate;min-height:690px;background:#313d2e;color:#fff;overflow:clip}.hero-photo{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:50% 55%;opacity:1}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#111b16e3 0%,#151f18c9 26%,#16201950 61%,#111b1620 100%)}.hero-inner{min-height:620px;display:flex;align-items:center;justify-content:space-between;gap:36px;padding-top:38px;padding-bottom:70px}.hero-content{max-width:790px}.kicker{text-transform:uppercase;font-size:var(--text-xs);letter-spacing:.16em;font-weight:700;line-height:1.5;display:flex;align-items:center;gap:11px;margin-bottom:25px}.kicker::before{content:"";height:7px;width:7px;flex:0 0 7px;background:var(--red)}.kicker.light{color:#f0efe7}.kicker.light::before{background:#ef5256}.hero h1{font-size:var(--text-hero);line-height:.91;letter-spacing:-.016em;margin-bottom:28px}.hero h1>span{color:#fff}.hero-description{font-size:var(--text-base);max-width:455px;color:#f0f0e9;line-height:1.7}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:30px;margin-top:30px}.text-link{display:inline-flex;align-items:center;gap:34px;padding-block:9px;border-bottom:1px solid #888a7d;font-size:var(--text-sm);font-weight:700;transition:gap .35s var(--ease),color .3s}.text-link:hover{gap:42px;color:var(--red)}.text-link.white{color:white;border-bottom-color:#ffffff66}.text-link.white:hover{color:#fff;border-bottom-color:#fff}.hero-note{display:flex;align-items:center;gap:9px;font-size:var(--text-xs);color:#e6e8df;margin-top:29px}.status-dot{display:inline-block;width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#ec4d50;box-shadow:0 0 0 4px #ec4d501c;animation:statusGlow 3s ease-in-out infinite}.hero-stamp{width:186px;align-self:flex-end;flex-shrink:0;border:1px solid #ffffff70;background:#20211f33;padding:25px 22px 20px;position:relative;margin-bottom:12px}.hero-stamp>span{font-size:var(--text-xs);font-weight:500;letter-spacing:.1em;line-height:1.5;display:block}.hero-stamp strong{font-family:var(--font-display);font-size:var(--text-3xl);line-height:1.5;font-weight:500}.stamp-plus{font-size:var(--text-lg);vertical-align:top;display:inline-block;margin-top:12px;margin-left:3px;color:#ee6767}.stamp-lines{position:absolute;left:22px;right:22px;top:0;height:3px;background:var(--red-bright)}.hero-caption{border-top:1px solid #ffffff36;font-size:var(--text-xs);letter-spacing:.08em;color:#f0efe8}.hero-caption .wrap{display:flex;justify-content:space-between;padding-block:20px;gap:15px}.hero-caption a{display:flex;gap:20px;letter-spacing:0}.scroll-arrow{display:inline-block;animation:arrowNudge 3s ease-in-out infinite}
.trust-strip{border-bottom:1px solid var(--line);background:#fff}.trust-strip .wrap{display:flex;justify-content:space-between;gap:20px;padding-block:26px}.trust-strip .wrap>span{display:flex;align-items:center;gap:12px;font-size:var(--text-sm);font-weight:500}.trust-strip i{font-style:normal;color:var(--red);font-size:var(--text-lg)}
.section{padding-block:108px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:52px;margin-bottom:48px}.section-heading h2{max-width:720px}.section-intro{max-width:350px;color:var(--muted);font-size:var(--text-sm);line-height:1.8;padding-bottom:5px}.material-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:88px;align-items:center}.material-tabs{margin-bottom:28px}.material-tab{width:100%;display:flex;align-items:center;gap:20px;background:none;border:0;border-bottom:1px solid var(--line);padding:21px 0;text-align:left;transition:color .3s,padding .3s var(--ease)}.material-tab:first-child{border-top:1px solid var(--line)}.material-tab>span{font-size:var(--text-xs);color:var(--muted)}.material-tab b{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;line-height:1.2}.material-tab i{font-style:normal;margin-left:auto;font-size:var(--text-lg);opacity:.3;transition:rotate .35s var(--ease)}.material-tab.active{color:var(--red);padding-left:14px;border-bottom-color:var(--red)}.material-tab.active i{opacity:1}.material-tab:hover i{rotate:45deg}.material-copy{min-height:166px}.material-copy p{color:var(--muted);font-size:var(--text-sm);line-height:1.8}.material-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.material-tags span{border:1px solid var(--line);padding:4px 10px;font-size:var(--text-xs);color:#5d6055}.material-details>.text-link{margin-top:18px}.material-visual{position:relative;height:475px;background:#e3e3d9;overflow:hidden}.material-visual>img{width:100%;height:100%;object-fit:cover}.material-visual figcaption{position:absolute;bottom:0;left:0;right:0;background:#20211fdd;color:white;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 23px;font-size:var(--text-xs);letter-spacing:.1em}.chain-illustration{height:100%;position:relative;background:#343b36;overflow:hidden}.chain-mesh{position:absolute;inset:-50%;background:repeating-linear-gradient(45deg,transparent 0 37px,#b6bcb5 38px 40px,transparent 42px 76px),repeating-linear-gradient(-45deg,transparent 0 37px,#7c837b 38px 40px,transparent 42px 76px);scale:.7}.chain-illustration>span{position:absolute;top:25px;left:25px;color:#fff;font-size:var(--text-xs);background:#20211fcc;padding:8px 12px;letter-spacing:.1em}
.promise{background:var(--red);padding-block:57px;color:white;position:relative;overflow:hidden}.promise-layout{display:flex;align-items:center;gap:38px}.promise .kicker{margin-bottom:15px;font-size:var(--text-xs)}.promise .kicker::before{background:#ffffffaa}.promise h2{font-size:var(--text-2xl);font-weight:500;line-height:1.03}.promise-mark{display:flex;align-items:center;gap:5px;width:108px;height:120px;flex-shrink:0;rotate:15deg}.promise-mark span{width:7px;height:70%;background:#ffffff80;animation:slatBreath 6s ease-in-out infinite}.promise-mark span:nth-child(2n){height:100%;animation-delay:-2s}.promise-mark span:nth-child(3n){height:80%;animation-delay:-4s}.round-link{margin-left:auto;border:1px solid #ffffff88;border-radius:50%;width:80px;height:80px;flex-shrink:0;display:grid;place-items:center;font-size:var(--text-2xl);transition:background .35s,rotate .5s var(--ease)}.round-link:hover{background:#ffffff15;rotate:45deg}
.work{background:#fbfbf8}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:34px;border-bottom:1px solid var(--line);padding-bottom:20px}.filters{display:flex;gap:8px}.filter{background:none;border:1px solid transparent;border-radius:2px;padding:9px 17px;font-size:var(--text-sm);transition:color .3s,background .3s,border-color .3s}.filter.active{background:var(--ink);border-color:var(--ink);color:#fff}.filter:not(.active):hover{border-color:var(--line)}.gallery-hint{font-size:var(--text-xs);color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:38px 28px;align-items:start}.project{padding:0;border:0;background:none;text-align:left;min-width:0;grid-column:span 7;position:relative}.project:nth-child(2),.project:nth-child(3){grid-column:span 5}.project-grid.is-filtered .project{grid-column:span 6}.project-image{display:block;height:370px;overflow:hidden;background:#e5e6de;position:relative}.project-image img{width:100%;height:100%;object-fit:cover;opacity:1}.project:nth-child(2) .project-image img{object-position:50% 55%}.image-open{position:absolute;right:16px;bottom:16px;background:white;width:42px;height:42px;display:grid;place-items:center;font-size:var(--text-lg);transition:background .35s,color .35s,rotate .5s var(--ease)}.project:hover .image-open{rotate:45deg;background:var(--red);color:white}.project-caption{display:flex;justify-content:space-between;gap:15px;align-items:start;padding-block:17px}.project-caption b{font-size:var(--text-sm);font-weight:500;max-width:70%}.project-caption>span{font-size:var(--text-xs);letter-spacing:.055em;line-height:1.8;color:var(--muted);text-align:right;max-width:40%}.gallery-count{margin-top:16px;font-size:var(--text-xs);color:var(--muted)}
.products{background:var(--ink);color:white}.products .section-heading h2{max-width:760px}.products .section-intro{color:#c5c7be}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 26px}.product-card{background:none;border:0;text-align:left;color:white;padding:0;min-width:0}.product-image{display:block;position:relative;background:#eceee9;aspect-ratio:1.17;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:contain;padding:23px}.product-plus{position:absolute;right:14px;bottom:14px;font-size:var(--text-lg);color:var(--ink);width:34px;height:34px;display:grid;place-items:center;border:1px solid #b5b9b1;border-radius:50%;transition:rotate .4s var(--ease),background .3s,color .3s}.product-card:hover .product-plus{rotate:90deg;background:var(--red);border-color:var(--red);color:white}.product-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:17px}.product-caption b{font-size:var(--text-base);font-weight:500}.product-caption>span{font-size:var(--text-xs);color:#c5c7be}.product-note{text-align:center;font-size:var(--text-xs);color:#b7bbb1;margin-top:38px}
.about-layout{display:grid;grid-template-columns:1.04fr 1fr;gap:90px;align-items:center}.about-visual{position:relative;height:620px}.about-visual>img{width:100%;height:100%;object-fit:cover;object-position:45% center}.about-label{position:absolute;left:0;bottom:0;right:0;background:var(--red);color:white;padding:22px 24px;display:flex;justify-content:space-between;gap:20px;font-size:var(--text-xs);letter-spacing:.09em}.about-copy h2{margin-bottom:28px}.about-copy p{margin-top:18px;font-size:var(--text-sm);color:var(--muted);line-height:1.9;max-width:480px}.about-copy .text-link{margin-top:24px}
.process{padding-top:0}.process .section-heading{padding-top:74px;border-top:1px solid var(--line)}.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px}.process-grid article{border-top:1px solid var(--line);padding-top:20px}.process-number{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-3xl);font-family:var(--font-display);font-weight:500;color:var(--red);line-height:1.1;margin-bottom:27px}.process-number>span{color:#9a9c93;font-size:var(--text-xl)}.process h3{font-size:var(--text-xl);margin-bottom:16px;line-height:1.1}.process-grid p{font-size:var(--text-sm);color:var(--muted);line-height:1.8;max-width:320px}
.faq{background:#eaece5}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.faq-intro{color:var(--muted);font-size:var(--text-sm);margin-top:24px;max-width:290px}.faq .text-link{margin-top:18px}.faq-list details{border-bottom:1px solid #c9cdc1}.faq-list details:first-child{border-top:1px solid #c9cdc1}.faq-list summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;font-size:var(--text-base);font-weight:500}.faq-list summary::-webkit-details-marker{display:none}.faq-plus{font-size:var(--text-xl);font-weight:400;line-height:1;color:var(--red);transition:rotate .3s var(--ease)}.faq-list details[open] .faq-plus{rotate:45deg}.faq-list details p{padding:0 44px 25px 0;color:#555b50;font-size:var(--text-sm);line-height:1.85}
.contact{background:#fff}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:start}.contact-copy h2{margin-bottom:27px}.contact-copy>p{font-size:var(--text-sm);max-width:390px;color:var(--muted);line-height:1.8;margin-bottom:32px}.contact-method{margin-top:24px}.contact-method>span{display:block;font-size:var(--text-xs);letter-spacing:.08em;color:var(--muted);margin-bottom:6px}.contact-method>a{display:block;font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;line-height:1.4}.contact-method>a>span{font-size:var(--text-lg);margin-left:15px;color:var(--red);display:inline-block;transition:translate .3s var(--ease)}.contact-method>a:hover>span{translate:3px -3px}.contact-method>a.secondary-phone{font-family:var(--font-body);font-size:var(--text-base);margin-top:4px}.contact-email{display:inline-flex;gap:15px;align-items:center;max-width:100%;overflow-wrap:anywhere;font-size:var(--text-sm);text-decoration:underline;text-underline-offset:5px;margin-top:25px}.contact-social{display:flex;gap:28px;margin-top:30px;font-size:var(--text-sm);font-weight:500}.contact-social a:hover{color:var(--red)}
.quote-form{background:var(--paper);padding:36px}.form-top{display:flex;align-items:center;gap:10px;font-size:var(--text-xs);letter-spacing:.08em;margin-bottom:22px}.quote-form h3{margin-bottom:30px;font-size:var(--text-xl)}.quote-form label{display:flex;flex-direction:column;gap:7px;margin-bottom:21px;min-width:0;font-size:var(--text-sm)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.quote-form input,.quote-form select,.quote-form textarea{width:100%;max-width:100%;border:0;border-bottom:1px solid #bfc3b7;background:#ffffff85;border-radius:0;padding:11px 12px;font-size:var(--text-sm);color:var(--ink);line-height:1.5;min-height:46px}.quote-form textarea{resize:vertical;min-height:122px}.quote-form input:hover,.quote-form select:hover,.quote-form textarea:hover{border-bottom-color:var(--ink)}.quote-form>.button{width:100%;margin-top:5px;justify-content:space-between}.form-disclosure{margin-top:17px;color:#62665b;font-size:var(--text-xs);line-height:1.75}
.footer{background:var(--ink);color:white;padding:60px 0 25px}.footer-top{display:flex;align-items:center;gap:70px;padding-bottom:48px}.footer-logo{width:150px;flex-shrink:0;background:#fff;padding:10px}.footer-logo img{width:100%;height:auto}.footer-top>p{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1.04}.footer-links{margin-left:auto;display:grid;grid-template-columns:1fr 1fr;gap:15px 38px;font-size:var(--text-sm)}.footer-links a:hover{color:#ef8b8f}.footer-bottom{border-top:1px solid #ffffff26;padding-top:24px;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:var(--text-xs);color:#c5c8bc}.footer-bottom>div{display:flex;gap:22px}.footer-bottom a:hover{color:white}.back-top{white-space:nowrap}
dialog{position:fixed;border:0;padding:0;color:var(--ink);max-width:calc(100vw - 40px);max-height:calc(100dvh - 40px);overflow:auto;background:var(--paper);box-shadow:0 20px 120px #00000070}dialog::backdrop{background:#111b16d9}dialog[open]{animation:dialogIn .3s var(--ease)}body:has(dialog[open]){overflow:hidden}.dialog-close{display:grid;place-items:center;width:44px;height:44px;background:transparent;border:1px solid #b3b8ab;font-size:1.8rem;line-height:1;z-index:2}.dialog-close:hover{background:var(--red);color:white;border-color:var(--red)}.lightbox{width:min(1120px,calc(100vw - 40px));background:#191f19;color:white}.lightbox-bar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:16px 22px;font-size:var(--text-sm)}.lightbox .dialog-close{color:white;border-color:#ffffff55}.lightbox>img{width:100%;max-height:calc(100dvh - 240px);min-height:180px;object-fit:contain;background:#111711}.lightbox-bottom{display:flex;align-items:center;justify-content:center;gap:30px;padding:16px;font-size:var(--text-sm)}.lightbox-bottom button{width:44px;height:44px;display:grid;place-items:center;background:none;border:1px solid #ffffff55;color:white}.lightbox-bottom button:hover{background:var(--red)}
.product-dialog{width:min(940px,calc(100vw - 40px))}.product-dialog>.dialog-close,.quote-dialog>.dialog-close{position:absolute;top:17px;right:17px}.product-dialog-layout{display:grid;grid-template-columns:1fr 1fr}.product-dialog-visual{background:#e5e9df;display:grid;place-items:center;min-height:450px;padding:30px}.product-dialog-visual img{width:100%;max-height:540px;object-fit:contain}.product-dialog-copy{padding:74px 36px 45px}.product-dialog-copy h2{font-size:var(--text-2xl);margin-bottom:22px}.product-dialog-copy p{font-size:var(--text-sm);color:var(--muted);line-height:1.8;margin-bottom:28px}.product-dialog-copy .button{width:100%;font-size:var(--text-sm);gap:14px;padding-inline:15px}.product-inquire{border:0;border-bottom:1px solid #9b9f91;background:none;margin-top:16px;text-align:left;gap:20px;line-height:1.5}.quote-dialog{width:min(650px,calc(100vw - 40px));padding:50px 38px 34px}.quote-dialog h2{font-size:var(--text-2xl);margin-bottom:23px}.quote-dialog>p{font-size:var(--text-sm);line-height:1.8;color:var(--muted)}.quote-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;background:white;border:1px solid var(--line);padding:20px;font-family:var(--font-body);font-size:var(--text-sm);line-height:1.8;margin:25px 0;max-height:36dvh;overflow:auto}.quote-dialog>.button{width:100%}.quote-dialog .quote-alternative{margin-top:20px;font-size:var(--text-xs)}.inline-button{background:none;border:0;border-bottom:1px solid var(--red);color:var(--red);padding:0;font-size:inherit}.quote-alternative [role=status]{display:block;margin-top:6px;color:var(--ink)}
.project:nth-child(5),.project:nth-child(6){grid-column:span 6}
.header{background:#fff}
.hero-caption{background:#18221ab8}
.kicker{display:block;position:relative;padding-left:18px;line-height:1.7}
.kicker::before{position:absolute;left:0;top:.55em}
.language{min-height:44px}
.filter{min-height:44px}
.hero-stamp{background:#20211fc9}
.stamp-plus{animation:crossBreathe 7s ease-in-out infinite}
.material-visual::before{content:"";position:absolute;top:0;left:0;width:110px;height:3px;z-index:1;background:var(--red);transform-origin:left;animation:ruleBreathe 7s ease-in-out infinite}
.about-label>span:last-child{animation:arrowNudge 6s ease-in-out infinite}
@keyframes crossBreathe{0%,100%{opacity:.5}50%{opacity:1}}
@keyframes ruleBreathe{0%,100%{scale:.65 1}50%{scale:1 1}}
.motion-word{display:inline-block;white-space:normal;overflow-wrap:anywhere;max-width:100%;vertical-align:baseline}.ambient-paused .scroll-arrow,.ambient-paused .status-dot,.ambient-paused .promise-mark span{animation-play-state:paused}
.ambient-paused .stamp-plus,.ambient-paused .material-visual::before,.ambient-paused .about-label>span:last-child{animation-play-state:paused}
@keyframes slatBreath{0%,100%{opacity:.4}50%{opacity:1}}@keyframes dialogIn{from{opacity:0;clip-path:inset(0 0 3% 0)}to{opacity:1;clip-path:inset(0)}}
@keyframes statusGlow{0%,100%{box-shadow:0 0 0 4px #ec4d501c}50%{box-shadow:0 0 0 8px #ec4d5005}}@keyframes arrowNudge{0%,100%{translate:0 0}50%{translate:0 5px}}
@media(min-width:1700px){.hero{min-height:780px}.hero-inner{min-height:710px}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.nav-row{gap:18px}.nav-row nav{gap:20px;margin-right:0}.nav-actions{gap:18px}.nav-quote{display:none}.hero-stamp{width:160px;padding:20px 16px}.hero h1{font-size:clamp(4.2rem,8vw,7rem)}.hero-content{max-width:650px}.material-layout{gap:46px}}
@media(max-width:760px){html{scroll-padding-top:88px}.wrap{width:calc(100% - 40px)}.utility{padding-block:8px}.utility-call{display:none}.utility .wrap{gap:8px}.utility .wrap>span{font-size:var(--text-xs)}.utility a{gap:7px;white-space:nowrap}.nav-row{min-height:78px}.brand,.brand img{width:103px;height:65px}.nav-actions{gap:23px}.menu{display:block}.nav-row nav{display:none;position:absolute;top:78px;left:0;right:0;background:white;padding:22px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0;box-shadow:0 14px 16px #0000000d;z-index:5}.nav-row nav.open{display:flex;flex-direction:column;gap:8px}.nav-row nav a{font-size:var(--text-base);padding-block:10px}.hero{min-height:680px}.hero-inner{min-height:610px;display:block;padding-top:70px;padding-bottom:40px}.hero-content{max-width:100%}.hero h1{font-size:clamp(3.9rem,10.6vw,6rem);line-height:.95;letter-spacing:-.02em}.hero-description{max-width:380px}.hero-shade{background:linear-gradient(90deg,#101b16de,#111e1880),linear-gradient(0deg,#131d1680,transparent 70%)}.hero-photo{object-position:57% center}.hero-stamp{display:none}.hero-actions{gap:24px}.hero-note{max-width:290px;line-height:1.6}.hero-caption .wrap{padding-block:17px}.hero-caption .wrap>span{max-width:180px;font-size:var(--text-xs)}.hero-caption a{gap:12px;align-items:center;font-size:var(--text-xs)}.trust-strip .wrap{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px;padding-block:24px}.trust-strip .wrap>span{font-size:var(--text-xs);gap:8px}.section{padding-block:72px}.section-heading{display:block;margin-bottom:32px}.section-heading h2{font-size:clamp(2.8rem,7.6vw,4rem)}.section-intro{margin-top:24px;max-width:460px}.material-layout{grid-template-columns:1fr;gap:34px}.material-visual{height:360px;grid-row:1}.material-copy{min-height:116px}.material-tab{padding-block:17px}.material-tabs{margin-bottom:24px}.kicker{margin-bottom:20px}.button{padding-inline:20px;gap:24px;min-height:54px}.hero-actions .text-link{gap:15px}}
@media(max-width:370px){.utility .wrap>span{max-width:135px;font-size:var(--text-xs);line-height:1.3}.utility a{font-size:var(--text-xs)}.hero h1{font-size:3.35rem}.hero-inner{padding-top:52px}.hero-actions{gap:19px}.hero-actions .text-link{font-size:var(--text-xs)}.hero-description{font-size:var(--text-sm)}}
@media(max-width:1100px){.promise-layout{gap:25px}.promise-mark{width:80px}.about-layout,.faq-layout{gap:48px}.contact-layout{gap:60px}.project-caption{display:block}.project-caption b{display:block;max-width:none}.project-caption>span{display:block;max-width:none;text-align:left;margin-top:7px}.footer-top{gap:40px}.footer-bottom{flex-wrap:wrap}.product-caption{display:block}.product-caption>span{display:block;margin-top:5px}.process-grid{gap:30px}.about-visual{height:570px}}
@media(max-width:760px){
  .promise{padding-block:40px}.promise-layout{gap:20px}.promise-mark{display:none}.promise h2{font-size:clamp(2.25rem,6.2vw,3.7rem);line-height:1.06}.promise .kicker{font-size:var(--text-xs);letter-spacing:.1em}.round-link{width:48px;height:48px;font-size:var(--text-xl)}.promise-layout>div:not(.promise-mark){min-width:0}
  .gallery-toolbar{align-items:start;margin-bottom:24px;gap:15px}.gallery-hint{display:none}.filter{padding:9px 15px}.project-grid{gap:26px}.project,.project:nth-child(n),.project-grid.is-filtered .project{grid-column:span 12}.project-image{height:300px}.project-caption{padding-block:13px}.project-caption b{font-size:var(--text-base)}.gallery-count{margin-top:10px}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 15px}.product-image{aspect-ratio:.95}.product-image img{padding:12px}.product-caption b{font-size:var(--text-sm)}.product-caption>span{font-size:var(--text-xs);line-height:1.7}.product-plus{right:9px;bottom:9px;width:28px;height:28px;font-size:var(--text-base)}.product-note{max-width:290px;margin-inline:auto;line-height:1.8}
  .about-layout{grid-template-columns:1fr;gap:38px}.about-visual{height:390px}.about-copy h2{font-size:var(--text-3xl)}.about-copy p{max-width:none}.about-label{padding:17px 20px}
  .process{padding-top:0}.process .section-heading{padding-top:50px}.process .section-heading .text-link{margin-top:20px}.process-grid{grid-template-columns:1fr;gap:35px}.process-grid article{padding-top:18px;position:relative;padding-left:65px;min-height:135px}.process-number{position:absolute;left:0;top:20px;font-size:var(--text-2xl)}.process-number>span{display:none}.process h3{font-size:var(--text-xl);margin-top:5px}.process-grid p{max-width:none}
  .faq-layout{grid-template-columns:1fr;gap:38px}.faq-layout h2{font-size:var(--text-3xl)}.faq-list summary{font-size:var(--text-base);padding-block:23px}.faq-list details p{padding-right:25px}.faq-intro{max-width:350px}
  .contact-layout{grid-template-columns:1fr;gap:42px}.contact-copy h2{font-size:var(--text-3xl)}.contact-email{font-size:var(--text-sm);gap:8px}.quote-form{padding:28px 22px}.form-grid{gap:14px}.quote-form label{font-size:var(--text-xs);margin-bottom:19px}.quote-form input,.quote-form textarea,.quote-form select{font-size:1rem}.form-top{font-size:var(--text-xs);letter-spacing:.05em}.contact-method>a{font-size:var(--text-xl)}
  .footer{padding-top:42px}.footer-top{flex-wrap:wrap;gap:30px;padding-bottom:35px}.footer-logo{width:112px}.footer-top>p{font-size:var(--text-xl)}.footer-links{width:100%;display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin:0}.footer-bottom{align-items:start;gap:20px;font-size:var(--text-xs)}.footer-bottom>div{flex-direction:column;gap:12px;order:3;width:100%}.footer-bottom .back-top{margin-left:auto}.footer-bottom>span{max-width:220px}
  dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.product-dialog{width:calc(100vw - 24px)}.product-dialog-layout{grid-template-columns:1fr}.product-dialog-visual{min-height:260px;height:300px;padding:25px}.product-dialog-visual img{height:260px;width:100%;max-width:300px}.product-dialog-copy{padding:30px 24px}.product-dialog-copy h2{font-size:var(--text-2xl)}.product-dialog-copy .kicker{margin-bottom:16px}.product-dialog>.dialog-close{background:var(--paper)}.quote-dialog{padding:65px 24px 28px;width:calc(100vw - 24px)}.quote-dialog pre{font-size:var(--text-xs);padding:15px}.quote-dialog>.button{padding-inline:15px;gap:15px}.lightbox{width:calc(100vw - 24px)}.lightbox-bar{padding:12px;gap:10px}.lightbox>img{min-height:0;max-height:calc(100dvh - 220px)}.lightbox-bottom{padding:12px}.lightbox .dialog-close{flex-shrink:0}
}
@media(max-width:370px){.quote-form{padding:24px 17px}.form-grid{grid-template-columns:1fr;gap:0}.contact-email{font-size:var(--text-xs)}.product-grid{gap:24px 12px}.filter{padding-inline:12px}.project-image{height:260px}.footer-top{gap:20px}.footer-top>p{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-word{opacity:1!important;clip-path:none!important}}

.floating-call{position:fixed;right:clamp(16px,2.4vw,34px);bottom:clamp(16px,2.4vw,30px);z-index:80;display:flex;align-items:center;gap:13px;min-width:226px;padding:12px 17px 12px 12px;border:1px solid #ffffff65;border-radius:999px;background:linear-gradient(135deg,#e83b43 0%,#b91d25 65%,#92151d 100%);color:#fff;box-shadow:0 12px 35px #7d111d55,0 3px 10px #0002;isolation:isolate;transition:transform .28s var(--ease),box-shadow .28s var(--ease);overflow:visible}
.floating-call:hover{transform:translateY(-4px) scale(1.025);box-shadow:0 18px 44px #7d111d66,0 5px 14px #0002}.floating-call:active{transform:scale(.98)}
.floating-call-icon{position:relative;display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:#fff;color:#b91d25;box-shadow:inset 0 0 0 1px #ffffff9c}.floating-call-icon svg{width:24px;height:24px;animation:callWiggle 3.8s ease-in-out infinite;transform-origin:50% 50%}
.floating-call-copy{display:flex;flex-direction:column;line-height:1.25;gap:4px}.floating-call-copy strong{font-size:14px;font-weight:800;letter-spacing:.015em}.floating-call-copy small{font-size:11px;color:#ffe2e3;font-weight:600;letter-spacing:.025em}.floating-call-arrow{margin-left:auto;font-size:20px;font-weight:700;transition:transform .25s}.floating-call:hover .floating-call-arrow{transform:translate(2px,-2px)}
.floating-call-pulse{position:absolute;z-index:-1;inset:-5px;border:1px solid #e83b4366;border-radius:999px;animation:callPulse 2.6s ease-out infinite;pointer-events:none}
@keyframes callPulse{0%{transform:scale(.98);opacity:.75}75%,100%{transform:scale(1.13);opacity:0}}@keyframes callWiggle{0%,82%,100%{transform:rotate(0)}85%{transform:rotate(-12deg)}88%{transform:rotate(12deg)}91%{transform:rotate(-8deg)}94%{transform:rotate(0)}}
@media(max-width:760px){
  .floating-call{
    position:fixed!important;display:flex!important;visibility:visible!important;opacity:1!important;
    right:14px!important;left:14px!important;bottom:calc(12px + env(safe-area-inset-bottom, 0px))!important;
    width:auto!important;max-width:440px;min-width:0!important;min-height:68px;
    margin-inline:auto;padding:9px 17px 9px 10px!important;gap:12px!important;
    border:1px solid #ffffffb8;border-radius:999px;
    background:linear-gradient(115deg,#ff4b52 0%,#d91e2b 48%,#a90e1c 100%);
    box-shadow:0 10px 30px #5f101b70,0 0 0 3px #ffffffd9,0 0 0 6px #b91d2530;
    z-index:2147483000!important;isolation:isolate;transform:translateZ(0);-webkit-transform:translateZ(0);
    touch-action:manipulation;overflow:visible
  }
  .floating-call-icon{width:48px!important;height:48px!important;flex:0 0 48px!important;background:#fff;color:#b91d25}
  .floating-call-icon svg{width:25px;height:25px}
  .floating-call-copy{flex:1;min-width:0;gap:3px}
  .floating-call-copy strong{font-size:15px!important;line-height:1.15;letter-spacing:.01em}
  .floating-call-copy small{display:block!important;font-size:11px!important;line-height:1.25;color:#fff0f0;white-space:nowrap}
  .floating-call-arrow{font-size:23px!important;margin-left:auto;flex:0 0 auto}
  .floating-call-pulse{inset:-5px;border-color:#ef3d4b85}
}
@media(max-width:370px){
  .floating-call{right:10px!important;left:10px!important;bottom:calc(10px + env(safe-area-inset-bottom, 0px))!important;min-height:64px;padding:8px 13px 8px 8px!important;gap:9px!important}
  .floating-call-icon{width:45px!important;height:45px!important;flex-basis:45px!important}
  .floating-call-copy strong{font-size:14px!important}
  .floating-call-copy small{font-size:10px!important}
}
@media(prefers-reduced-motion:reduce){.floating-call-pulse,.floating-call-icon svg{animation:none!important}}


.floating-call{
  animation: callLift 3.2s cubic-bezier(.45,0,.2,1) infinite, callGlow 2.8s ease-in-out infinite;
  transform-origin: 50% 85%;
  will-change: transform, filter, box-shadow;
}
.floating-call::after{
  content:"";position:absolute;inset:-3px;border-radius:inherit;pointer-events:none;
  border:2px solid #ff858b;opacity:0;animation:callShockwave 2.8s ease-out infinite;
}
.floating-call-icon{overflow:visible;animation:iconPop 3.2s ease-in-out infinite;box-shadow:0 0 0 4px #ffffff24,inset 0 0 0 1px #ffffff9c,0 4px 12px #680b1538}
.floating-call-icon svg{filter:drop-shadow(0 1px 0 #b91d2520)}
.floating-call-copy strong{text-shadow:0 1px 8px #650b1630}
.floating-call:hover{animation:none;transform:translateY(-7px) scale(1.045) rotate(-.6deg);filter:saturate(1.12);box-shadow:0 22px 52px #7d111d70,0 0 0 5px #ffffffd9,0 0 28px #ff354e70}
.floating-call:hover .floating-call-icon{animation:none;transform:scale(1.08) rotate(-8deg)}
.floating-call:active{animation:none;transform:translateY(2px) scale(.97)}
@keyframes callLift{
  0%,100%{transform:translateY(0) scale(1) rotate(0)}
  7%{transform:translateY(-5px) scale(1.025) rotate(-.5deg)}
  14%{transform:translateY(0) scale(1) rotate(0)}
  20%{transform:translateY(-2px) scale(1.01) rotate(.25deg)}
  26%,85%{transform:translateY(0) scale(1) rotate(0)}
}
@keyframes callGlow{
  0%,100%{box-shadow:0 12px 35px #7d111d55,0 3px 10px #0002,0 0 0 0 #ff384c00}
  50%{box-shadow:0 16px 42px #7d111d70,0 4px 12px #0002,0 0 24px 3px #ff384c52}
}
@keyframes callShockwave{
  0%{transform:scale(.98);opacity:.8}
  70%,100%{transform:scale(1.12,1.28);opacity:0}
}
@keyframes iconPop{
  0%,100%{transform:scale(1) rotate(0)}
  8%{transform:scale(1.13) rotate(-9deg)}
  15%{transform:scale(1.04) rotate(7deg)}
  22%{transform:scale(1.1) rotate(-5deg)}
  29%{transform:scale(1) rotate(0)}
}
@media(max-width:760px){
  .floating-call{animation:callLift 3.2s cubic-bezier(.45,0,.2,1) infinite,callGlowMobile 2.8s ease-in-out infinite;}
  .floating-call-icon{animation:iconPop 3.2s ease-in-out infinite;}
  .floating-call-pulse{inset:-7px;border-width:2px;animation:callPulse 2.2s ease-out infinite;}
  .floating-call::after{inset:-3px;animation:callShockwave 2.8s ease-out infinite;}
}
@keyframes callGlowMobile{
  0%,100%{box-shadow:0 10px 30px #5f101b70,0 0 0 3px #ffffffd9,0 0 0 6px #b91d2530,0 0 0 0 #ff384c00}
  50%{box-shadow:0 15px 38px #5f101b85,0 0 0 3px #ffffff,0 0 0 7px #e72b3d50,0 0 25px 5px #ff384c65}
}
@media(prefers-reduced-motion:reduce){
  .floating-call,.floating-call::after,.floating-call-icon,.floating-call-pulse{animation:none!important;will-change:auto}
}
