:root{--paper:#f1f0eb;--ink:#172430;--muted:#53606a;--line:#b9c1c1;--yellow:#f1b54d;--shell:1360px;--space:clamp(20px,5vw,76px)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Arial,sans-serif}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px #111}.shell{max-width:var(--shell);margin:auto;padding-inline:var(--space)}.skip{position:absolute;left:1rem;top:1rem;z-index:20;padding:.7rem;background:white;color:black;transform:translateY(-200%)}.skip:focus{transform:none}
.topbar{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:2rem;position:relative;color:white;background:#172430;z-index:4}.topbar:before{content:'';position:absolute;inset:0 auto 0 50%;width:100vw;transform:translateX(-50%);background:#172430;z-index:-1}.brand{font-weight:900;letter-spacing:-.08em;font-size:1.9rem;line-height:1}.brand span{color:var(--yellow)}.nav-links{display:flex;align-items:center;gap:clamp(1rem,2vw,2.4rem);font-size:.82rem;font-weight:700}.nav-links a:hover{text-decoration:underline;text-underline-offset:5px}.nav-cta{background:var(--yellow);color:#15212b;padding:.7rem 1rem}.locale{display:flex;gap:.6rem;font-size:.72rem}.locale [aria-current]{border-bottom:1px solid}.menu-button{display:none;border:1px solid currentColor;background:none;color:inherit;min-height:44px;padding:.6rem .9rem;cursor:pointer}
.hero{background:#111c26;color:white;position:relative;overflow:hidden}.hero-media{position:absolute;inset:0 0 0 38%;pointer-events:none}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:58% 28%}.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#111c26 0%,#111c2699 18%,#111c2600 75%)}.hero-media:before{content:'';position:absolute;z-index:1;bottom:9%;right:7%;width:34%;height:3px;background:var(--yellow);transform-origin:left;animation:beam 1.4s .3s both}.hero-inner{position:relative;min-height:650px;display:flex;align-items:center}.hero-copy{width:min(600px,54%);padding:6rem 0}.eyebrow{display:block;font-size:.72rem;letter-spacing:.13em;font-weight:800;text-transform:uppercase}.hero .eyebrow{color:var(--yellow)}.hero h1{font:900 clamp(2.7rem,5vw,5.2rem)/.98 Arial,sans-serif;text-transform:uppercase;letter-spacing:-.06em;text-wrap:balance;max-width:13ch;margin:1.4rem 0}.hero p{max-width:33rem;color:#d5dce0;font-size:1.08rem}.hero-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:2rem}.button{display:inline-flex;justify-content:center;align-items:center;gap:1rem;min-height:54px;padding:.9rem 1.4rem;background:var(--yellow);color:#172430;border:0;font-size:.86rem;font-weight:800;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#ffd27b;transform:translateY(-2px)}.line-link{border-bottom:1px solid currentColor;padding-bottom:.3rem;font-size:.84rem;font-weight:700}
.section{padding-block:clamp(70px,8vw,120px)}.section-head{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem 4rem;align-items:end;margin-bottom:3.5rem}.section-head .eyebrow{grid-column:1/-1;color:#98600b}.section-head h2,.split-copy h2,.faq h2,.contact h2,.intro h2{font-size:clamp(2.6rem,4.7vw,4.8rem);line-height:.98;letter-spacing:-.055em;margin:0}.section-head p,.split-copy p{max-width:33rem;color:var(--muted);margin:0;font-size:1.02rem}.intro{display:grid;grid-template-columns:.35fr 2fr;gap:3rem;border-bottom:1px solid var(--line)}.intro>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.intro h2{max-width:10ch}.intro p{margin:0;color:var(--muted);max-width:34rem}
#services{padding-block:clamp(75px,9vw,135px)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#1b2935;border:1px solid #354550;color:#fff}.service-card{min-height:320px;padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;align-items:flex-start;border-right:1px solid #46545d;position:relative;transition:background .25s}.service-card:last-child{border-right:0}.service-card:hover{background:#253744}.service-card .index{color:#d6a341;font:700 .75rem/1 monospace}.service-icon{width:64px;height:64px;color:#f4b64a;margin:2.5rem 0 2rem}.service-card h3{font-size:clamp(1.35rem,2vw,1.85rem);line-height:1.1;letter-spacing:-.03em;margin:0 0 1rem}.service-card p{color:#c5ced1;font-size:.95rem;margin:0;max-width:24rem}
.feature{background:#d8dcd9}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,8rem);align-items:center}.feature-image{height:clamp(420px,52vw,620px);position:relative;overflow:hidden}.feature-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.feature-image:hover img{transform:scale(1.04)}.split-copy{border-left:4px solid var(--yellow);padding-left:clamp(1.5rem,3vw,3rem)}.split-copy .eyebrow{color:#98600b;margin-bottom:1.5rem}.split-copy p{margin:1.7rem 0 2rem}.process{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.process-item{padding:clamp(24px,3vw,40px);border-right:1px solid var(--line)}.process-item:last-child{border-right:0}.process-item .number{display:block;color:#a76b11;font:800 2.8rem/1 Arial,sans-serif;letter-spacing:-.06em}.process-item h3{font-size:1.2rem;margin:2rem 0 .8rem}.process-item p{color:var(--muted);margin:0}.more{background:#172430;color:#fff;position:relative;overflow:hidden}.more:after{content:'';position:absolute;width:35vw;height:35vw;right:-12vw;top:-14vw;border:1px solid #4a5c66;border-radius:50%;box-shadow:0 0 0 3vw #172430,0 0 0 calc(3vw + 1px) #4a5c66;pointer-events:none}.more .section-head{position:relative;z-index:1;margin:0}.more .section-head p{color:#cbd3d4}.more .eyebrow{color:var(--yellow)}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,8rem)}.faq .eyebrow{color:#98600b;margin-bottom:1.5rem}.faq details{border-top:1px solid var(--line);padding:1.3rem 0}.faq details:last-child{border-bottom:1px solid var(--line)}summary{display:flex;justify-content:space-between;gap:1rem;cursor:pointer;list-style:none;font-weight:700}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:1.5rem;font-weight:400;line-height:1}details[open] summary:after{content:'−'}details p{color:var(--muted);max-width:35rem}.contact{background:var(--yellow);color:#172430}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,9vw,9rem)}.contact h2{max-width:11ch}.contact p{max-width:33rem}.form-note{font-size:.85rem}.contact .line-link{display:inline-block;margin-top:1rem}.demo-form{display:grid;gap:1rem}.demo-form label{font-size:.82rem;font-weight:700}.demo-form input,.demo-form textarea{display:block;width:100%;margin-top:.4rem;border:1px solid #172430;border-radius:0;background:transparent;color:inherit;padding:.8rem}.demo-form .button{justify-self:start;background:#172430;color:white}.demo-form [hidden]{display:none}.footer{background:#111c26;color:#f1f0eb;padding-block:2rem}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:2rem}.footer p{font-size:.8rem}
@keyframes beam{from{transform:scaleX(0)}to{transform:scaleX(1)}}.js:not(.motion-active) .hero-media:before{animation-play-state:paused}
@media(max-width:850px){.topbar{min-height:72px}.menu-button{display:block}.js .nav-links{display:none;position:absolute;top:100%;left:0;right:0;padding:1.5rem var(--space);background:#172430;color:white;align-items:flex-start;flex-direction:column}.js .nav-links.is-open{display:flex}.no-js .menu-button{display:none}.no-js .topbar{flex-wrap:wrap;padding-block:1rem}.no-js .nav-links{display:flex;flex-wrap:wrap;gap:.7rem;font-size:.75rem}.intro,.intro>div:last-child,.section-head,.split,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:1.5rem}.section-head .eyebrow{grid-column:auto}.hero-copy{width:65%}.cards{grid-template-columns:1fr}.service-card{min-height:0;display:grid;grid-template-columns:50px 76px 1fr;gap:1rem;align-items:start;border-right:0;border-bottom:1px solid #46545d}.service-card:last-child{border-bottom:0}.service-icon{margin:0;width:54px;height:54px}.footer-inner{align-items:flex-start;flex-direction:column;gap:1rem}}
@media(max-width:600px){.hero-inner{min-height:680px;align-items:end}.hero-copy{width:100%;padding:15rem 0 3.5rem}.hero h1{font-size:clamp(2.4rem,10vw,3.8rem);max-width:13ch}.hero-media{inset:0}.hero-media:after{background:linear-gradient(0deg,#111c26 8%,#111c26e8 44%,#111c2620 100%)}.hero-media img{object-position:65% 25%}.section{padding-block:64px}.section-head{margin-bottom:2rem}.section-head h2,.intro h2,.split-copy h2,.faq h2,.contact h2{font-size:clamp(2.2rem,9vw,3.2rem);overflow-wrap:anywhere}.service-card{grid-template-columns:30px 1fr;gap:.6rem 1rem;padding:25px 20px}.service-icon{grid-column:1;width:30px;height:30px}.service-card>div{grid-column:2;grid-row:1/span 2}.service-card h3{font-size:1.3rem}.feature-image{height:390px}.process{grid-template-columns:1fr}.process-item{border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:56px 1fr;gap:.5rem 1rem}.process-item:last-child{border-bottom:0}.process-item .number{grid-row:span 2;font-size:2rem}.process-item h3{margin:0}.faq-grid,.contact-grid{gap:2.5rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

.prices{background:#d8dcd9}.prices-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2.5rem,7vw,7rem)}.prices-intro h2{font-size:clamp(2.2rem,4vw,4.2rem);line-height:1;letter-spacing:-.05em;margin:0 0 1.5rem;overflow-wrap:anywhere}.prices-intro p{max-width:31rem;color:var(--muted)}.prices-intro .line-link{display:inline-block;margin-top:1rem}.price-list{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}.price-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1rem 2rem;padding:1.4rem 0;border-bottom:1px solid #98a3a5}.price-list h3{font-size:1.1rem;line-height:1.25;margin:0}.price-list span{color:#46545d;font-size:.9rem;white-space:nowrap}.price-list strong{white-space:nowrap}.price-note{color:#46545d;font-size:.9rem;margin:1.25rem 0 0}@media(max-width:850px){.prices-layout{grid-template-columns:1fr}}@media(max-width:480px){.price-list li{grid-template-columns:minmax(0,1fr) auto;gap:.5rem 1rem}.price-list h3{grid-column:1/-1}.price-list strong{justify-self:end}}

.price-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 2rem}
.price-filters[hidden],.price-category[hidden]{display:none}
.price-filters button{font:700 .9rem/1.25 Arial,sans-serif;cursor:pointer;min-height:44px;border:1px solid #566773;background:transparent;color:#172430;padding:.7rem 1rem;transition:background .2s,color .2s}
.price-filters button:hover,.price-filters button[aria-pressed=true]{background:#172430;border-color:#172430;color:#fff}
.price-filters button:focus-visible{outline:3px solid #172430;outline-offset:3px}
.price-category h3{font-size:1.35rem;line-height:1.25;margin:0 0 1rem;overflow-wrap:anywhere}
.price-category + .price-category{margin-top:2rem}
.price-list h4{font-size:1.1rem;line-height:1.25;margin:0;overflow-wrap:anywhere}
.service-card h3 a{text-decoration:underline;text-decoration-color:#d6a341;text-underline-offset:.2em}
@media(max-width:480px){.price-list h4{grid-column:1/-1}}

.demo-form select{display:block;width:100%;min-height:52px;margin-top:.4rem;padding:.8rem 3.25rem .8rem .9rem;appearance:none;border:1px solid #172430;border-radius:0;background:#fff8ea url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m3 6 5 5 5-5' stroke='%23172430' stroke-width='2' stroke-linecap='square'/%3E%3C/svg%3E") no-repeat right 1rem center;color:#172430;font:600 1rem/1.4 Arial,sans-serif;cursor:pointer;color-scheme:light;transition:background-color .2s,border-color .2s}
.demo-form select:hover:not(:disabled){background-color:#fff}
.demo-form select:focus-visible{outline:3px solid #172430;outline-offset:3px;box-shadow:0 0 0 6px #fff8ea}
.demo-form select:disabled{cursor:not-allowed;color:#53606a;background-color:#e8e8e4}
@media(forced-colors:active){.demo-form select{appearance:auto;background-image:none}}

/* Footer follows the workshop's technical, high-contrast palette. */
.footer{background:#111c26;color:#f1f0eb;padding-block:clamp(3.5rem,7vw,6rem) 2.5rem}
.footer-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:start;gap:clamp(2rem,5vw,5rem);border-top:3px solid #f1b54d;padding-top:2.5rem}
.footer-about .brand{display:inline-block;font-size:clamp(3rem,6vw,5.5rem);letter-spacing:-.08em}
.footer-about p{max-width:18rem;margin:1rem 0 0;color:#c4cdd0;font-size:1rem}
.footer-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 2rem;font-size:1rem;font-weight:700}
.footer-nav a:hover,.footer .locale a:hover{text-decoration:underline;text-underline-offset:5px}
.footer-action{display:flex;align-items:flex-start;flex-direction:column;gap:2rem}
.footer-cta{display:inline-flex;justify-content:space-between;align-items:center;gap:2rem;min-height:54px;padding:1rem 1.4rem;background:#f1b54d;color:#172430;font-weight:800}
.footer-cta:hover{background:#ffd17e}
.footer .locale{font-size:.8rem;font-weight:700}
@media(max-width:850px){.footer-inner{grid-template-columns:1fr 1fr}.footer-about{grid-column:1/-1}.footer-action{align-items:flex-end}.footer-nav{max-width:340px}}
@media(max-width:550px){.footer-inner{grid-template-columns:1fr;gap:2rem}.footer-about{grid-column:auto}.footer-action{align-items:flex-start;gap:1.5rem}.footer-nav{width:100%}}
