@import url("assets/fonts-woff2.css");
:root{--paper:#f4f3ed;--ink:#22231f;--orange:#f55025;--line:#cecec5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:6px}.skip{position:absolute;top:-70px;background:var(--ink);color:white;padding:15px;z-index:5}.skip:focus{top:0}header,main,footer{max-width:1600px;margin:auto}header{height:126px;padding:0 5%;display:flex;align-items:center;justify-content:space-between}.logo{font-family:'Manrope',sans-serif;font-weight:800;font-size:62px;letter-spacing:-6px;line-height:1}.logo span{font-family:Arial;font-size:12px;vertical-align:top;letter-spacing:0;display:inline-block;margin:9px 0 0 6px}nav{display:flex;gap:46px;font-size:14px}.contact-link span{margin-left:32px}.contact-link{border-bottom:1px solid;padding-bottom:9px}.hero{padding:45px 5% 0}.eyebrow,.section-label,.tiny,.tags,.build-label,.build-foot,footer>span,footer>a:last-child{font-size:10px;letter-spacing:1.4px;font-weight:600}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--orange);margin-right:9px}h1{font-family:'Manrope',Arial,sans-serif;font-size:clamp(62px,9.6vw,150px);font-weight:600;letter-spacing:-.075em;line-height:1.02;margin:37px 0 34px}h1>span{display:block;animation:rise 1s both}h1>span:nth-child(2){animation-delay:.15s}.orange{color:var(--orange)}.hero-bottom{display:flex;align-items:center;justify-content:space-between;margin:0 0 48px}.hero-bottom p{font-size:16px;line-height:1.6;margin:0}.hero-bottom .tiny{font-size:10px;line-height:1.8}.round-link{width:52px;height:52px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:24px;margin-left:auto;margin-right:20%;transition:background .2s,transform .2s}.round-link:hover{background:var(--orange);transform:translateY(4px)}.build{height:430px;background:var(--orange);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:28px}.build-label{position:absolute;top:26px;left:28px}.build-foot{position:absolute;bottom:24px;left:28px;right:28px;display:flex;justify-content:space-between;font-size:9px}.shape{width:210px;height:210px;position:relative;background:var(--ink);animation:assemble 1.4s cubic-bezier(.2,.7,.3,1) both}.shape-a{border-radius:0 0 110px 110px;animation-delay:.2s}.shape-a:before{content:'';position:absolute;width:105px;height:130px;top:-1px;left:-1px;background:var(--orange)}.shape-b{clip-path:polygon(0 0,26% 0,38% 56%,50% 0,70% 0,81% 56%,93% 0,100% 0,100% 55%,88% 100%,67% 100%,56% 54%,43% 100%,22% 100%);animation-delay:.4s}.shape-c{border-radius:50%;animation-delay:.6s}.shape-c:before{content:'';position:absolute;inset:57px;border-radius:50%;background:var(--orange)}.shape-c:after{content:'';position:absolute;right:-3px;top:65px;width:100px;height:80px;background:var(--orange)}.intro{padding:110px 5%;display:grid;grid-template-columns:1fr 2fr;gap:22px}.section-label{margin:0;line-height:1.7}h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(38px,4.6vw,68px);letter-spacing:-.055em;line-height:1.1;font-weight:500;margin:0}.intro-copy{grid-column:2;max-width:500px;font-size:19px;line-height:1.6;margin:12px 0 0}.services{padding:0 5%}.section-top{border-top:1px solid var(--line);padding:30px 0 55px;display:flex;justify-content:space-between}.section-top>p:last-child{font-size:14px;margin:0;line-height:1.5}.service{display:grid;grid-template-columns:1fr 7fr 1fr;gap:20px;border-top:1px solid var(--line);padding:35px 0 40px}.number{font-size:12px;padding-top:12px}.service h3{font-family:Manrope,Arial,sans-serif;font-size:clamp(30px,4vw,54px);font-weight:500;letter-spacing:-.045em;margin:0}.service p{font-size:16px;line-height:1.6;margin:15px 0 24px;max-width:560px}.tags{font-size:9px;color:#606159}.arrow{font-size:40px;justify-self:end;transition:transform .3s}.service:hover .arrow{transform:translate(5px,-5px);color:var(--orange)}.statement{position:relative;background:var(--ink);color:var(--paper);margin-top:65px;padding:60px 5% 70px}.statement>p:nth-child(2){font-family:Manrope,Arial,sans-serif;font-size:clamp(46px,7vw,104px);letter-spacing:-.055em;line-height:1.1;margin:50px 0 0}.statement>p:nth-child(2) span{color:#abaea1}.small-star{position:absolute;right:7%;top:32%;font-size:150px;color:var(--orange);transition:transform .8s}.statement:hover .small-star{transform:rotate(90deg)}.contact{padding:110px 5%;display:grid;grid-template-columns:1.1fr 1fr;gap:9%}.contact h2{margin:25px 0}.contact-copy>p:not(.section-label){line-height:1.65;max-width:360px}.details{display:flex;flex-direction:column;gap:14px;margin-top:38px;font-size:16px}.details a:hover{text-decoration:underline}form{padding-top:10px}label{display:block;font-size:12px;margin-bottom:10px}input,textarea{display:block;border:0;border-bottom:1px solid #a4a69a;background:transparent;border-radius:0;width:100%;padding:8px 0 16px;margin-bottom:27px;outline:none;color:var(--ink)}input:focus,textarea:focus{border-color:var(--orange);box-shadow:0 1px var(--orange)}textarea{resize:vertical}button{background:var(--orange);color:var(--ink);border:0;width:100%;display:flex;justify-content:space-between;padding:19px 22px;cursor:pointer;font-weight:600;transition:background .2s}button:hover{background:#e9471d}.form-note{font-size:11px;color:#626459;line-height:1.5}footer{border-top:1px solid var(--line);padding:32px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}footer .logo{font-size:43px}footer>span,footer>a:last-child{font-size:8px}footer .logo span{font-size:8px}.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.js .reveal.visible{opacity:1;transform:none}@keyframes rise{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:none}}@keyframes assemble{from{opacity:0;transform:translateY(70px) rotate(-12deg)}to{opacity:1;transform:none}}@media(min-width:1600px){h1{font-size:150px}}@media(max-width:700px){header{height:100px}nav{gap:20px;font-size:12px}.logo{font-size:48px}h1{font-size:clamp(53px,11.5vw,80px)}.hero{padding-top:30px}.eyebrow{font-size:8px;letter-spacing:1px}.hero-bottom{align-items:flex-end}.hero-bottom p{font-size:13px}.hero-bottom .tiny{display:none}.round-link{margin:0;width:42px;height:42px}.build{height:290px;gap:13px}.shape{width:24vw;height:24vw}.shape-a:before{width:12vw;height:15vw}.shape-c:before{inset:6.5vw}.shape-c:after{top:7.5vw;width:12vw;height:9vw}.build-foot{font-size:7px;letter-spacing:1px}.intro{padding-top:70px;padding-bottom:70px;grid-template-columns:1fr;gap:25px}.intro-copy{grid-column:1;font-size:17px}.section-top{padding-bottom:35px}.service{grid-template-columns:25px 1fr 25px;gap:12px}.service p{font-size:14px}.tags{font-size:8px;line-height:1.8}.arrow{font-size:28px}.statement{margin-top:35px;padding-top:35px;padding-bottom:50px}.statement>p:nth-child(2){font-size:11vw}.small-star{font-size:66px;right:5%;top:35px}.contact{grid-template-columns:1fr;gap:45px;padding-top:70px;padding-bottom:60px}footer{flex-wrap:wrap}footer>span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}

.clients{padding:85px 5% 35px}.clients-heading{border-top:1px solid var(--line);padding-top:32px;display:grid;grid-template-columns:1fr 2fr;gap:22px}.clients h2{font-size:clamp(36px,4vw,58px)}.client-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:45px;border-top:1px solid var(--line)}
.client-card{min-width:0;min-height:154px;border-bottom:1px solid var(--line);padding:22px 24px 20px 0}.client-top{display:flex;align-items:center;gap:12px;justify-content:space-between}.client-name{padding:0;width:auto;background:none;color:var(--ink);font-family:Manrope,Arial,sans-serif;font-weight:600;font-size:clamp(16px,1.7vw,24px);letter-spacing:-.04em;text-align:left;display:block}.client-name:hover{background:none;color:#b83412}.client-visit{font-size:20px;padding:4px;flex-shrink:0;transition:transform .25s}.client-visit:hover{transform:translate(3px,-3px);color:#b83412}.client-description{margin:15px 0 0;font-size:13px;line-height:1.5;max-width:310px;color:#505249;animation:rise .25s ease-out}.client-card.is-open .client-name{color:#b83412}.client-description[hidden]{display:none}@media(max-width:700px){nav{gap:16px}.contact-link span{margin-left:10px}.clients{padding-top:55px}.clients-heading{grid-template-columns:1fr;gap:20px}.client-list{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:30px}.client-card{min-height:180px;padding:20px 14px 20px 0}.client-name{font-size:16px}.client-visit{font-size:16px}.client-description{font-size:12px}}@media(max-width:380px){.client-list{grid-template-columns:1fr}.client-card{min-height:135px}}

.cookie-banner{position:fixed;bottom:16px;left:16px;right:16px;z-index:100;background:var(--paper);border:1px solid var(--ink);box-shadow:0 8px 30px #0002;padding:22px;display:flex;gap:28px;align-items:center;max-width:1100px;margin:auto}.cookie-banner[hidden]{display:none}.cookie-banner p{font-size:13px;line-height:1.5;margin:8px 0 0;max-width:650px}.cookie-banner a{text-decoration:underline}.cookie-actions{display:flex;gap:10px;flex-shrink:0}.cookie-actions button{width:auto;border:1px solid var(--ink);background:transparent;padding:12px;font-size:12px}.cookie-actions button:hover{background:var(--orange)}footer .cookie-settings{width:auto;background:none;padding:0;font-size:10px;color:var(--ink);text-decoration:underline;font-weight:400}.privacy-page{padding:50px 5% 90px;max-width:850px}.privacy-page h1{font-size:60px}.privacy-page h2{font-size:28px;margin-top:35px}.privacy-page p,.privacy-page li{line-height:1.7}.privacy-page a{text-decoration:underline}@media(max-width:700px){.cookie-banner{flex-direction:column;gap:16px;align-items:stretch;padding:18px}.cookie-actions button{flex:1;justify-content:center}.privacy-page h1{font-size:44px}}

/* Shared footer typography and responsive layout. */
footer{display:grid;grid-template-columns:auto 1fr auto auto;gap:28px;align-items:center}footer>span,footer .footer-links a,footer .footer-links .cookie-settings{font-family:'DM Sans',Arial,sans-serif;font-size:11px;font-weight:500;line-height:1.5;letter-spacing:.06em;text-transform:uppercase}footer>span:nth-child(2){justify-self:start}footer .footer-links{display:flex;gap:24px;align-items:center;justify-content:flex-end}footer .footer-links a,footer .footer-links .cookie-settings{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;margin:0;width:auto;background:none;border:0;color:var(--ink);text-decoration:none;white-space:nowrap}footer .footer-links a:hover,footer .footer-links .cookie-settings:hover{color:#b83412;text-decoration:underline;text-underline-offset:4px}@media(max-width:1000px){footer{grid-template-columns:auto 1fr auto}footer>span:nth-child(2){display:none}}@media(max-width:600px){footer{grid-template-columns:1fr auto;gap:14px 20px}footer .footer-links{grid-column:1/-1;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:12px}footer>span,footer .footer-links a,footer .footer-links .cookie-settings{font-size:10px;letter-spacing:.04em}}
