@font-face{font-family:Raleway;src:url('assets/raleway-regular.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:Raleway;src:url('assets/raleway-bold.woff') format('woff');font-weight:700;font-display:swap}
:root{--ink:#17191b;--paper:#f5f4f1;--red:#981420;--line:#deddd8;--muted:#5d6266;--pad:clamp(20px,4.5vw,72px);--radius:20px;--ease:cubic-bezier(.2,.75,.25,1);--header:88px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 20px)}body{margin:0;background:var(--paper);color:var(--ink);font-family:Raleway,Arial,sans-serif;font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}[hidden]{display:none!important}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b63a46;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:700;letter-spacing:-.045em;line-height:1.07;text-wrap:balance}h2{font-size:clamp(2.4rem,3.7vw,3.9rem)}em{font-family:Georgia,serif;font-weight:400;color:var(--red)}.skip-link{position:fixed;z-index:100;left:16px;top:-100px;background:#fff;padding:12px 18px;border-radius:8px}.skip-link:focus{top:12px}.section-index,.kicker{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--red)}.section-index{margin-bottom:20px}
.button,.nav-contact{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:54px;padding:15px 23px;border:1px solid var(--red);border-radius:8px;background:var(--red);color:#fff;font-size:.9rem;font-weight:700;line-height:1.35;transition:background .45s var(--ease),transform .45s var(--ease),box-shadow .45s var(--ease)}.button:hover,.button:focus-visible,.nav-contact:hover{background:#b11a28;transform:translateY(-2px);box-shadow:0 12px 26px #98142024}.button-light{background:#fff;color:var(--ink);border-color:#fff}.button-light:hover{background:#f5e8e9;color:var(--red)}.button-outline{background:transparent;color:var(--red)}.button-outline:hover{color:#fff}.plain-link,.route-link{display:inline-block;color:var(--red);font-size:.9rem;font-weight:700;line-height:1.55;border:0;background:none;padding:2px 0;text-decoration:underline;text-underline-offset:6px;text-decoration-color:#98142055;transition:text-decoration-color .4s}.plain-link:hover,.route-link:hover{text-decoration-color:var(--red)}.media-label{position:absolute;z-index:3;left:22px;bottom:20px;padding:7px 11px;background:#17191bd9;color:#fff;font-size:.75rem;border-radius:5px;backdrop-filter:blur(10px)}
/* Navigation */
.header{position:sticky;top:0;z-index:50;height:var(--header);padding:0 max(var(--pad),calc((100% - 1320px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fffffff0;border-bottom:1px solid #17191b14;backdrop-filter:blur(20px);transition:box-shadow .5s}.header.is-scrolled{box-shadow:0 6px 28px #17191b0d}.header:after{content:'';position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--red);transform:scaleX(var(--page-progress,0));transform-origin:left}.brand{width:220px;height:70px;display:flex;align-items:center;flex-shrink:0}.brand img{width:100%;height:100%;object-fit:contain}.header nav{display:flex;align-items:center;gap:30px;font-size:.875rem;font-weight:700}.header nav>a:not(.nav-contact){position:relative;padding:15px 0}.header nav>a:not(.nav-contact):after{content:'';position:absolute;left:0;bottom:8px;height:2px;width:100%;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}.header nav>a:hover:after,.header nav>a[aria-current]:after{transform:scaleX(1)}.nav-contact{min-height:46px;padding:12px 19px;background:var(--ink);border-color:var(--ink)}.menu-toggle{display:none;align-items:center;min-height:44px;padding:10px 0;border:0;background:none;font-weight:700}.menu-lines{width:22px;height:12px;margin-left:12px;border-top:2px solid;border-bottom:2px solid;transition:transform .4s}.menu-toggle[aria-expanded=true] .menu-lines{transform:rotate(-45deg)}
/* Hero and swipe carousel */
.hero{position:relative;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);min-height:min(820px,calc(100svh - var(--header)));background:#fafaf8}.hero-image-wrap{position:relative;min-height:650px;overflow:hidden}.hero-image-wrap:after{content:'';position:absolute;z-index:2;inset:0;background:linear-gradient(0deg,#1118,transparent 45%);pointer-events:none}.hero-copy{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;padding:60px clamp(30px,4.3vw,74px);background-image:linear-gradient(#17191b05 1px,transparent 1px),linear-gradient(90deg,#17191b05 1px,transparent 1px);background-size:56px 56px}.hero-copy:before{content:'';width:45px;height:4px;background:var(--red);margin-bottom:25px;border-radius:2px}.kicker{margin-bottom:24px}.hero h1{font-size:clamp(3.25rem,5.2vw,6.4rem);line-height:1.01;margin-bottom:27px}.hero-text{max-width:510px;color:var(--muted);font-size:1.05rem;line-height:1.8}.hero-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;margin:30px 0 26px;width:100%}.hero-actions>.button{min-height:66px;flex-shrink:0}.hero-call{display:flex;align-items:center;gap:11px;min-height:66px;padding:10px 15px 10px 11px;background:#fff;border:1px solid var(--line);border-radius:8px;transition:border-color .5s,box-shadow .5s,transform .5s}.hero-call:hover{border-color:#98142070;box-shadow:0 10px 25px #17191b0d;transform:translateY(-2px)}.call-icon,.phone-icon{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border-radius:50%;background:#f5e8e9;color:var(--red)}.call-icon svg,.phone-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.hero-call small,.hero-call strong,.contact-phone small,.contact-phone strong{display:block}.hero-call small{font-size:.75rem;color:var(--muted)}.hero-call strong,.contact-phone strong{font-size:1rem;font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap}.hero-meta{display:flex;flex-wrap:wrap;column-gap:18px;row-gap:4px;color:var(--muted);font-size:.78rem}.hero-meta span+span:before{content:'·';margin-right:18px;color:var(--red)}.hero-scroll{position:absolute;right:30px;bottom:22px;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.75rem}.hero-scroll b{font-size:1.2rem}
.hero-slideshow{isolation:isolate;background:#26282b;touch-action:pan-y;cursor:grab;user-select:none}.hero-slideshow.is-dragging{cursor:grabbing}.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transform:scale(1.025);transition:opacity 1s var(--ease),transform 7s linear,visibility 0s 1s}.hero-slide.is-active{opacity:1;visibility:visible;transform:scale(1);z-index:1;transition:opacity 1s var(--ease),transform 7s linear,visibility 0s}.hero-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;-webkit-user-drag:none}.hero-slideshow.is-dragging .hero-slide.is-active{transform:translateX(var(--drag-x,0)) scale(1.01);transition:none}.hero-slide figcaption{position:absolute;z-index:3;left:30px;bottom:78px;display:flex;flex-direction:column;gap:4px;max-width:calc(100% - 60px);padding:13px 17px;background:#17191bbf;color:#fff;border-left:3px solid #c84654;border-radius:0 8px 8px 0;backdrop-filter:blur(12px)}.hero-slide figcaption small{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#f8c9ce}.hero-slide figcaption strong{font-size:1.1rem}.slider-controls{position:absolute;z-index:5;inset:0;pointer-events:none}.slider-arrow{position:absolute;top:50%;display:grid;place-items:center;width:46px;height:66px;border:1px solid #ffffff40;border-radius:8px;background:#17191b80;color:#fff;opacity:0;pointer-events:auto;backdrop-filter:blur(10px);transform:translateY(-50%);transition:opacity .5s,background .5s}.slider-prev{left:20px}.slider-next{right:20px}.hero-slideshow:hover .slider-arrow,.hero-slideshow:focus-within .slider-arrow{opacity:1}.slider-arrow:hover{background:#981420cc}.slider-arrow span{font-size:1.4rem}.slider-pause{position:absolute;right:20px;bottom:20px;z-index:5;min-height:36px;min-width:44px;padding:7px 11px;border:1px solid #ffffff50;border-radius:5px;background:#17191bd9;color:#fff;font-size:.75rem;backdrop-filter:blur(10px)}.slide-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
/* Centered content */
.services,.projects,.commercial,.founder,.location{width:min(calc(100% - var(--pad)*2),1180px);margin-inline:auto}.services{margin-top:clamp(54px,6vw,90px);padding:clamp(30px,4.5vw,64px);border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 20px 50px #17191b04}.services-head{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:end;margin-bottom:35px}.services-head>div:last-child{max-width:370px;justify-self:end}.services-head>div:last-child p{color:var(--muted);margin-bottom:16px}.service-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.service-card{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:40px minmax(0,1fr) 28px;grid-template-rows:auto 1fr;column-gap:17px;min-height:144px;padding:24px 21px;border:1px solid var(--line);border-radius:11px;background:#f8f8f6;transition:transform .65s var(--ease),box-shadow .65s var(--ease),border-color .65s,color .65s}.service-card:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(125deg,#981420,#76101a);transform:translateX(-101%);transition:transform .8s var(--ease)}.service-card:hover,.service-card:focus-visible{color:#fff;border-color:var(--red);transform:translateY(-3px);box-shadow:0 14px 25px #98142016}.service-card:hover:before,.service-card:focus-visible:before{transform:translateX(0)}.service-no{grid-column:1;grid-row:1;font-size:.75rem;color:var(--red);font-weight:700}.service-card svg{grid-column:1;grid-row:2;align-self:end;width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.35}.service-card>div{grid-column:2;grid-row:1/3;align-self:center;min-width:0}.service-card h3{font-size:1.25rem;line-height:1.2;margin-bottom:7px;letter-spacing:-.025em}.service-card p{color:var(--muted);font-size:.9rem;line-height:1.6;transition:color .65s}.service-card>b{grid-column:3;grid-row:1/3;align-self:center;display:grid;place-items:center;width:25px;height:25px;border:1px solid #98142040;border-radius:50%;font-size:1rem;font-weight:400;color:var(--red);transition:color .65s,border-color .65s}.service-card:hover p,.service-card:focus-visible p,.service-card:hover .service-no,.service-card:focus-visible .service-no{color:#f7dfe2}.service-card:hover>b,.service-card:focus-visible>b{color:#fff;border-color:#ffffff60}.service-more{background:var(--ink);border-color:var(--ink);color:#fff}.service-more p,.service-more .service-no,.service-more>b{color:#e0e1e2}.service-more .service-no{white-space:nowrap;font-size:.75rem}.service-more>b{border-color:#ffffff55}
.commercial{display:grid;grid-template-columns:1fr 1fr;margin-top:64px;background:var(--ink);color:#fff;border-radius:var(--radius);overflow:hidden}.commercial-image{position:relative;min-height:540px;overflow:hidden}.commercial-image img,.founder-photo img,.location-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.commercial-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,4vw,60px)}.commercial-copy .section-index{color:#fa9eaa}.commercial h2{font-size:clamp(2.25rem,3.25vw,3.4rem);margin-bottom:24px}.commercial-copy>p:not(.section-index){color:#c7c9cc}.commercial ul{list-style:none;margin:26px 0 30px;padding:0;border-top:1px solid #ffffff25}.commercial li{position:relative;padding:12px 0 12px 19px;border-bottom:1px solid #ffffff25;font-size:.9rem}.commercial li:before{content:'';position:absolute;left:0;top:23px;width:5px;height:5px;background:#e6707d;border-radius:1px}.commercial .button{align-self:flex-start}.commercial-copy>small{margin-top:17px;color:#c0c2c5;font-size:.8rem}
.founder{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);margin-top:100px;border-radius:var(--radius);background:#eceae5;overflow:hidden}.founder-photo{position:relative;min-height:580px;overflow:hidden}.founder-photo img{object-position:50% 34%}.founder-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#17191b33,transparent 38%)}.founder-stamp{position:absolute;z-index:2;right:26px;bottom:26px;width:106px;height:106px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:var(--red);color:#fff;transform:rotate(-7deg);box-shadow:0 10px 25px #17191b26;border:1px solid #ffffff35}.founder-stamp b{font-family:Georgia,serif;font-style:italic;font-size:1.1rem}.founder-stamp small{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.founder-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:clamp(30px,4vw,58px)}.founder-copy h2{font-size:clamp(2.2rem,3.2vw,3.45rem);margin-bottom:28px;letter-spacing:-.04em}.founder-copy h2 em{letter-spacing:-.06em}.founder-lead{font-family:Georgia,serif;font-size:clamp(1.15rem,1.5vw,1.4rem);line-height:1.5;margin-bottom:22px}.founder-copy>p:not(.section-index,.founder-lead){color:var(--muted)}.founder-values{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.founder-values span{padding:6px 10px;background:#ffffff90;border:1px solid #d4d1cb;border-radius:5px;font-size:.78rem}.founder-sign{display:flex;flex-direction:column;margin-bottom:22px}.founder-sign span{font-family:Georgia,serif;font-style:italic;font-size:1.35rem}.founder-sign small{font-size:.78rem;color:var(--muted)}.founder-copy .plain-link{align-self:flex-start}
.projects{padding-block:clamp(70px,7vw,108px)}.section-intro{display:grid;grid-template-columns:1fr .65fr;column-gap:50px;align-items:end;margin-bottom:35px}.project-heading>.section-index{grid-column:1/-1}.section-intro>div:last-child{color:var(--muted);max-width:380px;justify-self:end}.original-tag{display:inline-block;margin-top:15px;font-size:.78rem;padding:5px 11px;border:1px solid var(--line);border-radius:99px;background:#fff}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.project{min-width:0;padding:10px 10px 18px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:transform .7s var(--ease),box-shadow .7s var(--ease)}.project:hover{transform:translateY(-4px);box-shadow:0 14px 32px #17191b0c}.project-media{position:relative;overflow:hidden;aspect-ratio:4/3;border-radius:8px;background:#e1e0dc}.project-media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.project:hover .project-media img{transform:scale(1.035)}.project figcaption{display:flex;gap:12px;padding:17px 6px 0}.project figcaption>b{color:var(--red);font-size:.8rem;font-variant-numeric:tabular-nums}.project small{font-size:.75rem;color:var(--muted)}.project h3{font-size:1.12rem;line-height:1.35;letter-spacing:-.025em;margin-top:3px}.project-grid-extra{margin-top:22px}.gallery-button{display:flex;align-items:center;justify-content:center;gap:30px;min-height:52px;margin:32px auto 0;padding:13px 22px;border:1px solid #17191b50;border-radius:8px;background:transparent;font-size:.9rem;font-weight:700;transition:background .5s,color .5s,border-color .5s}.gallery-button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
/* The enquiry surface */
.contact{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(28px,5vw,72px);padding:clamp(60px,7vw,100px) max(var(--pad),calc((100% - 1180px)/2));background:linear-gradient(125deg,#6e111b,#981420 65%,#7d121e);color:#fff}.contact:before{content:'';position:absolute;inset:0;z-index:-2;opacity:.18;background-image:linear-gradient(#ffffff26 1px,transparent 1px),linear-gradient(90deg,#ffffff26 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,#000,transparent)}.contact-orbit{position:absolute;z-index:-1;border:1px solid #ffffff15;border-radius:50%;pointer-events:none}.contact-orbit-a{width:520px;height:520px;left:-260px;top:-230px;box-shadow:0 0 0 80px #ffffff03}.contact-orbit-b{width:400px;height:400px;right:-180px;bottom:-200px}.contact .section-index{color:#ffc4cc}.contact-badge{display:inline-flex;align-items:center;gap:9px;padding:6px 11px;margin:8px 0 23px;border:1px solid #ffffff40;border-radius:99px;background:#ffffff08;font-size:.78rem}.contact-badge i{display:none}.contact h2{font-size:clamp(2.6rem,4vw,4.35rem);margin-bottom:25px}.contact h2 em{color:#ffccd2}.contact-lead>p:not(.section-index){color:#f4dce0;max-width:470px}.contact-points{margin:28px 0;border-top:1px solid #ffffff30}.contact-points>div{display:flex;align-items:center;gap:17px;padding:13px 0;border-bottom:1px solid #ffffff30}.contact-points b{color:#ffc4cc;font-size:.8rem}.contact-points strong,.contact-points small{display:block}.contact-points strong{font-size:.95rem}.contact-points small{color:#f0cbd0;font-size:.8rem}.contact-phone{display:flex;align-items:center;gap:13px;max-width:340px;padding:13px 16px;background:#fff;color:var(--ink);border-radius:10px;transition:transform .6s var(--ease),box-shadow .6s}.contact-phone:hover{transform:translateY(-3px);box-shadow:0 15px 30px #45081130}.contact-phone small{font-size:.78rem;color:var(--muted)}.form-card{position:relative;min-width:0;padding:clamp(25px,3.4vw,44px);background:#fff;color:var(--ink);border:1px solid #ffffff60;border-radius:16px;box-shadow:0 26px 65px #3b060d33}.form-card:before{content:'';position:absolute;inset:-8px 8px 8px -8px;border:1px solid #ffffff30;border-radius:20px;z-index:-1}.form-title{margin-bottom:24px}.form-title>span{font-size:.78rem;color:var(--red);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.form-title h3{font-size:clamp(1.6rem,2.2vw,2.25rem);line-height:1.14;margin:10px 0 12px}.form-title p{color:var(--muted);font-size:.9rem}.customer-choice{display:flex;gap:8px;margin:0 0 20px;padding:0;border:0;min-width:0}.customer-choice legend{font-size:.875rem;font-weight:700;margin-bottom:9px}.customer-choice label{position:relative;flex:1;min-width:0}.customer-choice input{position:absolute;width:1px;height:1px;opacity:0}.customer-choice span{display:block;text-align:center;padding:11px 8px;border:1px solid var(--line);border-radius:7px;font-weight:700;font-size:.875rem;transition:background .4s,color .4s,border-color .4s}.customer-choice input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}.customer-choice input:focus-visible+span{outline:3px solid var(--red);outline-offset:3px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{min-width:0;margin-bottom:17px}.field label{display:block;margin-bottom:7px;font-size:.875rem;font-weight:700}.field label span{font-weight:400;color:var(--muted)}.field input,.field select,.field textarea{width:100%;min-width:0;min-height:49px;border:1px solid #d7d7d2;background:#fafaf8;padding:12px 13px;border-radius:7px;color:var(--ink);font-size:1rem;transition:border-color .35s,background .35s,box-shadow .35s}.field textarea{resize:vertical;min-height:125px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #98142035;outline-offset:2px;border-color:var(--red);background:#fff;box-shadow:0 0 0 4px #98142008}.form-privacy{font-size:.8rem;color:var(--muted);margin-bottom:18px;line-height:1.6}.form-privacy a{text-decoration:underline;text-underline-offset:3px}.form-submit{width:100%;min-height:55px}.enquiry-result h4{font-size:1.55rem;line-height:1.25;margin:0}.enquiry-result p{margin:14px 0;color:var(--muted)}.send-options{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.send-options .button{flex:1}.enquiry-result details{margin:22px 0;padding:14px;background:#f5f4f1;border:1px solid var(--line);border-radius:8px}.enquiry-result summary{cursor:pointer;font-size:.9rem;font-weight:700}.enquiry-result textarea{width:100%;margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:5px;font-size:.9rem}.edit-enquiry{margin-top:12px}.selection-status{font-size:.875rem;color:var(--red);margin-top:10px}
.location{display:grid;grid-template-columns:1fr 1fr;margin-block:90px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.location-photo{position:relative;min-height:600px;overflow:hidden}.location-info{min-width:0;padding:clamp(28px,3.7vw,52px)}.location-info h2{font-size:clamp(2.25rem,3vw,3.2rem);margin-bottom:27px}.location-details{display:grid;grid-template-columns:1fr;gap:14px;padding:20px 0;margin-bottom:24px;border-block:1px solid var(--line);font-size:.95rem}.location-details small{display:block;color:var(--muted);font-size:.78rem;margin-bottom:4px}.location-details address{font-style:normal}.location-details a{display:block;width:fit-content;overflow-wrap:anywhere;transition:color .4s}.location-details a:hover{color:var(--red)}.map-shell{position:relative;min-height:240px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#e8e9e7}.map-shell iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.route-link{margin-top:15px}
.footer{padding:62px var(--pad) 25px;background:#17191b;color:#fff;border-top:3px solid var(--red)}.footer-top,.footer-bottom{max-width:1180px;margin-inline:auto}.footer-top{display:grid;grid-template-columns:1.2fr 1fr 1.1fr .7fr;gap:30px;padding-bottom:42px}.footer-brand{display:block;width:min(260px,100%)}.footer-brand img{width:100%;height:auto}.footer-identity p{color:#c0c3c5;margin-top:18px;font-size:.9rem}.footer-column>small{display:block;color:#f79ca6;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:15px}.footer-column p,.footer-column a{display:block;color:#c7c9cc;font-size:.875rem;line-height:1.8;margin-bottom:7px;overflow-wrap:anywhere}.footer-column a:hover{color:#fff;text-decoration:underline;text-underline-offset:5px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:22px;border-top:1px solid #ffffff24;color:#bfc1c3;font-size:.8rem}.footer-bottom>div{display:flex;flex-wrap:wrap;gap:22px}.footer-bottom a:hover{color:#fff}.mobile-contact{display:none}
/* Telephone numbers use clear lining figures, independent of the display font. */
.hero-call strong,.contact-phone strong,.location-details a[href^="tel:"],.footer-column a[href^="tel:"],.legal-section a[href^="tel:"]{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-weight:600;font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1;letter-spacing:.01em;line-height:1.45}
/* Legal page and progressive motion */
.legal-main{max-width:1320px;margin:auto;padding:65px var(--pad) 100px}.legal-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:end;margin-bottom:60px}.legal-hero h1{font-size:clamp(2.8rem,5vw,5rem)}.legal-hero p{max-width:470px;color:var(--muted)}.legal-grid{display:grid;grid-template-columns:190px minmax(0,1fr);gap:48px}.legal-nav{position:sticky;top:calc(var(--header) + 30px);align-self:start;display:flex;flex-direction:column;gap:10px}.legal-nav a{padding:12px 0;border-bottom:1px solid var(--line);font-weight:700}.legal-sections{display:grid;gap:25px;min-width:0}.legal-section{padding:clamp(24px,4vw,55px);border:1px solid var(--line);border-radius:16px;background:#fff;scroll-margin-top:calc(var(--header) + 20px)}.legal-section h2{font-size:clamp(2rem,3.5vw,3.4rem);margin-bottom:25px;overflow-wrap:anywhere}.legal-section h3{font-size:1.2rem;line-height:1.3;margin:27px 0 10px}.legal-section p{color:var(--muted);margin-bottom:14px;overflow-wrap:anywhere}.legal-section a{color:var(--red);text-decoration:underline;text-underline-offset:3px}.reveal-ready{transition:opacity .85s var(--ease),translate .85s var(--ease)}.reveal-ready:not(.is-visible){opacity:0;translate:0 16px}.reveal-ready:focus-within{opacity:1;translate:0}
@media(min-width:1500px){.hero-copy{padding-right:max(64px,calc((100vw - 1380px)/2))}}
@media(max-width:1100px){.header nav{gap:20px}.brand{width:195px}.hero h1{font-size:clamp(3rem,5.4vw,4.9rem)}.hero-copy{padding-inline:30px}.footer-top{grid-template-columns:1fr 1fr;gap:32px 45px}.founder-copy{padding:32px}.founder-copy h2{font-size:clamp(2rem,3.45vw,2.9rem)}}
@media(max-width:820px){:root{--header:74px;--pad:22px;--radius:16px}.header{padding-inline:20px}.brand{width:185px;height:62px}.menu-toggle{display:flex}.header nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:14px 22px 24px;background:#fff;box-shadow:0 20px 35px #17191b15;border-bottom:1px solid var(--line);max-height:calc(100svh - var(--header));overflow:auto}.header nav.is-open{display:flex}.header nav>a:not(.nav-contact){padding:15px 0;border-bottom:1px solid var(--line)}.header nav>a:after{display:none}.nav-contact{margin-top:15px}.hero{display:flex;flex-direction:column;min-height:0}.hero-image-wrap{min-height:clamp(340px,55vw,520px)}.hero-copy{padding:45px 32px 48px}.hero h1{font-size:clamp(3rem,8vw,4.6rem)}.hero-text{max-width:620px}.hero-actions{width:auto}.hero-scroll{display:none}.services{padding:32px;margin-top:55px}.services-head{grid-template-columns:1fr;gap:23px}.services-head>div:last-child{justify-self:start;max-width:600px}.commercial{grid-template-columns:1fr;margin-top:45px}.commercial-image{min-height:360px}.commercial-copy{padding:40px}.commercial h2{font-size:clamp(2.4rem,5.5vw,3.5rem)}.founder{grid-template-columns:1fr 1fr;margin-top:75px}.founder-photo{min-height:540px}.founder-copy{padding:28px}.founder-copy h2{font-size:clamp(1.8rem,4vw,2.7rem)}.founder-lead{font-size:1.12rem}.project-grid{gap:14px}.project h3{font-size:1rem}.project figcaption{gap:8px;padding-inline:0}.project small{font-size:.75rem}.section-intro{column-gap:25px}.section-intro h2{font-size:clamp(2.4rem,5vw,3.5rem)}.contact{grid-template-columns:1fr;gap:35px;padding-block:60px}.contact-lead>p:not(.section-index){max-width:600px}.contact-points{max-width:600px}.contact h2{font-size:clamp(2.8rem,6vw,4rem)}.form-card{padding:32px}.location{grid-template-columns:1fr;margin-block:65px}.location-photo{min-height:360px}.location-info{padding:35px}.location-details{grid-template-columns:1fr 1fr}.map-shell{min-height:270px}.mobile-contact{position:fixed;z-index:45;left:14px;right:14px;bottom:calc(12px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:.7fr 1.3fr;border:1px solid #17191b18;border-radius:10px;overflow:hidden;box-shadow:0 8px 30px #17191b26;background:#fff}.mobile-contact a{padding:14px;text-align:center;font-size:.875rem;font-weight:700}.mobile-contact a:last-child{background:var(--red);color:#fff}.footer{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}.legal-body .footer{padding-bottom:25px}.legal-hero{grid-template-columns:1fr;gap:25px}.legal-grid{grid-template-columns:1fr;gap:25px}.legal-nav{position:static;flex-direction:row;gap:24px}}
@media(max-width:600px){:root{--pad:18px}.hero-image-wrap{min-height:360px}.hero-copy{padding:35px 22px 40px}.hero-copy:before{margin-bottom:20px}.hero h1{font-size:clamp(2.75rem,10.6vw,3.9rem)}.kicker{font-size:.75rem;letter-spacing:.11em}.hero-actions{width:100%;display:grid;grid-template-columns:1fr}.hero-call{justify-content:center}.hero-meta{column-gap:12px;font-size:.75rem}.hero-meta span+span:before{margin-right:12px}.hero-slide figcaption{left:20px;max-width:calc(100% - 40px);bottom:74px}.hero-slide figcaption strong{font-size:1rem}.hero-slideshow>.media-label{left:20px;font-size:.75rem}.slider-pause{right:14px}.slider-arrow{width:40px;height:55px}.slider-prev{left:12px}.slider-next{right:12px}.services{padding:25px 18px}.services-head h2{font-size:clamp(2.2rem,8.5vw,3rem)}.services-head>div:last-child p{font-size:.95rem}.service-cards{grid-template-columns:1fr}.service-card{min-height:126px;padding:19px 16px;column-gap:14px}.commercial-copy{padding:32px 24px}.commercial-image{min-height:280px}.commercial h2{font-size:clamp(2.1rem,8vw,3rem)}.founder{grid-template-columns:1fr;margin-top:65px}.founder-photo{min-height:0;aspect-ratio:1/1}.founder-copy{padding:36px 24px}.founder-copy h2{font-size:clamp(2rem,8.3vw,3rem)}.founder-stamp{width:95px;height:95px;right:20px;bottom:20px}.projects{padding-block:65px}.section-intro{grid-template-columns:1fr;gap:22px}.project-heading>.section-index{margin-bottom:0}.section-intro>div:last-child{justify-self:start;max-width:none}.project-grid{grid-template-columns:1fr;gap:18px}.project{padding:9px 9px 17px}.project h3{font-size:1.1rem}.project figcaption{padding-inline:5px;gap:12px}.gallery-button{width:100%}.contact{padding-block:55px}.contact h2{font-size:clamp(2.6rem,10vw,3.7rem)}.form-card{padding:24px 20px}.form-row{grid-template-columns:1fr}.contact-phone{width:100%}.send-options{flex-direction:column}.location{margin-block:60px}.location-photo{min-height:280px}.location-info{padding:32px 22px}.location-info h2{font-size:clamp(2.15rem,8.4vw,3rem)}.location-details{grid-template-columns:1fr}.map-shell{min-height:240px}.footer-top{grid-template-columns:1fr;gap:28px}.footer-identity{padding-bottom:12px}.footer-bottom{display:block}.footer-bottom>div{gap:18px;margin-top:15px}.footer-brand{width:230px}.legal-main{padding:45px 18px 60px}.legal-hero{margin-bottom:35px}.legal-hero h1{font-size:clamp(2.6rem,10vw,3.8rem)}.legal-section{padding:25px 20px}.legal-header .nav-contact{min-height:40px;margin-top:0;font-size:.78rem;padding:10px 12px}.legal-header .brand{width:155px}}
@media(min-width:601px) and (max-width:900px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:601px) and (max-width:700px){.service-cards{grid-template-columns:1fr}.founder{grid-template-columns:1fr}.founder-photo{min-height:0;aspect-ratio:1/1}.founder-copy{padding:38px}.founder-copy h2{font-size:2.7rem}}
@media(max-width:420px){.service-card{grid-template-columns:28px minmax(0,1fr) 22px;column-gap:10px;padding:18px 12px}.service-card h3{font-size:1.125rem}.service-card svg{width:26px;height:26px}.service-card>b{width:22px;height:22px}.hero-meta span:last-child{width:100%}.hero-meta span:last-child:before{content:none}}
@media(hover:none){.slider-arrow{opacity:0;pointer-events:none}.hero-slideshow:focus-within .slider-arrow{opacity:1;pointer-events:auto}.service-card:hover,.project:hover{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-slide{transform:none}.reveal-ready:not(.is-visible){opacity:1;translate:0}}
