:root{--ink:#152e3b;--paper:#f7f6f1;--muted:#5d6d73;--line:#d5ddd9;--sage:#d6e6d9;--mint:#c5e4d3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a,button{touch-action:manipulation}img{max-width:100%}p{line-height:1.8}h1,h2,h3{font-weight:500}h1{font-size:clamp(48px,5.8vw,82px);line-height:1.08;letter-spacing:-3px;margin:30px 0}h2{font-size:42px;line-height:1.17;letter-spacing:-1.4px;margin:16px 0 24px}h3{font-size:24px;line-height:1.3;letter-spacing:-.5px}em{font-family:Georgia,serif;font-weight:normal}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:bold;text-transform:uppercase}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#43846b;margin-right:8px}.section{padding:80px 6%}.section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:35px}.section-head>p{font-size:14px;color:var(--muted)}header{display:flex;align-items:center;justify-content:space-between;gap:25px;height:100px;padding:0 6%;border-bottom:1px solid var(--line);background:#f7f6f1f5;position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.brand{display:inline-flex;flex-shrink:0}.brand img{display:block;width:190px;height:auto}nav{display:flex;align-items:center;gap:28px;font-size:13px}header nav a{padding:10px 0;white-space:nowrap}header nav a[aria-current=page]{color:#477b60;border-bottom:2px solid #477b60}.nav-cta{border-bottom:1px solid var(--ink)}.skip-link{position:absolute;left:12px;top:-100px;padding:15px;background:var(--ink);color:white;z-index:100}.skip-link:focus{top:10px}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5%;padding:50px 6% 60px;min-height:650px}.intro{font-size:19px;line-height:1.8;color:var(--muted);max-width:440px}.hero-note{font-size:11px;color:var(--muted);margin-top:24px}.hero-art{height:520px;position:relative;overflow:hidden;background:#dce7df}.hero-art>img{width:100%;height:100%;object-fit:cover;display:block}.art-caption{position:absolute;bottom:0;left:0;right:0;padding:60px 24px 24px;display:flex;justify-content:space-between;gap:20px;background:linear-gradient(transparent,#102e366e);color:white;font-size:9px;letter-spacing:1px}.art-label{position:absolute;top:22px;left:22px;background:#f7f6f1ed;padding:12px 16px;font-size:9px;letter-spacing:1.4px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;background:var(--ink);color:white;padding:18px 25px;border:0;cursor:pointer;font-size:13px;margin-top:18px}.button:hover{background:#31594f}.text-link{display:inline-block;font-size:13px;padding:12px 0;border-bottom:1px solid;line-height:1.5}.home-overview{border-top:1px solid var(--line)}.overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.overview-card{display:flex;flex-direction:column;border:1px solid var(--line);padding:30px;transition:background .2s}.overview-card:hover{background:#e9eee6}.overview-card h3{margin-top:30px}.overview-card>p{font-size:15px;color:var(--muted);margin-bottom:25px}.overview-card .text-link{align-self:flex-start;margin-top:auto}.home-links{display:grid;grid-template-columns:1fr 1fr;gap:7%;background:#e9ede6}.home-links>a{display:block}.home-links h2{font-size:35px}.home-links p:not(.eyebrow){font-size:15px;color:var(--muted);max-width:430px}.page-cta{background:var(--sage);text-align:center}.page-cta h2{font-size:44px}.page-intro{padding-top:65px;padding-bottom:60px;border-bottom:1px solid var(--line)}.page-intro h1{font-size:clamp(45px,5vw,70px);max-width:1050px}.page-intro>p:not(.eyebrow){font-size:18px;color:var(--muted);max-width:760px}.page-intro .eyebrow a{text-decoration:underline;text-underline-offset:4px}.service-overview{background:#edf0e9}.approach{display:grid;grid-template-columns:1fr 1fr;gap:10%}.approach-intro{color:var(--muted);max-width:380px}.principle{font-size:24px;line-height:1.6;margin-top:40px}.steps article{display:flex;gap:25px;padding:15px 0;border-top:1px solid var(--line)}.steps article>span{font-size:11px;padding-top:23px;color:#6f897b}.steps h3{font-size:21px}.steps p{font-size:14px;color:var(--muted)}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:8%;border-top:1px solid var(--line)}.faq>div>p:not(.eyebrow){color:var(--muted);font-size:14px}.faq details{border-bottom:1px solid var(--line);padding:23px 0}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{cursor:pointer;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:20px;line-height:1.4}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';font-size:22px;color:#5b7b69}.faq details[open] summary:after{content:'−'}.faq details p{font-size:14px;color:var(--muted);padding-right:25px}.about-expanded{display:grid;grid-template-columns:1fr 1fr;gap:7%;background:#e9ede6;align-items:center}.about-photo{min-width:0}.about-photo img{width:100%;height:480px;object-fit:cover;display:block}.about-photo>span{display:block;background:var(--ink);color:#d4e7dc;padding:18px;font-size:9px;letter-spacing:1.3px}.about-copy p{font-size:15px;color:var(--muted)}.about-copy p.lead{font-size:21px;color:var(--ink)}.about-copy .eyebrow{font-size:10px}.principles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:30px}.principles-grid article>span{font-size:12px;color:#688e7b}.principles-grid p{font-size:15px;color:var(--muted)}.service-detail,.delivery{display:grid;grid-template-columns:1fr 1fr;gap:10%}.service-detail p,.delivery p{font-size:15px;color:var(--muted)}.detail-capabilities article{border-top:1px solid var(--line);padding:10px 0 20px}.detail-capabilities h3{font-size:23px}.delivery{background:#e9ede6}.delivery ul{padding:0;list-style:none}.delivery li{padding:18px 0;border-bottom:1px solid #c1cfc2;font-size:15px;line-height:1.5}.delivery li:before{content:'↗';margin-right:14px;color:#477b60}.small-note{font-size:12px!important;color:var(--muted);line-height:1.7}.related{display:flex;justify-content:space-between;align-items:center;gap:25px}.related h2{font-size:34px}.project-jump{display:flex;padding:24px 6%;gap:35px;background:var(--ink);color:#e6efe7;font-size:12px;flex-wrap:wrap}.project-jump a:hover{text-decoration:underline}.application-section{border-bottom:1px solid var(--line)}.application-section:nth-of-type(odd){background:#edf0e9}.application-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:28px}.application-card{padding:0;overflow:hidden;background:#fbfcf8;border:1px solid var(--line)}.application-card h2{font-size:33px;max-width:440px}.application-copy>p:not(.eyebrow){font-size:14px;color:var(--muted)}.application-card p.application-lead{font-size:18px;color:var(--ink);line-height:1.65}.application-card p.application-tags{font-size:11px;padding-top:20px;border-top:1px solid var(--line);line-height:2;color:#456450}.contact-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:7%;align-items:start}.contact-layout h2{font-size:27px;letter-spacing:0;margin:0 0 35px}.contact-layout form{display:flex;flex-direction:column}.contact-layout label{font-size:15px;margin:0 0 10px}.contact-layout input,.contact-layout textarea{width:100%;background:#f1f0ec;border:1px solid #d8d9d3;padding:15px;margin:0 0 28px;color:var(--ink);border-radius:0;min-height:50px}.contact-layout textarea{resize:vertical;min-height:150px}.contact-info{background:#f1f0ec;margin:0;padding:30px}.contact-info>div{display:grid;grid-template-columns:90px 1fr;min-height:65px;align-items:start;padding:15px 0}.contact-info dt{font-size:17px}.contact-info dd{margin:0;min-height:24px}.send-button{align-self:flex-start;min-width:170px;margin-top:0;background:#43846b;letter-spacing:1px}.send-button:disabled{cursor:not-allowed;opacity:.65}.privacy-copy{max-width:1000px}.privacy-copy h2{font-size:27px;margin-top:30px}.privacy-copy p{font-size:15px;color:var(--muted)}footer{padding:45px 6%;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px}footer .brand img{width:150px}.footer-brand p{margin-top:16px;line-height:1.8}footer p,footer nav{font-size:11px;color:var(--muted)}footer nav{gap:16px;flex-wrap:wrap}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b88742;outline-offset:4px}[hidden]{display:none!important}.application-image{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center;filter:saturate(.72);background:var(--sage);border-bottom:1px solid var(--line)}.application-copy{padding:36px}.image-software{object-position:center 60%}.image-orders{object-position:center 48%}.image-documents{object-position:center 48%}@media(min-width:1600px){header,main,footer{max-width:1700px;margin:auto}}@media(max-width:1050px){header nav{gap:18px;font-size:12px}.brand img{width:170px}.hero h1{font-size:61px}.hero-art{height:490px}.overview-card{padding:23px}.overview-card h3{font-size:21px}footer{flex-wrap:wrap}.about-photo img{height:440px}.application-copy{padding:27px}}@media(max-width:800px){header{height:auto;min-height:95px;padding:18px 6%;flex-wrap:wrap;gap:18px}header nav{flex-wrap:wrap;gap:14px 20px}header nav a{padding:5px 0;font-size:12px}.hero{grid-template-columns:1fr;gap:30px;padding-top:40px}.hero h1{font-size:62px}.hero-art{height:420px}.section{padding:55px 6%}.page-intro h1{font-size:46px;letter-spacing:-2px}h2{font-size:34px}.overview-grid,.home-links,.approach,.faq,.about-expanded,.principles-grid,.service-detail,.delivery,.application-grid,.contact-layout{grid-template-columns:1fr;gap:35px}.overview-card h3{font-size:25px;margin-top:20px}.section-head{display:block}.section-head .text-link{margin-bottom:5px}.home-links{gap:45px}.home-links>a+a{padding-top:35px;border-top:1px solid #c5d3c7}.principles-grid article{border-top:1px solid var(--line);padding-top:25px}.about-photo img{height:auto;aspect-ratio:4/3}.page-cta h2{font-size:36px}.related{display:block}.project-jump{gap:20px;font-size:11px}.application-card h2{font-size:29px}.contact-layout{gap:45px}.contact-layout h2{font-size:25px}.contact-info{padding:23px}.page-intro>p:not(.eyebrow){font-size:17px}footer{align-items:flex-start}footer nav{line-height:1.8}.art-caption{font-size:8px}}@media(max-width:450px){header{gap:12px}.brand img{width:145px}header nav{gap:13px;justify-content:space-between;width:100%}header nav a{font-size:10px}.hero h1{font-size:52px}.hero-art{height:330px}.page-intro h1{font-size:40px}.intro{font-size:17px}.art-caption{padding:45px 15px 15px;gap:10px}.art-label{left:15px;top:15px;font-size:8px}.application-copy{padding:23px}.contact-info>div{grid-template-columns:80px 1fr}.section-head h2{font-size:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.contact-info dd{min-width:0;overflow-wrap:anywhere}.contact-info a:hover{text-decoration:underline}

/* Larger headings and labels for the offline review. */
h2{font-size:clamp(38px,3.4vw,48px)}
h3{font-size:28px;font-weight:600}
.eyebrow,.about-copy .eyebrow{font-size:14px;letter-spacing:1.5px;line-height:1.6}
header nav{font-size:16px}
header nav a{font-size:16px}
.home-links h2{font-size:40px}
.page-cta h2{font-size:48px}
.overview-card h3,.detail-capabilities h3{font-size:28px}
.steps h3{font-size:26px}
.faq summary{font-size:21px}
.related h2{font-size:40px}
.application-card h2{font-size:38px}
.contact-layout h2,.privacy-copy h2{font-size:34px}
.project-jump{font-size:15px}
.art-label,.art-caption,.about-photo>span{font-size:12px;line-height:1.6}
.button,.text-link{font-size:15px}
footer nav{font-size:14px}
@media(max-width:1050px){
 header nav{gap:18px}
 header nav a{font-size:15px}
 .overview-card h3{font-size:26px}
}
@media(max-width:800px){
 h2,.section-head h2{font-size:38px}
 .home-links h2,.related h2{font-size:36px}
 .page-cta h2{font-size:40px}
 .application-card h2{font-size:34px}
 .contact-layout h2,.privacy-copy h2{font-size:30px}
 .eyebrow,.about-copy .eyebrow{font-size:13px}
 .project-jump{font-size:14px}
 header nav a{font-size:14px}
 .art-caption{font-size:12px}
}
@media(max-width:450px){
 header nav{justify-content:flex-start;gap:10px 18px}
 header nav a{font-size:14px}
 h2,.section-head h2{font-size:34px}
 .home-links h2,.related h2,.application-card h2{font-size:32px}
 .page-cta h2{font-size:36px}
 .art-label{font-size:11px}
 .art-caption{font-size:11px;flex-wrap:wrap}
}

/* Contact page: an editorial introduction and a paired contact / enquiry card. */
.contact-hero{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-top:65px;padding-bottom:48px}
.contact-hero h1{font-size:clamp(44px,4.5vw,68px);margin:22px 0;letter-spacing:-2.5px}
.contact-lead{font-size:18px;color:var(--muted);max-width:680px}
.contact-hero-note{flex:0 0 210px;text-align:center;color:#527363}
.contact-orbit{display:inline-grid;place-items:center;width:104px;height:104px;border:1px solid #afc9b8;border-radius:50%;font-size:48px;background:radial-gradient(circle at 30% 20%,#eaf1e7,#c7dfcf);box-shadow:0 0 0 14px #edf1e9,0 0 0 15px #dce5da}
.contact-hero-note p{font-size:14px;margin:28px 0 0}
.contact-workspace{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.4fr);gap:0;padding-top:0;padding-bottom:65px;align-items:stretch}
.contact-panel{position:relative;overflow:hidden;background:var(--ink);color:#f7f6f1;padding:46px 38px;border-radius:16px 0 0 16px;display:flex;flex-direction:column}
.contact-panel:after{content:'';position:absolute;width:300px;height:300px;border:1px solid #426053;border-radius:50%;bottom:-220px;right:-75px;box-shadow:0 0 0 28px #ffffff04,0 0 0 57px #ffffff03;pointer-events:none}
.contact-panel .eyebrow{color:#a9cbb5;margin:0 0 14px}
.contact-panel h2{font-size:38px;line-height:1.18;letter-spacing:-1px;margin:0 0 18px}
.contact-panel-intro{color:#c5d5d2;font-size:15px;margin:0 0 24px}
.contact-details{margin:0}
.contact-details>div{padding:23px 0;border-top:1px solid #ffffff24}
.contact-details dt{font-size:12px;letter-spacing:1.7px;color:#b2d3bd;font-weight:600;margin-bottom:10px}
.contact-details dt span{display:inline-block;width:22px}
.contact-details dd{margin:0;font-size:19px;line-height:1.65;overflow-wrap:anywhere}
.contact-details a:hover{text-decoration:underline;text-underline-offset:5px}
.contact-panel-bottom{margin-top:auto;padding-top:28px;font-size:11px;letter-spacing:1.5px;color:#c5d5d2;z-index:1}
.contact-panel-bottom .dot{background:#a9cbb5}
.enquiry-card{padding:46px;background:#fffefa;border:1px solid #dce2d9;border-left:0;border-radius:0 16px 16px 0;box-shadow:14px 18px 50px #152e3b06}
.enquiry-card>.eyebrow{color:#527363;margin:0 0 14px;font-size:12px}
.enquiry-card h2{font-size:34px;letter-spacing:-1px;margin:0 0 12px}
.enquiry-intro{font-size:15px;color:var(--muted);margin:0 0 30px}
.enquiry-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 22px}
.form-field{display:flex;flex-direction:column;min-width:0}
.form-field label{font-size:14px;font-weight:600;margin-bottom:10px;line-height:1.5}
.form-field label>span{color:#477b60}.form-field label .optional{font-weight:400;color:#6a7778;font-size:12px}
.form-field input,.form-field textarea{width:100%;min-width:0;border:1px solid #d6ded6;border-radius:6px;background:#f8f9f4;color:var(--ink);padding:14px;font-size:15px;line-height:1.5}
.form-field input{min-height:52px}.form-field textarea{min-height:155px;resize:vertical}
.form-field input::placeholder,.form-field textarea::placeholder{color:#7b8582;opacity:1}
.form-field input:focus,.form-field textarea:focus{background:white;border-color:#54866a}
.form-wide{grid-column:1/-1}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:20px}
.form-actions p{font-size:12px;color:var(--muted);margin:0}.form-actions .button{margin:0;border-radius:6px;background:var(--ink);min-width:190px}.form-actions .button:hover{background:#31594f}
.enquiry-grid #form-status{margin:0}.enquiry-grid #form-status:empty{display:none}
.contact-closing{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:22px;padding:0 6% 50px;color:#597365;font-size:12px;letter-spacing:1.3px;font-weight:600}
@media(max-width:1050px){.contact-hero-note{flex-basis:160px}.contact-panel{padding:36px 28px}.enquiry-card{padding:36px 28px}.contact-panel h2{font-size:34px}.enquiry-card h2{font-size:30px}.contact-details dd{font-size:17px}}
@media(max-width:800px){.contact-hero{padding-top:45px}.contact-hero-note{display:none}.contact-hero h1{font-size:48px}.contact-workspace{grid-template-columns:1fr}.contact-panel{border-radius:16px 16px 0 0}.enquiry-card{border:1px solid #dce2d9;border-top:0;border-radius:0 0 16px 16px}.contact-panel h2 br{display:none}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.contact-details>div:last-child{grid-column:1/-1}.contact-panel-bottom{padding-top:15px}.contact-closing{gap:14px;font-size:11px}}
@media(max-width:450px){.contact-hero h1{font-size:40px;letter-spacing:-1.5px}.contact-lead{font-size:16px}.contact-panel,.enquiry-card{padding:30px 23px}.contact-panel h2,.enquiry-card h2{font-size:29px}.contact-details,.enquiry-grid{grid-template-columns:1fr}.contact-details dd{font-size:18px}.form-actions{align-items:flex-start;flex-direction:column}.form-actions .button{width:100%}.contact-closing{flex-direction:column}.contact-closing>span[aria-hidden]{display:none}}
