:root{--red:#cf252b;--ink:#182229;--muted:#59636a;--line:#dce0e2;--pale:#f2f4f5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--red);outline-offset:4px}.wrap{width:min(1220px,calc(100% - 80px));margin:auto}.concept{text-align:center;background:var(--ink);color:#fff;font-size:12px;padding:7px 16px;letter-spacing:.04em}header{height:94px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:white;position:relative;z-index:2}.brand img{width:156px;display:block}nav{display:flex;gap:30px;align-items:center}nav a{text-decoration:none;font-size:14px;font-weight:700}.nav-cta{background:var(--ink);color:white;padding:13px 20px}#menu{display:none}.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:64px;align-items:center;padding-top:78px;padding-bottom:76px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700;color:var(--red);margin:0 0 20px}h1{font-size:clamp(46px,5.3vw,76px);line-height:1.07;letter-spacing:-.055em;margin:0 0 27px;font-weight:700}h1 span{color:var(--red)}.intro{font-size:19px;color:var(--muted);max-width:510px;line-height:1.65}.actions{display:flex;align-items:center;gap:25px;margin:30px 0 40px}.button{display:inline-block;text-decoration:none;cursor:pointer;border:0;border-radius:0;font-weight:700;font-size:14px;padding:16px 21px;text-align:center}.red{background:var(--red);color:white}.dark{background:var(--ink);color:white}.outline{border:1px solid var(--ink);background:transparent}.text-link{font-size:14px;font-weight:700}.hero-note{border-left:3px solid var(--red);padding-left:16px;font-size:14px;display:flex;flex-direction:column}.hero-note span{color:var(--muted);font-size:13px}.hero-visual{background:#f6f7f8;border:1px solid var(--line);min-height:440px;display:flex;flex-direction:column;justify-content:space-between;padding:28px;position:relative}.hero-visual img{width:100%;max-height:320px;object-fit:contain;mix-blend-mode:multiply}.drawing-label{font-size:12px;letter-spacing:.12em;color:var(--muted)}.visual-caption{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;font-size:13px}.technical-strip{background:var(--ink);color:white;padding:30px 0 21px}.strip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.strip-grid>div{display:flex;flex-direction:column;border-right:1px solid #485057}.strip-grid>div:last-child{border:0}.strip-grid strong{font-size:28px;letter-spacing:-.03em}.strip-grid span{font-size:14px;color:#bcc6cc}.fine{color:#bcc6cc;font-size:12px;padding-top:20px}.section{padding-top:88px;padding-bottom:88px}h2{font-size:clamp(32px,3.5vw,47px);line-height:1.15;letter-spacing:-.045em;margin:0 0 24px}h3{font-size:21px;line-height:1.3;letter-spacing:-.02em}.section-top{display:flex;align-items:end;gap:90px;justify-content:space-between;margin-bottom:35px}.section-top>div{flex:1}.section-top>p{width:350px;color:var(--muted);margin-bottom:26px}.application-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.application{text-align:left;background:white;border:0;border-right:1px solid var(--line);padding:28px 24px;cursor:pointer;color:var(--ink)}.application:last-child{border-right:0}.application span{font-size:12px;color:var(--muted)}.application h3{margin:22px 0 12px}.application p{font-size:14px;color:var(--muted);margin:0}.application.selected{background:var(--ink);color:white}.application.selected p,.application.selected span{color:#c2cbd1}.app-result{display:flex;gap:32px;align-items:center;background:var(--pale);padding:30px;margin-top:20px}.app-result>div{flex:1}.app-result .eyebrow{margin-bottom:9px}.app-result h3{margin:0}.app-result p{font-size:14px;color:var(--muted);margin-bottom:0}.app-result .text-link{max-width:165px}.other-apps{font-size:14px;color:var(--muted);margin-bottom:0}.products-section{background:var(--pale)}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.product-grid article{background:white;padding:24px}.product-image{height:220px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line);margin-bottom:26px}.product-image img{width:100%;height:190px;object-fit:contain}.product-grid .eyebrow{font-size:11px;margin-bottom:12px}.product-grid h3{margin:0 0 16px}.product-grid p:not(.eyebrow){color:var(--muted);font-size:14px}.product-grid a{font-size:14px;font-weight:700}.catalogue-note{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:36px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.about-grid p:not(.eyebrow){color:var(--muted)}.about-grid figure{margin:0;background:var(--ink);color:white}.about-grid figure>img{width:100%;height:350px;object-fit:cover;display:block}figcaption{padding:26px;display:flex;flex-direction:column;gap:9px}figcaption span{font-size:12px;color:#bac6cf}figcaption strong{font-size:22px}figcaption a{font-size:14px}.affiliation{margin-top:32px;border-top:1px solid var(--line);padding-top:24px;display:flex;gap:24px;align-items:center}.affiliation img{width:104px}.affiliation p{font-size:14px;margin:5px 0}.affiliation a{font-size:14px;font-weight:700}.enquiry-section{background:var(--ink);color:white}.enquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.enquiry-grid>.eyebrow{color:#ff7175}.enquiry-grid>div>p:not(.eyebrow){color:#bac6cf}.enquiry-grid .eyebrow{color:#ff7175}.contact-link{display:block;font-size:20px;margin-top:20px}address{font-size:14px;font-style:normal;color:#bac6cf;margin-top:26px}form{background:white;color:var(--ink);padding:32px}label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700;margin-bottom:16px}input,select,textarea{border:1px solid #bcc4c8;background:#fff;width:100%;min-width:0;padding:11px;font-size:16px;border-radius:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-note{font-size:12px;color:var(--muted);margin-bottom:0}#form-status{font-size:14px;margin-bottom:0}footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:35px;padding-bottom:35px;font-size:14px}footer img{width:110px}footer p span{color:var(--muted);font-size:12px}footer a{font-size:12px}@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.hero{gap:30px}.hero-visual{min-height:360px}.actions{align-items:start;flex-direction:column;gap:17px}.app-result{flex-wrap:wrap}.app-result>div{flex-basis:100%}.about-grid,.enquiry-grid{gap:40px}.section-top{gap:35px}}@media(max-width:700px){.wrap{width:calc(100% - 36px)}header{height:76px;padding:0 18px}.brand img{width:130px}#menu{display:block;background:white;border:1px solid var(--line);padding:9px 13px}nav{display:none;position:absolute;top:76px;left:0;right:0;background:white;padding:22px;box-shadow:0 10px 16px #0001;flex-direction:column;align-items:stretch;gap:20px}nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:42px;padding-bottom:42px;gap:30px}h1{font-size:48px}.intro{font-size:17px}.actions{flex-direction:row;align-items:center;gap:18px;flex-wrap:wrap}.hero-visual{min-height:280px;padding:20px}.hero-visual img{max-height:240px}.strip-grid{grid-template-columns:1fr;gap:20px}.strip-grid>div{border-right:0;border-bottom:1px solid #485057;padding-bottom:18px}.strip-grid strong{font-size:25px}.fine{padding-top:8px}.section{padding-top:54px;padding-bottom:54px}.section-top{display:block}.section-top>p{width:auto;margin-bottom:24px}.application-grid{grid-template-columns:1fr 1fr}.application{padding:22px 15px}.application:nth-child(2){border-right:0}.application:nth-child(-n+2){border-bottom:1px solid var(--line)}.application h3{font-size:19px;margin:14px 0 10px}.app-result{padding:22px;gap:20px}.app-result .text-link{max-width:none}.product-grid{grid-template-columns:1fr}.product-image{height:200px}.product-image img{height:175px}.catalogue-note{align-items:start;flex-direction:column;gap:8px}.about-grid,.enquiry-grid{grid-template-columns:1fr;gap:35px}.about-grid figure>img{height:250px}.affiliation{gap:16px}.affiliation img{width:82px}form{padding:22px}.form-row{grid-template-columns:1fr;gap:0}footer{flex-wrap:wrap;gap:14px;justify-content:start}footer p{flex:1}footer a{width:100%}.visual-caption{font-size:12px;gap:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Shared responsive spacing: aligned content edges and an even section rhythm. */
:root{--page-gutter:48px;--page-width:1280px;--section-space:88px;--hero-space:72px;--card-space:24px}
.wrap{width:100%;max-width:var(--page-width);margin-inline:auto;padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
@media(max-width:1050px){:root{--page-gutter:32px}}
@media(max-width:760px){:root{--page-gutter:24px;--section-space:56px;--hero-space:48px}}
header{max-width:var(--page-width);margin-inline:auto;padding-inline:var(--page-gutter)}
.hero{padding-block:var(--hero-space)}
.section{padding-block:var(--section-space)}
.product-grid article,.app-result,form,figcaption{padding:var(--card-space)}
@media(max-width:700px){nav{padding-inline:var(--page-gutter)}}

.project-photos{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#fff}.project-photos img{display:block;width:100%;height:310px;object-fit:cover}@media(max-width:700px){.project-photos img{height:220px}}

/* Enquiry forms and a compact, accessible contact widget. */
.enquiry-form{background:#fff;color:var(--form-ink,#142855);padding:24px;margin-top:28px;border:1px solid #d5dfe7}
.enquiry-form label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;margin-bottom:18px}
.enquiry-form input,.enquiry-form select,.enquiry-form textarea{font:inherit;color:inherit;background:#fff;border:1px solid #acbac8;border-radius:0;width:100%;min-width:0;padding:12px;font-size:16px;line-height:1.5}
.enquiry-form input:focus-visible,.enquiry-form textarea:focus-visible{outline:3px solid #367ac1;outline-offset:3px}
.enquiry-form .form-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.enquiry-form textarea{resize:vertical;min-height:130px}
.enquiry-form button{cursor:pointer;border:0;font:inherit;min-height:48px;padding:14px 20px}
.enquiry-form .form-help{font-size:13px;line-height:1.6;color:#596773;margin:16px 0 0}
.draft-review{margin-top:20px;padding:16px;background:#f1f5f8;color:var(--form-ink,#142855);border:1px solid #d5dfe7}
.draft-review[hidden]{display:none}
.draft-review h3{font-size:18px;letter-spacing:0;line-height:1.4;margin:0 0 12px}
.draft-review pre{font:inherit;font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 18px}
.draft-review p{font-size:13px;color:#596773}
.contact-widget{position:fixed;right:24px;bottom:24px;z-index:20;font:14px/1.5 Arial,sans-serif;color:#fff}
.contact-widget>button{display:flex;align-items:center;gap:10px;border:0;border-radius:28px;background:var(--widget-ink,#142855);color:#fff;min-height:52px;padding:14px 20px;box-shadow:0 4px 18px #0003;cursor:pointer;font:inherit;font-weight:bold}
.contact-widget>button:focus-visible,.widget-panel a:focus-visible{outline:3px solid #579eea;outline-offset:4px}
.widget-panel{position:absolute;bottom:66px;right:0;width:280px;max-width:calc(100vw - 48px);background:#fff;color:#172b3c;box-shadow:0 8px 30px #0003;border:1px solid #d5dfe7;border-radius:12px;padding:20px}
.widget-panel[hidden]{display:none}
.widget-panel h2{font:bold 18px/1.4 Arial,sans-serif;letter-spacing:0;margin:0 0 16px}
.widget-panel a{display:block;padding:12px 14px;margin-top:10px;background:#eef3f6;color:#172b3c;text-decoration:none;font-weight:bold;border-radius:6px}
.widget-panel .widget-whatsapp{background:#157a46;color:#fff}
.widget-panel a[hidden]{display:none}
.widget-panel p{font-size:12px;color:#596773;margin:14px 0 0}
body{padding-bottom:88px}
@media(max-width:760px){.enquiry-form .form-pair{grid-template-columns:1fr;gap:0}.contact-widget{right:16px;bottom:max(16px,env(safe-area-inset-bottom))}.widget-panel{max-width:calc(100vw - 32px)}}

:root{--widget-ink:#182229;--form-ink:#182229}
