:root{--ink:#101719;--blue:#3198c4;--red:#df443c;--paper:#f5f5f0;--muted:#6d777b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);font-family:Arial,Helvetica,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:5px}a,button{touch-action:manipulation}.skip{position:fixed;top:-100px;z-index:99;background:white;padding:12px}.skip:focus{top:10px}header{height:96px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:white;border-bottom:1px solid #ffffff1a;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:10px}.brand>span{font-size:27px;font-weight:900;letter-spacing:1px;color:var(--blue)}.brand small{display:block;color:#c5ced2;font-size:7px;letter-spacing:1.4px;margin-top:3px}.brand img{display:block}nav{display:flex;gap:34px;align-items:center;font-size:13px}nav>a:hover{color:#63b8dc}.nav-cta{border:1px solid #ffffff45;padding:13px 22px;border-radius:3px}.nav-cta span{margin-left:24px}.menu{display:none}.hero{min-height:720px;height:calc(100svh - 96px);max-height:930px;display:grid;grid-template-columns:56% 44%;background:var(--ink);color:white;position:relative}.hero-copy{padding:70px 7% 75px 9%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;display:flex;align-items:center;gap:10px}.eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--red)}h1{font-size:clamp(48px,5.25vw,83px);letter-spacing:-3px;line-height:1.05;margin:29px 0 24px;font-weight:600}em{font-style:normal;color:var(--blue)}.hero-copy>p{font-size:16px;line-height:1.75;color:#b5bfc1}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:23px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:18px 23px;border:0;border-radius:3px;font-size:12px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.blue{background:var(--blue);color:#fff}.blue:hover{background:#227ea7}.text-link{font-size:12px;font-weight:600;display:inline-flex;gap:20px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:8px}.hero-meta{display:flex;gap:22px;padding-top:48px;font-size:8px;letter-spacing:1.2px;color:#9eabad}.hero-image{position:relative;overflow:hidden;background:#4c5351}.hero-image>img{width:100%;height:100%;object-fit:cover;object-position:42% center;filter:brightness(.85)}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,#101719d9)}.image-tag{position:absolute;bottom:65px;left:40px;z-index:2;display:grid;gap:6px;font-size:10px;letter-spacing:2px}.hero-target{position:absolute;right:28px;top:28px;width:66px;height:66px;border:1px solid #ffffff80;border-radius:50%;font-size:40px;font-weight:100;display:grid;place-items:center;color:white}.scroll-note{position:absolute;bottom:26px;left:5%;font-size:8px;letter-spacing:2px;color:#aab7b9}.section{padding:100px 7%;scroll-margin-top:10px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:45px}h2{font-size:clamp(34px,3.6vw,53px);font-weight:500;letter-spacing:-1.8px;line-height:1.1;margin:20px 0 0}.muted{color:#788285}.section-heading>p{font-size:14px;color:var(--muted);line-height:1.8;max-width:330px;margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cfd4d2;border-bottom:1px solid #cfd4d2}.service-grid article{padding:35px 30px 35px 0}.service-grid article+article{padding-left:30px;border-left:1px solid #cfd4d2}.service-top{display:flex;justify-content:space-between;align-items:center}.number{font-size:11px;color:#7d8585}.service-top svg{width:43px;height:43px;fill:none;stroke:var(--blue);stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round}h3{font-size:24px;font-weight:500;letter-spacing:-.7px;margin:28px 0 14px}.service-grid p{font-size:13px;line-height:1.9;color:var(--muted);min-height:74px;max-width:290px}.service-grid a{font-size:11px;font-weight:bold;display:flex;justify-content:space-between;padding-top:22px}.service-grid a span{color:var(--blue);font-size:18px}.work{background:#e9eeec}.filters{display:flex;gap:9px;margin:0 0 25px;flex-wrap:wrap}.filters button{padding:10px 17px;border:1px solid #c9d2ce;background:transparent;border-radius:30px;font-size:11px;color:#54615e}.filters button.selected{background:var(--ink);color:white;border-color:var(--ink)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project{border:0;background:var(--ink);padding:0;position:relative;text-align:left;aspect-ratio:4/5;overflow:hidden;border-radius:2px;color:white}.project[hidden]{display:none}.project img{width:100%;height:100%;object-fit:cover;transition:transform .45s;filter:brightness(.9)}.project:hover img{transform:scale(1.04)}.project:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#000b)}.project>span{position:absolute;bottom:24px;left:22px;right:22px;font-size:16px;z-index:1;letter-spacing:-.3px}.project small{display:block;font-size:8px;letter-spacing:1.6px;color:#ccd2d3;margin-bottom:9px}.project b{float:right;font-size:20px;font-weight:400}.gallery-note{font-size:11px;color:#77827f;margin-top:20px}.about{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.about-art{aspect-ratio:1;background:var(--ink);position:relative;overflow:hidden;display:flex;align-items:center;padding:10%;color:white}.about-art>span{font-size:clamp(45px,5vw,78px);letter-spacing:-3px;line-height:1;z-index:1;font-weight:600}.about-art small{position:absolute;bottom:30px;left:30px;font-size:7px;letter-spacing:1.5px;color:#9daeb3}.ring{position:absolute;border:1px solid #358bb06b;border-radius:50%;width:80%;height:80%;top:10%;left:35%}.ring-two{width:48%;height:48%;left:51%;top:26%;border-color:#df443c80}.cross-x{position:absolute;height:1px;width:100%;background:#df443c60;left:0;top:50%}.cross-y{position:absolute;width:1px;height:100%;background:#df443c60;left:75%;top:0}.about-copy>p{line-height:1.9;font-size:14px;color:var(--muted);margin:26px 0}.about-copy .text-link{margin-top:9px}.faq{padding-top:25px;display:grid;grid-template-columns:1fr 1fr;gap:10%}.faq h2{font-size:35px}details{border-bottom:1px solid #cfd4d2;padding:22px 0}summary{font-size:14px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:15px}summary:after{content:'+';color:var(--blue);font-size:20px}details[open] summary:after{content:'−'}details p{font-size:13px;line-height:1.9;color:var(--muted);max-width:440px}.contact{background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.contact .eyebrow{color:#8d9b9e}.contact h2{font-size:clamp(42px,4.8vw,68px);margin:25px 0}.contact-copy>p{font-size:15px;line-height:1.9;color:#aebcbe;max-width:350px;margin-bottom:35px}.light{background:#f1f4f2;color:var(--ink);font-size:11px}.handle{display:block;font-size:12px;color:#9baeb3;margin-top:24px}form{border-top:2px solid var(--blue);padding-top:5px}form h3{font-size:24px;margin:23px 0 10px}form>p{font-size:12px;color:#aebcbe;line-height:1.8;margin-bottom:25px}label{display:block;font-size:11px;color:#c5d0d1}input,select,textarea{width:100%;margin:8px 0 18px;padding:13px 12px;border:1px solid #465255;border-radius:2px;color:#f0f4f5;background:#1b2529;font-size:13px;min-width:0}input:focus,select:focus,textarea:focus{outline:1px solid var(--blue);border-color:var(--blue)}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#8b9a9f}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}form .button{width:100%}.privacy{display:block;font-size:10px;color:#98a9ad;line-height:1.7;margin-top:12px}#prepared{margin-top:24px;padding-top:22px;border-top:1px solid #3c484b}.prepared-actions{display:flex;align-items:center;gap:20px;font-size:12px}.prepared-actions button{border:1px solid #6a848a;background:transparent;padding:12px;color:white;border-radius:3px}#status{font-size:11px;color:#92d0e6;line-height:1.6}footer{background:#0c1113;color:#aab6b8;padding:45px 7% 25px}footer>p{font-size:11px;margin:22px 0 35px}footer>div{border-top:1px solid #ffffff1a;padding-top:23px;display:flex;justify-content:space-between;font-size:10px}dialog{border:0;padding:24px;background:#101719;color:white;width:min(550px,94vw);max-height:92dvh;border-radius:5px}dialog::backdrop{background:#000d}dialog>img{display:block;max-width:100%;width:auto;max-height:65dvh;margin:14px auto;object-fit:contain}dialog>button{display:block;margin-left:auto}dialog button{border:1px solid #657174;color:white;background:transparent;padding:10px 15px;border-radius:3px;font-size:12px}dialog p{font-size:13px;line-height:1.6}dialog>div{display:flex;justify-content:space-between}@media(min-width:1500px){.section{padding-left:max(7%,calc((100vw - 1250px)/2));padding-right:max(7%,calc((100vw - 1250px)/2))}}@media(max-width:900px){header{height:82px}.hero{min-height:640px;height:auto;grid-template-columns:58% 42%}.hero-copy{padding:60px 7% 80px 8.6%}h1{font-size:52px}.hero-actions{gap:20px;align-items:flex-start;flex-direction:column}.hero-meta{gap:12px;font-size:6px}.section{padding:75px 6%}.service-grid article{padding-right:20px}.service-grid article+article{padding-left:20px}.gallery{gap:12px}.project>span{font-size:13px;left:15px;right:15px;bottom:18px}.about,.contact,.faq{gap:6%}.contact .button{gap:12px;padding:17px}.contact h2{font-size:44px}}@media(max-width:600px){html{scroll-padding-top:20px}header{padding:0 6%;height:81px}.brand>span{font-size:23px}.brand small{font-size:6px}.brand img{width:32px}.menu{display:flex;gap:14px;border:0;background:transparent;color:white;font-size:12px;align-items:center;padding:12px 0 12px 12px}.menu span{font-size:19px}nav{display:none;position:absolute;top:81px;left:0;right:0;padding:25px 6%;background:var(--ink);border-bottom:1px solid #3c4c52}nav.open{display:flex;align-items:stretch;flex-direction:column;gap:23px}.nav-cta{display:flex;justify-content:space-between}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:42px 6% 35px;display:block}h1{font-size:clamp(43px,11.5vw,65px);letter-spacing:-2px;margin-top:24px;line-height:1.04}.eyebrow{font-size:8px;letter-spacing:1.7px}.hero-copy>p{font-size:14px;line-height:1.8;margin-top:20px}.hero-actions{flex-direction:row;align-items:center;gap:20px;margin-top:26px}.button{padding:16px;font-size:10px;gap:16px}.text-link{font-size:10px;gap:12px}.hero-meta{padding-top:30px;gap:17px;font-size:6px;letter-spacing:1px}.hero-image{height:330px;margin:0 6% 22px}.hero-image>img{object-position:center 42%}.hero-target{width:40px;height:40px;font-size:25px;top:16px;right:16px}.image-tag{bottom:24px;left:20px;font-size:8px}.scroll-note{display:none}.section{padding:60px 6%}.section-heading{display:block;margin-bottom:30px}h2{font-size:35px;letter-spacing:-1.2px;margin-top:16px}.section-heading>p{font-size:13px;line-height:1.9;max-width:none;margin-top:22px}.service-grid{display:block}.service-grid article,.service-grid article+article{padding:26px 0;border-left:0}.service-grid article+article{border-top:1px solid #cfd4d2}.service-top svg{width:34px;height:34px}.service-grid h3{font-size:25px;margin:12px 0}.service-grid p{min-height:0;max-width:none;margin:10px 0}.service-grid a{padding-top:10px}.work .section-heading>.text-link{margin-top:24px}.filters{gap:6px}.filters button{font-size:10px;padding:9px 12px}.gallery{grid-template-columns:1fr 1fr;gap:10px}.project{aspect-ratio:3/4}.project>span{font-size:11px;left:11px;right:11px;bottom:16px}.project small{font-size:6px;letter-spacing:1px;margin-bottom:6px}.project b{font-size:15px}.gallery-note{font-size:10px;line-height:1.7}.about{display:flex;flex-direction:column;gap:35px}.about-art{width:100%;aspect-ratio:1.1}.about-art>span{font-size:65px}.about-copy p{font-size:13px;margin:21px 0}.faq{display:block;padding-top:0}.faq>div+div{margin-top:20px}.faq h2{font-size:31px}.contact{display:block}.contact h2{font-size:46px}.contact-copy>p{font-size:13px}.contact-copy .button{font-size:11px;padding:17px 20px}.contact form{margin-top:45px}input,textarea,select{font-size:16px}form h3{font-size:23px}.form-row{gap:10px}footer{padding:35px 6% 25px}footer>div{font-size:8px;gap:15px;line-height:1.7}dialog{padding:17px}dialog>img{max-height:60dvh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Supplied official logo; retain its colours and proportions. */
header,footer{background:#000}.brand img.official-logo{width:280px;height:82px;object-fit:cover;display:block;max-width:100%;border:0}footer .brand img.official-logo{width:250px;height:74px}nav.open{background:#000}@media(max-width:600px){.brand img.official-logo{width:218px;height:64px}footer .brand img.official-logo{width:235px;height:69px}}

.instagram-icon{width:23px;height:23px;flex:none;vertical-align:middle}.social-icon{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.direct-contact{display:grid;gap:15px;margin:26px 0 30px}.direct-phone{font-size:25px;font-weight:600;letter-spacing:-.5px;color:#fff}.direct-email{font-size:15px;color:#b1dcf0;overflow-wrap:anywhere}.direct-contact a:hover,.footer-contact a:hover{color:var(--blue)}.contact-copy .light{gap:13px}.contact-copy .light>span{line-height:1.5}footer>div.footer-contact{border:0;padding:0;margin:0 0 30px;display:flex;align-items:center;justify-content:flex-start;gap:28px;flex-wrap:wrap}.footer-contact .direct-phone{font-size:16px;letter-spacing:0}.footer-contact .direct-email{font-size:13px}.footer-social{display:inline-flex;align-items:center;gap:10px;font-size:12px}.prepared-actions{flex-wrap:wrap;row-gap:14px}.faq details a{color:#237fa5;text-decoration:underline;overflow-wrap:anywhere}@media(max-width:600px){.direct-phone{font-size:25px}.direct-email{font-size:15px}.social-icon{align-self:flex-start}.footer-contact{flex-direction:column;align-items:flex-start!important;gap:16px!important}.contact-copy .light{gap:13px;font-size:11px}.prepared-actions{column-gap:16px}}

/* Instagram is visible without opening the mobile menu. */
.instagram-badge{width:42px;height:42px;min-width:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:radial-gradient(circle at 28% 105%,#ffd776 0%,#fbae40 18%,#f04465 45%,#c431a4 67%,#535bd4 100%);box-shadow:0 3px 12px #0002;color:#fff}.instagram-badge .instagram-icon{width:27px;height:27px;stroke:#fff}.instagram-feature{display:flex;align-items:center;gap:13px;margin-top:28px;padding:12px 16px 12px 12px;border:1px solid #ffffff38;border-radius:9px;max-width:345px;width:100%;color:white;background:#ffffff06}.instagram-feature strong{display:block;font-size:12px;font-weight:600}.instagram-feature small{display:block;font-size:11px;color:#b6c7cd;margin-top:5px}.instagram-feature>b{margin-left:auto;font-size:20px;font-weight:400}.instagram-feature:hover{background:#ffffff12}.header-instagram{display:none}.contact-copy .light .instagram-badge{width:36px;height:36px;min-width:36px;border-radius:10px}.contact-copy .light .instagram-icon{width:24px;height:24px}.footer-social .instagram-badge{width:34px;height:34px;min-width:34px;border-radius:9px}.footer-social .instagram-icon{width:23px;height:23px}.hero-meta{padding-top:28px}@media(max-width:600px){header{gap:12px}.brand{margin-right:auto}.brand img.official-logo{width:185px;height:55px}.header-instagram{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:40px}.header-instagram .instagram-badge{width:34px;height:34px;min-width:34px;border-radius:9px}.header-instagram .instagram-icon{width:24px;height:24px}.menu{font-size:0;padding-left:0;gap:0;min-width:28px;min-height:44px}.menu span{font-size:22px}.instagram-feature{margin-top:23px;max-width:none;padding:11px 13px}.instagram-feature strong{font-size:12px}.instagram-feature small{font-size:11px}.hero-meta{padding-top:23px}}@media(max-width:350px){.brand img.official-logo{width:160px;height:49px}header{gap:8px}}

/* Always visible call link directly below the logo and navigation. */
.top-call{display:flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:12px 6%;background:#3198c4;color:#071b24;font-size:15px;line-height:1.5;transition:background .2s}.top-call svg{width:20px;height:20px;flex:none}.top-call strong{font-weight:800;white-space:nowrap}.top-call .call-hint{font-size:11px;margin-left:14px}.top-call:hover{background:#63b8dc}.top-call:focus-visible{outline:3px solid #fff;outline-offset:-5px}@media(max-width:350px){.top-call{gap:8px;font-size:14px}.top-call .call-hint{margin-left:2px;font-size:10px}}

/* Phone icon beside Instagram, including when the mobile menu is closed. */
.header-phone{display:none}.nav-cta{display:inline-flex;align-items:center;gap:10px}.nav-cta>svg{width:20px;height:20px;flex:none}.nav-cta span{margin-left:0}@media(max-width:600px){header{gap:8px}.brand img.official-logo{width:clamp(135px,40vw,185px);height:auto;aspect-ratio:280/82}.header-phone{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;flex:none;border-radius:12px;background:var(--blue);color:#071b24}.header-phone svg{width:24px;height:24px}.header-instagram{flex:none}.menu{flex:none}.header-phone:hover{background:#63b8dc}}
