﻿/* Reference-matched landing page. */
:root{--cream:#f3f1ea;--ink:#101717;--green:#095640;--muted:#818985;}
body{overflow-x:hidden;}
header{position:relative;background:transparent;border:0;z-index:5;}
.nav-wrapper{max-width:none;margin:0 3.9%;padding:18px 0;min-height:90px;border-bottom:1px solid #343c39;grid-template-columns:1fr auto 1fr;}
.logo{font-size:46px;line-height:1;font-weight:600;letter-spacing:-3px;text-decoration:none;}
nav ul{gap:clamp(30px,5vw,78px);}
nav ul li a{font-size:18px;font-weight:400;}
.btn-cv{font-size:18px;font-weight:400;padding:15px 22px;border-width:1px;border-radius:9px;gap:18px;}
.btn-cv svg{width:20px;height:20px;}
.hero2{position:relative;padding:0;min-height:calc(66.6667vw - 90px);isolation:isolate;}
.hero2-wrap{position:relative;margin:0 auto;max-width:none;padding:6.7vw 3.9% 5vw;min-height:inherit;}
.hero2-text{position:relative;z-index:2;width:55%;}
.hero2-eyebrow{font-size:clamp(10px,.92vw,15px);letter-spacing:4px;font-weight:500;text-transform:uppercase;color:#173b31;margin-bottom:2.8vw;}
.hero2-title,.hero2-title em{font-family:'Playfair Display',Georgia,serif;font-weight:600;letter-spacing:-.065em;line-height:1.04;}
.hero2-title{font-size:clamp(64px,8.1vw,150px);margin:0 0 2.3vw;color:var(--ink);white-space:nowrap;}
.hero2-title em{font-style:normal;color:var(--green);}
.hero2-lead{font-size:clamp(19px,1.95vw,34px);line-height:1.4;color:#2e434a;max-width:620px;width:85%;letter-spacing:.015em;margin-bottom:3.1vw;}
.hero2-actions{display:flex;gap:2vw;align-items:center;flex-wrap:wrap;margin-bottom:3.1vw;}
.h2-btn-dark,.h2-btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:21px 30px;border:1px solid var(--ink);border-radius:8px;font-size:clamp(16px,1.4vw,24px);font-weight:500;text-decoration:none;transition:background .2s,color .2s;}
.h2-btn-dark{background:var(--green);border-color:var(--green);color:white;}.h2-btn-dark span{font-size:30px;line-height:1;}.h2-btn-dark:hover{background:#073d2e;}
.h2-btn-outline:hover{background:var(--ink);color:#fff;}
.hero2-divider{width:70%;border:0;border-top:1px solid #b9bcb5;margin:0 0 22px;}
.hero2-meta{color:var(--muted);font-size:clamp(12px,1.05vw,18px);letter-spacing:.02em;}
.hero2-index{display:flex;align-items:center;gap:23px;margin-top:6vw;color:#88948f;font-size:23px;}
.hero2-index i{height:1px;width:87px;background:#929d95;}
.hero2-art-wrap{position:absolute;z-index:1;right:0;top:-25px;bottom:0;width:61%;pointer-events:none;overflow:hidden;}
.hero2-art-wrap img{width:100%;height:100%;object-fit:fill;mix-blend-mode:multiply;mask-image:linear-gradient(to right,transparent 0%,#000 24%);}
.hero2-caption{position:absolute;font-size:clamp(8px,.66vw,12px);font-weight:400;letter-spacing:2.5px;color:#686e68;line-height:1.7;}
.hero2-caption i{display:block;height:53px;width:1px;background:#949a90;margin-top:10px;}
.cap-top-right{top:12%;right:6.8%;}.cap-mid-right{top:65%;right:7%;}.cap-bottom-left{bottom:19%;left:10%;}.cap-bottom-center{bottom:9%;right:32%;}
.hero2-caption.bottom-line i{width:70px;height:1px;}
.support-section{border-top:1px solid var(--cream-line);padding:75px 4%;}
.support-section h2{font-family:'Playfair Display',Georgia,serif;font-size:40px;margin-bottom:26px;}
.work-links{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.work-links a{padding:25px;border:1px solid var(--cream-line);border-radius:8px;text-decoration:none;font-weight:600;}.work-links a:hover{border-color:var(--green);color:var(--green);}
.support-copy{font-size:20px;line-height:1.7;max-width:800px;color:#2e434a;}
.about-me-section{display:grid;grid-template-columns:1fr 1fr;min-height:620px;padding:clamp(24px,3.3vw,48px) 3.3%;gap:clamp(28px,4vw,64px);background:#f7f5ef;}
.about-me-visual{position:relative;min-height:620px;overflow:hidden;background:#d9d5c9;}
.about-me-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,34,29,.04),rgba(12,34,29,.2));pointer-events:none;}
.about-me-visual img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.72) sepia(.1);}
.about-me-visual-note{position:absolute;left:8%;bottom:12%;z-index:1;color:#f3f1ea;font-family:'Playfair Display',serif;font-size:clamp(24px,3vw,44px);line-height:1.03;letter-spacing:.06em;text-shadow:0 1px 12px rgba(0,0,0,.24);}
.about-me-content{padding:clamp(60px,8vw,116px) clamp(32px,7vw,104px);display:flex;flex-direction:column;justify-content:center;}
.about-me-eyebrow{display:flex;align-items:center;gap:20px;margin:0 0 clamp(28px,4vw,50px);font-size:14px;letter-spacing:3px;text-transform:uppercase;color:#275b4b;}
.about-me-eyebrow span{font-size:14px;letter-spacing:2px;}.about-me-eyebrow i{width:76px;height:1px;background:#799187;display:block;}
.about-me-content h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(42px,4.7vw,76px);font-weight:600;line-height:.97;letter-spacing:-.06em;color:#111a18;margin:0 0 clamp(28px,3vw,44px);}
.about-me-content h2 span{color:var(--green);}
.about-me-copy{max-width:540px;font-size:clamp(16px,1.4vw,22px);line-height:1.55;color:#35403e;margin:0 0 clamp(26px,3vw,38px);}
.about-me-facts{max-width:540px;border-top:1px solid #d4d0c5;margin-bottom:clamp(28px,3.5vw,44px);}
.about-me-facts div{display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:18px;padding:13px 0;border-bottom:1px solid #d4d0c5;}
.about-me-facts strong{font-size:clamp(16px,1.5vw,22px);color:#275b4b;font-weight:700;}.about-me-facts span{font-size:14px;color:#70736e;}
.about-me-button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;width:max-content;min-width:240px;padding:18px 28px;border-radius:8px;background:#275f4c;color:#fff;font-size:18px;text-decoration:none;transition:background .2s ease,transform .2s ease;}.about-me-button:hover{background:#174b39;transform:translateY(-2px);}.about-me-button span{font-size:25px;line-height:1;}
.projects-section{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,2.2fr);gap:clamp(30px,5vw,80px);padding:clamp(56px,7vw,100px) 3.9%;background:#f7f5ef;border-top:1px solid #dedbd1;}
.projects-intro{position:relative;padding-top:4px;}.projects-eyebrow{display:flex;align-items:center;gap:18px;margin:0 0 clamp(24px,3vw,42px);font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#275b4b;}.projects-eyebrow span{font-size:14px;letter-spacing:1px;}.projects-eyebrow i{width:50px;height:1px;background:#799187;display:block;}
.projects-intro h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(42px,4.3vw,70px);font-weight:600;line-height:.98;letter-spacing:-.06em;color:#111a18;margin:0 0 28px;}.projects-intro h2 span{color:var(--green);}.projects-copy{max-width:330px;font-size:16px;line-height:1.55;color:#53615e;}.projects-note{margin:42px 0 0 14px;font-family:'Playfair Display',serif;font-style:italic;font-size:25px;line-height:1.08;color:#7d8781;transform:rotate(-5deg);}.projects-note i{display:block;width:90px;height:1px;background:#7d8781;margin:12px 0 0 15px;transform:rotate(-6deg);}
.projects-details{max-width:330px;margin-top:48px;border-top:1px solid #d4d0c5;}.projects-detail-row{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #d4d0c5;font-size:11px;color:#7a827e;}.projects-detail-row strong{font-size:11px;color:#275b4b;font-weight:600;text-align:right;}.projects-signature{margin:28px 0 0 2px;font-family:'Playfair Display',serif;font-size:16px;font-style:italic;line-height:1.25;color:#7d8781;}
.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 20px;align-content:start;}.project-card{min-width:0;}.project-card-featured{grid-column:1 / -1;}.project-card a{display:block;color:inherit;text-decoration:none;}.project-image{position:relative;overflow:hidden;aspect-ratio:1.45;border-radius:10px;background:#dbe0d9;}.project-card-featured .project-image{aspect-ratio:2.1;}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .45s ease;}.project-image-ecom img{object-position:center 16%;}.project-image-ft img{object-position:center 27%;}.project-image-selfy img{object-position:center 39%;}.project-image-company img{object-position:center 49%;}.project-card:hover .project-image img{transform:scale(1.04);filter:brightness(.62);}.project-hover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:12px;color:#fff;font-size:15px;font-weight:600;opacity:0;transition:opacity .25s ease;}.project-card:hover .project-hover{opacity:1;}.project-hover b{font-size:22px;font-weight:400;}.project-meta{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;padding-top:10px;}.project-meta h3{font-family:'Playfair Display',Georgia,serif;font-size:21px;font-weight:600;line-height:1.1;}.project-meta span{grid-column:1;font-size:12px;color:#6b7772;}.project-meta em{grid-column:2;grid-row:1 / span 2;font-size:12px;font-style:normal;color:#275b4b;border-bottom:1px solid #aeb9b1;padding-bottom:2px;}
.process-section{padding:clamp(70px,8vw,112px) 3.3% clamp(58px,6vw,90px);background:#f7f5ef;}.process-heading{text-align:center;}.process-eyebrow{display:flex;align-items:center;justify-content:center;gap:18px;color:#275b4b;font-size:14px;letter-spacing:1px;margin-bottom:18px;}.process-eyebrow i{width:82px;height:1px;background:#899991;}.process-kicker{font-size:14px;letter-spacing:5px;text-transform:uppercase;color:#275b4b;margin-bottom:18px;}.process-heading h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(46px,5vw,78px);line-height:.98;letter-spacing:-.06em;color:#111a18;margin:0;}.process-heading h2 span{color:var(--green);}.process-rule{width:40px;height:2px;background:#275b4b;margin:22px auto 38px;}.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%;margin:0 auto;}.process-card{display:grid;grid-template-columns:1fr .9fr;min-height:245px;overflow:hidden;border-radius:12px;background:#ebeae0;}.process-card-copy{padding:28px 18px 24px 25px;z-index:1;}.process-card-copy>span{display:block;font-family:'Playfair Display',Georgia,serif;font-size:28px;color:#1e604c;line-height:1;}.process-card-copy>i{display:block;width:28px;height:1px;background:#1e604c;margin:13px 0 16px;}.process-card-copy h3{font-family:'Playfair Display',Georgia,serif;font-size:30px;line-height:.95;color:#111a18;margin:0 0 15px;}.process-card-copy p{font-size:16px;line-height:1.35;color:#40554d;}.process-art{position:relative;align-self:center;justify-self:center;width:min(70%,220px);height:190px;border-radius:12px;background:#173d30;box-shadow:10px 14px 20px rgba(26,67,50,.2);transform:rotate(2deg);color:#dcecdf;padding:22px 18px;overflow:hidden;}.process-art::after{content:'';position:absolute;right:-24px;bottom:-30px;width:100px;height:100px;border-radius:50%;background:#174a38;border:15px solid #d2d6c7;box-shadow:0 0 0 10px #315b49;}.process-art b{font-family:'Playfair Display',serif;font-size:13px;line-height:1.7;letter-spacing:2px;font-weight:400;}.process-art em{position:absolute;right:28px;bottom:26px;z-index:1;font-size:25px;font-style:normal;color:#dcecdf;}.process-art-scope,.process-art-launch{background:#cbd5c9;color:#284b3d;}.process-art-scope::after,.process-art-launch::after{background:#315c4a;border-color:#d5ddd0;}.process-art-scope em{font-size:48px;right:25px;bottom:40px;}.process-art-launch em{font-size:55px;right:25px;bottom:24px;transform:rotate(-35deg);}.process-footer{display:flex;align-items:center;justify-content:center;gap:16px;margin:26px auto 0;color:#687971;font-size:10px;letter-spacing:3px;text-transform:uppercase;text-align:center;}.process-footer i{width:68px;height:1px;background:#8e9c94;display:block;}
.contact-section{background:#075b43;color:#f7f5ef;padding:clamp(64px,7vw,104px) 3.9% 28px;overflow:hidden;}.contact-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(42px,7vw,110px);max-width:1320px;margin:0 auto;}.contact-copy{position:relative;min-height:570px;padding-top:4px;}.contact-eyebrow{display:flex;align-items:center;gap:18px;margin-bottom:32px;font-size:12px;letter-spacing:3px;text-transform:uppercase;}.contact-eyebrow span{font-size:14px;}.contact-eyebrow i{width:64px;height:1px;background:#b0c6b8;display:block;}.contact-copy h2{font-family:'Playfair Display',serif;font-size:clamp(58px,6vw,94px);line-height:.9;letter-spacing:-.065em;margin:0 0 22px;color:#f7f5ef;}.contact-copy h2 span{color:#c5dfc4;}.contact-copy>p{font-size:clamp(17px,1.6vw,23px);line-height:1.35;color:#d8e5db;margin-bottom:28px;}.contact-details{display:grid;gap:14px;}.contact-details a,.contact-location{display:flex;align-items:center;gap:14px;color:#f7f5ef;font-size:16px;text-decoration:none;}.contact-location{font-size:14px;}.contact-art{position:absolute;left:-3%;bottom:-28px;width:390px;height:230px;}.contact-art-back{position:absolute;inset:32px 18px 0;background:#e7e1d0;transform:rotate(-19deg);clip-path:polygon(0 0,100% 0,87% 100%,13% 100%);}.contact-art-front{position:absolute;inset:36px 10px 0;background:#064332;clip-path:polygon(0 28%,50% 58%,100% 28%,100% 100%,0 100%);border:2px solid #e7e1d0;}.contact-art-letter{position:absolute;left:102px;top:48px;width:174px;height:110px;padding:28px 24px;background:#145d48;color:#b9d3bd;font-size:8px;letter-spacing:3px;line-height:1.7;transform:rotate(-5deg);z-index:2;}.contact-art-note{position:absolute;right:-25px;top:0;color:#a5c2ab;font-family:'Playfair Display',serif;font-style:italic;font-size:25px;line-height:1.05;transform:rotate(-12deg);}.contact-form-card{background:#f7f5ef;color:#17201c;border-radius:10px;padding:clamp(28px,3vw,40px);}.contact-form-top{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:26px;}.contact-form-card h3{font-family:'Playfair Display',serif;font-size:clamp(32px,3vw,48px);line-height:1;margin:0;}.contact-form-note{font-size:9px;letter-spacing:3px;line-height:1.6;color:#718078;}.contact-form-note i{display:block;width:36px;height:1px;background:#718078;margin-top:10px;}.enquiry-form{display:grid;gap:15px;}.enquiry-form label{display:grid;gap:7px;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#30443a;}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{width:100%;padding:11px;border:1px solid #c9cec5;border-radius:5px;background:#f9f8f2;color:#26362e;font:14px 'Inter',sans-serif;}.enquiry-form textarea{min-height:85px;resize:vertical;}.enquiry-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;}.enquiry-submit{margin-top:4px;padding:13px 18px;border:0;border-radius:6px;background:#17694e;color:#fff;font:16px 'Playfair Display',serif;cursor:pointer;}.enquiry-submit:hover{background:#0b4c38;}
.contact-section{position:relative;isolation:isolate;background:#075b43;}.contact-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;}.contact-section::before{content:'';position:absolute;inset:0;background:rgba(4,79,57,.12);z-index:1;pointer-events:none;}.contact-layout{position:relative;z-index:2;}
.services-section{padding:clamp(70px,8vw,112px) 3.3% clamp(58px,6vw,92px);background:#f7f5ef;}.services-eyebrow{display:flex;align-items:center;gap:18px;margin:0 0 20px 1%;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#275b4b;}.services-eyebrow span{font-size:14px;}.services-eyebrow i{width:70px;height:1px;background:#899991;}.services-heading-row{display:grid;grid-template-columns:1.3fr .8fr .5fr;align-items:center;gap:30px;margin:0 1% 36px;}.services-heading h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(48px,5vw,78px);line-height:.94;letter-spacing:-.065em;color:#111a18;margin:0;}.services-heading h2 em{font-style:italic;color:var(--green);}.services-heading h2 span{color:var(--green);}.services-heading-row>p{font-size:16px;line-height:1.45;color:#405a50;}.services-side-note{border-left:1px solid #61786d;padding-left:26px;font-size:9px;line-height:1.8;letter-spacing:3px;color:#405a50;}.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}.service-card{display:grid;grid-template-columns:1fr 1.1fr;min-height:224px;overflow:hidden;border:1px solid #d6d8cd;border-radius:10px;background:#ebeae0;text-decoration:none;color:inherit;transition:transform .25s ease,box-shadow .25s ease;}.service-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(35,74,58,.12);}.service-copy{padding:28px 20px 24px 24px;z-index:1;}.service-copy h3{font-family:'Playfair Display',Georgia,serif;font-size:31px;line-height:.95;color:#111a18;margin:0 0 18px;}.service-copy p{font-size:16px;line-height:1.35;color:#405a50;margin-bottom:28px;}.service-copy span{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:#275b4b;}.service-art{position:relative;min-height:224px;overflow:hidden;background:#d5ddd0;}.service-art-screen{padding:30px 18px;color:#1c342b;}.service-art-screen::after{content:'';position:absolute;right:7%;top:15%;width:75%;height:58%;border:7px solid #263d35;border-radius:7px;background:#f6f5ed;box-shadow:0 15px 15px rgba(29,63,48,.2);z-index:0;}.service-art-screen b,.service-art-screen small,.service-art-screen em{position:relative;z-index:1;display:block;}.service-art-screen b{font-family:'Playfair Display',serif;font-size:21px;line-height:1.05;margin:42px 0 8px 38px;}.service-art-screen small{font-size:8px;margin-left:38px;}.service-art-screen em{margin:14px 0 0 38px;width:max-content;padding:5px 8px;background:#28634c;color:#fff;font-size:7px;font-style:normal;}.service-art-cubes{padding:30px;color:#d9f0d8;background:#bfd1c0;}.service-art-cubes b{display:grid;place-items:center;position:absolute;inset:21% 23%;background:#24664d;font-size:45px;border-radius:8px;box-shadow:18px 16px 0 #66a780,-25px 23px 0 #3c8462;}.service-art-cubes i{position:absolute;right:6%;background:#e9eadf;color:#344e41;padding:5px 8px;font-size:9px;font-style:normal;}.service-art-cubes i:nth-of-type(1){top:27%;}.service-art-cubes i:nth-of-type(2){top:45%;}.service-art-cubes i:nth-of-type(3){top:63%;}.service-art-link{background:#d1ddcf;color:#4f9e78;padding:20px 25px;}.service-art-link b{font-size:125px;line-height:1;text-shadow:12px 15px 0 #b8cdbb;}.service-art-link small{position:absolute;right:8%;bottom:20%;font-size:8px;line-height:1.8;letter-spacing:2px;color:#405a50;}.service-art-code{background:#c8d4c7;padding:22px;}.service-art-code b{display:block;width:58%;padding:18px 12px;background:#193a30;color:#bde2bc;font-family:monospace;font-size:12px;line-height:1.7;}.service-art-code em{position:absolute;right:10%;bottom:0;color:#245e48;font-size:100px;font-style:normal;transform:rotate(-25deg);}.services-footer{display:flex;align-items:center;gap:24px;margin:28px 2px 0;}.services-footer i{height:1px;background:#899991;flex:1;}.services-footer p{font-family:'Playfair Display',Georgia,serif;font-size:19px;white-space:nowrap;}.services-footer a{color:#275b4b;text-decoration:none;}
a:focus-visible,button:focus-visible{outline:3px solid #168267;outline-offset:5px;}
.tools-section{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:clamp(36px,6vw,100px);padding:clamp(70px,8vw,120px) 4.4% clamp(58px,6vw,92px);background:#f7f5ef;border-top:1px solid #dedbd1;overflow:hidden;}
.tools-content{min-width:0;}.tools-eyebrow{display:flex;align-items:center;gap:18px;margin:0 0 clamp(26px,3vw,42px);font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#275b4b;}.tools-eyebrow span{font-size:14px;letter-spacing:1px;}.tools-eyebrow i{width:118px;height:1px;background:#799187;display:block;}.tools-content h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(50px,5.1vw,82px);font-weight:600;line-height:.95;letter-spacing:-.065em;color:#111a18;margin:0 0 14px;}.tools-content h2 span{color:var(--green);}.tools-subtitle{font-size:clamp(18px,1.8vw,27px);color:#405a50;margin-bottom:clamp(28px,3vw,42px);}.tool-groups{display:grid;gap:12px;}.tool-group{display:flex;gap:24px;align-items:flex-start;padding:16px 20px;border:1px solid #d3d1c6;border-radius:13px;background:#ebeae0;}.tool-group-icon{display:grid;place-items:center;flex:0 0 54px;height:54px;border-radius:12px;background:#b9ccbe;color:#0d3c2d;font-size:28px;}.tool-group-body{flex:1;min-width:0;}.tool-group-body h3{font-family:'Playfair Display',Georgia,serif;font-size:25px;line-height:1;margin:3px 0 5px;}.tool-group-body p{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#4e6259;margin-bottom:12px;}.tool-tags{display:flex;gap:8px;flex-wrap:wrap;}.tool-tags span{display:inline-flex;align-items:center;min-height:34px;padding:7px 13px;border:1px solid #d7d8cf;border-radius:10px;background:#faf9f4;font-size:12px;color:#253a34;white-space:nowrap;}.tools-footer{display:flex;align-items:center;gap:18px;margin:25px 0 0;font-size:10px;letter-spacing:3px;text-transform:uppercase;color:#536860;}.tools-footer i{width:80px;height:1px;background:#536860;display:block;}
.tools-visual{position:relative;min-height:650px;isolation:isolate;display:flex;align-items:center;justify-content:center;overflow:hidden;}.tools-visual-glow{position:absolute;width:68%;aspect-ratio:1;border-radius:50%;background:#d1dac4;filter:blur(2px);}.tools-visual img{position:absolute;inset:7% 0 0;width:100%;height:93%;object-fit:cover;object-position:72% 55%;mix-blend-mode:multiply;opacity:.45;mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 80%,transparent);z-index:1;}.tools-layer{position:absolute;z-index:2;width:min(78%,400px);height:124px;border:1px solid #2e7458;background:#15523d;box-shadow:0 18px 26px rgba(24,74,55,.18),inset 0 0 20px rgba(215,245,220,.16);transform:skewY(-7deg) rotate(-1deg);color:#f4f5eb;padding:28px;}.tools-layer b{display:block;font-family:'Playfair Display',serif;font-size:27px;font-weight:500;}.tools-layer small{font-size:10px;letter-spacing:3px;}.tools-layer span{position:absolute;right:27px;top:29px;font-size:43px;color:#d7f2dc;}.tools-layer-front{top:16%;left:16%;}.tools-layer-back{top:40%;left:24%;}.tools-layer-data{top:64%;left:17%;}.tools-visual-caption{position:absolute;right:0;top:17%;z-index:3;border-left:1px solid #536860;padding-left:15px;font-size:9px;line-height:1.8;letter-spacing:2px;color:#405a50;}
.experience-section{display:grid;grid-template-columns:1fr .94fr;gap:clamp(38px,6vw,90px);padding:clamp(70px,8vw,120px) 3.9%;background:#f7f5ef;border-top:1px solid #dedbd1;}.experience-eyebrow{display:flex;align-items:center;gap:18px;margin:0 0 clamp(25px,3vw,40px);font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#275b4b;}.experience-eyebrow span{font-size:14px;}.experience-eyebrow i{width:118px;height:1px;background:#799187;}.experience-main h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(50px,5.2vw,80px);line-height:.94;letter-spacing:-.065em;color:#111a18;margin:0 0 18px;}.experience-main h2 em{color:var(--green);font-style:italic;}.experience-main h2 span{color:var(--green);}.experience-intro{max-width:600px;font-size:clamp(16px,1.45vw,21px);line-height:1.45;color:#53615e;margin-bottom:28px;}.experience-timeline{position:relative;padding-left:84px;}.experience-timeline::before{content:'';position:absolute;left:8px;top:5px;bottom:14px;width:1px;background:#4b826a;}.experience-item{position:relative;display:grid;grid-template-columns:1fr;min-height:118px;padding:16px 22px;margin-bottom:18px;border-radius:9px;background:#ebeae0;}.experience-icon{position:absolute;left:-76px;top:5px;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#dce5d9;color:#173d31;font-family:monospace;font-size:21px;font-weight:700;}.experience-icon::before{content:'';position:absolute;left:-36px;width:12px;height:12px;border-radius:50%;background:#287052;border:2px solid #f7f5ef;}.experience-item h3{font-family:'Playfair Display',Georgia,serif;font-size:21px;line-height:1.1;margin-bottom:5px;}.experience-item strong{display:block;color:#27634d;font-size:15px;font-weight:500;margin-bottom:8px;}.experience-item p{max-width:560px;color:#5f6863;font-size:13px;line-height:1.4;}.experience-side{padding-top:4px;}.experience-image{height:350px;border-radius:7px;overflow:hidden;margin-bottom:20px;background:#d9ddd1;}.experience-image img{width:100%;height:100%;object-fit:cover;object-position:80% 68%;filter:saturate(.7) sepia(.12);}.education-title{display:flex;align-items:center;gap:22px;font-family:'Playfair Display',Georgia,serif;font-size:31px;margin:0 0 12px;}.education-title i,.cert-title i{height:1px;flex:1;background:#9da9a0;display:block;}.education-list{display:grid;gap:12px;}.education-card{display:flex;align-items:center;gap:24px;padding:14px 22px;border-radius:8px;background:#ebeae0;}.education-card>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#dce5d9;font-size:25px;color:#173d31;}.education-card h4{font-family:'Playfair Display',Georgia,serif;font-size:17px;margin-bottom:4px;}.education-card p{font-size:12px;color:#68736d;}.cert-title{display:flex;align-items:center;gap:20px;font-family:'Playfair Display',Georgia,serif;font-size:17px;font-weight:500;margin:22px 0 10px;}.cert-list{display:flex;gap:8px;flex-wrap:wrap;}.cert-list span{padding:10px 13px;border-radius:20px;background:#e4e5da;color:#2e4d40;font-size:10px;}
.menu-toggle{border:0;background:none;padding:10px;}
@media(min-width:1800px){.hero2-lead{max-width:780px;}}
@media(max-width:1000px) and (min-width:761px){.nav-wrapper{min-height:75px;}.logo{font-size:36px;}nav ul{gap:25px;}nav ul li a,.btn-cv{font-size:14px;}.hero2{min-height:calc(70vw - 75px);}.hero2-title{font-size:8vw;}.hero2-eyebrow{letter-spacing:2px;}.h2-btn-dark,.h2-btn-outline{padding:15px 18px;gap:14px;}.hero2-meta{max-width:80%;}.hero2-art-wrap{top:0;}}
@media(min-width:761px) and (max-width:900px){.nav-wrapper{grid-template-columns:1fr auto 1fr;}.header-actions{display:block;}.menu-toggle{display:none;}nav ul{position:static;display:flex;flex-direction:row;background:none;border:0;padding:0;width:auto;}nav ul li{width:auto;}}
@media(max-width:760px){.nav-wrapper{margin:0 24px;min-height:78px;padding:16px 0;grid-template-columns:1fr auto;}.logo{font-size:38px;}.header-actions{display:none;}.menu-toggle{display:flex;}nav{position:absolute;right:24px;left:24px;top:100%;}nav ul{display:none;position:static;background:var(--cream);border:1px solid var(--cream-line);padding:24px;gap:22px;}nav ul.active{display:flex;}nav ul li a{font-size:17px;}.hero2{min-height:0;}.hero2-wrap{padding:48px 24px 0;}.hero2-text{width:100%;}.hero2-eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:26px;}.hero2-title{font-size:clamp(42px,9vw,68px);margin-bottom:24px;}.hero2-lead{font-size:18px;width:100%;max-width:460px;margin-bottom:28px;}.hero2-actions{gap:12px;margin-bottom:30px;}.h2-btn-dark,.h2-btn-outline{font-size:14px;padding:16px 18px;gap:12px;}.hero2-divider{width:100%;max-width:450px;margin-bottom:18px;}.hero2-meta{font-size:12px;line-height:1.7;}.hero2-index{margin-top:28px;font-size:17px;}.hero2-art-wrap{position:relative;top:auto;right:auto;width:calc(100% + 48px);margin:5px -24px 0;aspect-ratio:1/1;}.hero2-art-wrap img{object-fit:cover;mask-image:linear-gradient(to bottom,transparent,#000 12%);}.hero2-caption{font-size:8px;}.cap-bottom-left{left:5%;}.cap-top-right{right:5%;}.work-links{grid-template-columns:1fr 1fr;}.support-section{padding:50px 24px;}.support-section h2{font-size:32px;}.support-copy{font-size:17px;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{transition:none!important;}}

@media(max-width:760px){
  .contact-section{padding:58px 24px 70px;}
  .contact-layout{display:block;}
  .contact-copy{min-height:500px;}
  .contact-copy h2{font-size:clamp(50px,14vw,76px);}
  .contact-art{transform:scale(.75);transform-origin:left bottom;bottom:-34px;}
  .contact-form-card{padding:24px 18px;margin-top:20px;}
  .contact-form-top{display:block;}
  .contact-form-note{margin-top:15px;}
  .enquiry-row{grid-template-columns:1fr;gap:15px;}
}

/* Keep the tools copy beside the supplied development-stack image. */
.tools-section{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:clamp(36px,6vw,100px);padding:clamp(70px,8vw,120px) 4.4% clamp(58px,6vw,92px);background:#f7f5ef;border-top:1px solid #dedbd1;overflow:hidden;}
.tools-content{min-width:0;}.tools-visual{position:relative;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;}.tools-feature-image{display:block;width:100%;height:auto;max-width:none;object-fit:contain;opacity:1!important;filter:none!important;mask-image:none!important;mix-blend-mode:normal!important;}

/* Keep the page sections visually close and evenly spaced. */
main>.projects-section,
main>.tools-section,
main>.experience-section,
main>.process-section,
main>.services-section{padding-top:clamp(48px,5vw,70px);padding-bottom:clamp(48px,5vw,70px);}
main>.about-me-section{margin-bottom:0;}

/* Header and hero share one viewport; sizing responds to height as well as width. */
@media(min-width:761px){
  .about-me-section{min-height:0;align-items:stretch;}
  .about-me-visual{min-height:0;}
  .about-me-content{padding:clamp(42px,5svh,72px) clamp(32px,6.5vw,92px);}
  .about-me-eyebrow{margin-bottom:clamp(20px,3svh,32px);}
  .about-me-content h2{font-size:clamp(38px,min(4vw,7svh),58px);margin-bottom:clamp(20px,3svh,30px);}
  .about-me-copy{font-size:clamp(15px,2.3svh,18px);line-height:1.5;margin-bottom:clamp(18px,2.5svh,28px);}
  .about-me-facts{margin-bottom:clamp(18px,2.5svh,28px);}
  .about-me-facts div{padding:9px 0;}
  .about-me-facts strong{font-size:clamp(15px,2.5svh,19px);}
  .about-me-facts span{font-size:13px;}
  .about-me-button{font-size:16px;padding:15px 24px;}
  header{width:100%;margin-inline:auto;--landing-header-height:clamp(54px,10svh,72px);}
  .nav-wrapper{max-width:none;width:92.2%;margin-inline:auto;min-height:0;height:var(--landing-header-height);padding:10px 0;}
  .logo{font-size:clamp(30px,3vw,42px);}
  nav ul{gap:clamp(24px,4vw,58px);}
  nav ul li a{font-size:clamp(13px,1.2vw,17px);}
  .btn-cv{font-size:clamp(12px,1.2vw,16px);padding:11px 18px;gap:14px;}
  .btn-cv svg{width:17px;height:17px;}
  .hero2{--hero-height:calc(100svh - clamp(54px,10svh,72px));--hero-art-size:min(52vw, calc(var(--hero-height) - 20px));width:100%;margin-inline:auto;container-type:inline-size;min-height:0;}
  .hero2-wrap{max-width:none;min-height:var(--hero-height);padding:10px 3.9%;display:grid;grid-template-columns:minmax(0,1fr) var(--hero-art-size);align-items:center;column-gap:0;}
  .hero2-text{width:calc(100% + var(--hero-art-size) * .14);min-width:0;min-height:calc(var(--hero-height) - 72px);display:flex;flex-direction:column;justify-content:center;}
  .hero2-eyebrow{font-size:10px;letter-spacing:2.5px;margin-bottom:clamp(12px,3svh,24px);}
  .hero2-title{font-size:clamp(32px,min(4.4vw,8svh),56px);line-height:1.1;letter-spacing:-.055em;white-space:normal;margin-bottom:clamp(12px,3svh,22px);}
  .hero2-lead{font-size:clamp(14px,2.7svh,18px);line-height:1.65;width:100%;max-width:none;margin-bottom:clamp(14px,3svh,24px);}
  .hero2-actions{gap:16px;margin-bottom:clamp(14px,3svh,24px);}
  .h2-btn-dark,.h2-btn-outline{font-size:14px;padding:clamp(10px,2svh,14px) 20px;gap:18px;border-radius:7px;}
  .h2-btn-dark span{font-size:22px;}
  .hero2-divider{width:100%;max-width:none;margin-bottom:16px;}
  .hero2-meta{font-size:11px;line-height:1.6;max-width:none;}
  .hero2-index{font-size:14px;margin-top:clamp(12px,3svh,28px);gap:18px;}
  .hero2-index i{width:auto;flex:1;max-width:none;opacity:.5;}
  .hero2-art-wrap{position:relative;top:auto;transform:none;bottom:auto;right:auto;width:100%;max-width:none;aspect-ratio:1;overflow:visible;}
  .hero2-art-wrap img{width:100%;height:auto;object-fit:contain;object-position:center top;mask-image:linear-gradient(to right,transparent 0%,#000 26%);}
  .hero2-caption{font-size:8px;letter-spacing:1.5px;}
  .hero2-caption i{height:3.5cqw;margin-top:.65cqw;}
  .hero2-caption.bottom-line i{height:1px;width:4.6cqw;}
  .cap-top-right{top:12%;right:6.8%;}
  .cap-mid-right{top:65%;right:7%;}
  .cap-bottom-left{bottom:20%;left:11%;}
  .cap-bottom-center{bottom:9%;right:32%;}
  .support-section{padding:48px 4%;}
  .support-section h2{font-size:30px;margin-bottom:20px;}
  .support-copy{font-size:16px;}
  .work-links a{font-size:14px;padding:20px;}
}
@media(max-width:760px){
  main>.projects-section,
  main>.tools-section,
  main>.experience-section,
  main>.process-section,
  main>.services-section{padding-top:42px;padding-bottom:48px;}
  .hero2-wrap{padding-top:32px;}
  .hero2-title{font-size:clamp(30px,7vw,48px);white-space:normal;}
  .hero2-lead{font-size:16px;}
  .hero2-art-wrap{max-width:440px;max-height:none;margin:5px auto 0;width:100%;}
  .hero2-art-wrap img{height:auto;object-fit:contain;mask-image:linear-gradient(to bottom,transparent 0%,#000 5%);}
  .about-me-section{display:flex;flex-direction:column;min-height:0;padding:0;gap:0;}
  .about-me-visual{min-height:70vw;max-height:520px;order:2;}
  .about-me-content{padding:58px 24px 64px;order:1;}
  .about-me-eyebrow{font-size:11px;gap:14px;margin-bottom:28px;}.about-me-eyebrow i{width:58px;}
  .about-me-content h2{font-size:clamp(40px,11vw,62px);line-height:1.01;letter-spacing:-.055em;}
  .about-me-copy{font-size:17px;line-height:1.55;}
  .about-me-facts div{grid-template-columns:1fr 1fr;gap:12px;padding:12px 0;}.about-me-facts span{font-size:12px;}
  .about-me-button{font-size:16px;padding:16px 22px;min-width:220px;}
  .projects-section{display:block;padding:58px 24px 70px;}.projects-intro{margin-bottom:38px;}.projects-eyebrow{margin-bottom:26px;}.projects-intro h2{font-size:clamp(40px,11vw,62px);}.projects-copy{font-size:16px;}.projects-note{margin-top:30px;font-size:22px;}.projects-grid{grid-template-columns:1fr 1fr;gap:24px 14px;}.project-card-featured{grid-column:1 / -1;}.project-card-featured .project-image{aspect-ratio:1.45;}.project-image{border-radius:7px;}.project-meta{display:block;padding-top:8px;}.project-meta h3{font-size:18px;margin-bottom:4px;}.project-meta span{display:block;font-size:11px;}.project-meta em{display:inline-block;margin-top:6px;font-size:11px;}
  :where(.projects-section){display:block;padding:58px 24px 70px;}:where(.projects-intro){margin-bottom:38px;}:where(.projects-eyebrow){margin-bottom:26px;}:where(.projects-intro) h2{font-size:clamp(40px,11vw,62px);}:where(.projects-copy){font-size:16px;}:where(.projects-note){margin-top:30px;font-size:22px;}:where(.projects-details){margin-top:36px;}:where(.projects-signature){margin-top:24px;}:where(.projects-grid){grid-template-columns:1fr 1fr;gap:24px 14px;}:where(.projects-grid) > :where(.project-card-featured){grid-column:1 / -1;}:where(.projects-grid) :where(.project-card-featured) .project-image{aspect-ratio:1.45;}:where(.projects-grid) .project-image{border-radius:7px;}:where(.projects-grid) .project-meta{display:block;padding-top:8px;}:where(.projects-grid) .project-meta h3{font-size:18px;margin-bottom:4px;}:where(.projects-grid) .project-meta span{display:block;font-size:11px;}:where(.projects-grid) .project-meta em{display:inline-block;margin-top:6px;font-size:11px;}
  .tools-section{display:block;padding:62px 24px 70px;}.tools-eyebrow{margin-bottom:28px;}.tools-content h2{font-size:clamp(44px,12vw,68px);}.tools-subtitle{font-size:19px;margin-bottom:30px;}.tool-group{gap:14px;padding:14px;}.tool-group-icon{flex-basis:46px;height:46px;font-size:23px;}.tool-group-body h3{font-size:22px;}.tool-group-body p{font-size:8px;letter-spacing:1.4px;}.tool-tags span{font-size:11px;padding:6px 9px;min-height:30px;}.tools-footer{margin-top:24px;}.tools-visual{min-height:480px;margin-top:24px;}.tools-layer{height:92px;padding:18px 20px;}.tools-layer b{font-size:21px;}.tools-layer small{font-size:8px;}.tools-layer span{font-size:30px;top:22px;}.tools-layer-front{left:7%;}.tools-layer-back{left:16%;}.tools-layer-data{left:9%;}.tools-visual-caption{right:3%;font-size:8px;}
  .experience-section{display:block;padding:62px 24px 72px;}.experience-eyebrow{margin-bottom:28px;}.experience-main h2{font-size:clamp(44px,12vw,68px);}.experience-intro{font-size:17px;margin-bottom:28px;}.experience-timeline{padding-left:58px;}.experience-timeline::before{left:5px;}.experience-item{padding:15px 16px;margin-bottom:15px;}.experience-icon{left:-54px;width:46px;height:46px;font-size:16px;}.experience-icon::before{left:-28px;width:10px;height:10px;}.experience-item h3{font-size:18px;}.experience-item strong{font-size:13px;}.experience-item p{font-size:12px;}.experience-image{height:260px;margin-top:38px;}.education-title{font-size:28px;}.education-card{gap:14px;padding:12px 15px;}.education-card>span{width:42px;height:42px;font-size:21px;}.education-card h4{font-size:15px;}.cert-title{font-size:16px;}.cert-list span{font-size:9px;padding:9px 10px;}
  .process-section{padding:62px 24px 70px;}.process-eyebrow{gap:12px;font-size:12px;}.process-eyebrow i{width:48px;}.process-kicker{font-size:10px;letter-spacing:3px;}.process-heading h2{font-size:clamp(42px,11vw,62px);}.process-rule{margin-bottom:30px;}.process-grid{grid-template-columns:1fr;gap:14px;}.process-card{min-height:210px;grid-template-columns:1.05fr .95fr;}.process-card-copy{padding:23px 12px 20px 20px;}.process-card-copy>span{font-size:24px;}.process-card-copy h3{font-size:27px;}.process-card-copy p{font-size:14px;}.process-art{width:145px;height:160px;padding:18px 14px;}.process-art b{font-size:11px;}.process-footer{gap:10px;font-size:8px;letter-spacing:2px;}.process-footer i{width:30px;}
  .services-section{padding:62px 24px 70px;}.services-heading-row{display:block;margin:0 0 30px;}.services-eyebrow{margin-left:0;}.services-heading h2{font-size:clamp(43px,11vw,64px);margin-bottom:22px;}.services-heading-row>p{font-size:17px;}.services-side-note{display:none;}.services-grid{grid-template-columns:1fr;gap:14px;}.service-card{min-height:205px;grid-template-columns:1fr 1fr;}.service-copy{padding:23px 12px 20px 18px;}.service-copy h3{font-size:26px;}.service-copy p{font-size:14px;margin-bottom:22px;}.service-copy span{font-size:9px;letter-spacing:2px;}.service-art{min-height:205px;}.service-art-screen b{font-size:17px;margin-left:18px;}.service-art-screen small,.service-art-screen em{margin-left:18px;}.service-art-cubes b{inset:23% 17%;}.service-art-link b{font-size:100px;}.service-art-code b{font-size:10px;}.service-art-code em{font-size:78px;}.services-footer{gap:10px;margin-top:24px;}.services-footer p{font-size:15px;white-space:normal;text-align:center;}.services-footer i{min-width:18px;}
}

@media(min-width:761px){
  .process-section{padding-top:clamp(58px,6vw,84px);padding-bottom:clamp(48px,5vw,70px);}
  .process-eyebrow{font-size:12px;gap:16px;margin-bottom:14px;}
  .process-eyebrow i{width:64px;}
  .process-kicker{font-size:11px;letter-spacing:4px;margin-bottom:14px;}
  .process-heading h2{font-size:clamp(38px,4vw,58px);}
  .process-rule{margin:16px auto 28px;width:32px;}
  .process-grid{gap:14px;}
  .process-card{min-height:210px;border-radius:10px;}
  .process-card-copy{padding:22px 16px 20px 22px;}
  .process-card-copy>span{font-size:23px;}
  .process-card-copy>i{width:24px;margin:10px 0 13px;}
  .process-card-copy h3{font-size:25px;margin-bottom:12px;}
  .process-card-copy p{font-size:14px;line-height:1.3;}
  .process-art{width:min(70%,190px);height:164px;padding:18px 15px;border-radius:10px;}
}



