@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#14212a;background:#f5f4f0;font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}.header{height:88px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:#f5f4f0;position:sticky;top:0;z-index:20;border-bottom:1px solid #d9d8d3}.brand{display:flex;align-items:center;gap:13px;font-weight:700;letter-spacing:.08em}.brand img{width:43px;height:43px;object-fit:contain}.header nav{display:flex;align-items:center;gap:30px;font-size:14px}.quote{background:#14212a;color:#fff;padding:14px 20px}.menu{display:none;border:0;background:none;font-size:26px}.hero{height:calc(100vh - 88px);min-height:690px;position:relative;color:#fff;overflow:hidden}.hero-bg{position:absolute;inset:0;background:url('assets/hero/finished-kitchen-01.jpg') center/cover no-repeat;animation:hero 24s infinite}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,17,23,.82) 0%,rgba(7,17,23,.48) 52%,rgba(7,17,23,.12) 100%)}@keyframes hero{0%,22%{background-image:url('assets/hero/finished-kitchen-01.jpg')}25%,47%{background-image:url('assets/hero/finished-bathroom-01.jpg')}50%,72%{background-image:url('assets/hero/finished-kitchen-02.jpg')}75%,100%{background-image:url('assets/hero/finished-bathroom-02.jpg')}}.hero-copy{position:absolute;left:7vw;top:50%;transform:translateY(-53%);max-width:800px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.18em;margin:0 0 24px}.blue{color:#1689c2}.hero h1,.statement h2,.section-head h2,.approach h2,.visual h2,.owners h2,.contact h2{font-family:'Playfair Display',serif;font-weight:600;line-height:.94;margin:0}.hero h1{font-size:clamp(58px,7.3vw,112px)}.hero h1 em{color:#8fd7f4;font-style:normal}.hero-copy>p:not(.eyebrow){font-size:19px;max-width:610px;line-height:1.6}.actions{display:flex;gap:12px;margin-top:34px}.actions a{background:#1689c2;color:#fff;padding:16px 25px;font-weight:700;font-size:14px}.actions .outline{background:transparent;border:1px solid #fff}.hero-foot{position:absolute;bottom:0;left:0;right:0;padding:22px 7vw;display:flex;gap:45px;background:rgba(8,17,23,.8);font-size:13px}.statement{padding:120px 8vw;background:#f5f4f0}.statement h2,.section-head h2,.approach h2,.owners h2{font-size:clamp(50px,6vw,88px)}.statement h2 span{color:#1689c2}.two{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin:65px 0;font-size:17px;line-height:1.8}.credentials{border-top:1px solid #bbb;display:grid;grid-template-columns:repeat(4,1fr);padding-top:28px;gap:25px;font-size:16px}.work{background:#101b22;color:#fff;padding:110px 5vw}.section-head{max-width:950px;margin:0 auto 60px}.section-head p:last-child{max-width:600px;line-height:1.7;color:#c7cdd0}.work-grid{display:grid;grid-template-columns:repeat(2,1fr);max-width:1400px;margin:auto}.project{height:560px;position:relative;overflow:hidden}.project img{width:100%;height:100%;object-fit:cover;transition:.6s}.project:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,10,14,.82),transparent 65%)}.project span{position:absolute;z-index:2;left:38px;bottom:36px}.project small,.project i{display:block;font-size:12px;letter-spacing:.12em;font-style:normal}.project b{display:block;font-family:'Playfair Display';font-size:42px;line-height:1.05;margin:10px 0 18px}.project:hover img{transform:scale(1.035)}.capabilities{padding:110px 8vw;background:#15232c;color:#fff}.section-head.dark{margin-left:0}.cap{display:grid;grid-template-columns:100px 1.2fr 1fr;gap:30px;align-items:center;border-top:1px solid #526069;padding:34px 0}.cap>span{color:#79c8e8;font-size:16px}.cap h3{font-family:'Playfair Display';font-size:35px;margin:0}.cap p{color:#c8ced1;line-height:1.7;margin:0}.approach{padding:130px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:9vw;background:#fff}.lead{font-size:20px;line-height:1.6;max-width:480px}.approach ol{list-style:none;padding:0;margin:0}.approach li{display:grid;grid-template-columns:70px 1fr;border-top:1px solid #ccc;padding:28px 0}.approach li b{color:#1689c2}.approach li strong{display:block;font-size:25px;margin-bottom:7px}.approach li span{line-height:1.6}.visual{display:grid;grid-template-columns:1.25fr .75fr;background:#14212a;color:#fff}.visual img{width:100%;height:680px;object-fit:cover}.visual div{padding:90px 6vw;align-self:center}.visual h2{font-size:58px}.visual p:last-child{line-height:1.8;color:#d3d8db}.owners{padding:120px 8vw}.owner-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:65px}.owner-grid article{padding:45px;background:#fff;border-top:5px solid #1689c2}.owner-grid span{font-size:12px;letter-spacing:.16em;color:#1689c2;font-weight:700}.owner-grid h3{font-family:'Playfair Display';font-size:34px}.owner-grid p{line-height:1.8}.contact{padding:120px 8vw;background:#1689c2;color:#fff}.contact h2{font-size:clamp(55px,7vw,100px)}.contact>p:not(.eyebrow){font-size:20px}.contact .actions a{background:#14212a}.contact .actions .outline{background:transparent}footer{background:#0d171d;color:#fff;padding:55px 6vw;display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:13px}footer p{margin:0;color:#bdc5c9}
@media(max-width:850px){.header{height:72px}.header nav{display:none;position:absolute;top:72px;left:0;right:0;background:#f5f4f0;padding:25px 6vw;flex-direction:column;align-items:flex-start}.header nav.open{display:flex}.menu{display:block}.hero{height:780px}.hero-copy{left:6vw;right:6vw}.hero h1{font-size:58px}.hero-foot{gap:12px;flex-wrap:wrap}.two,.approach,.visual,.owner-grid{grid-template-columns:1fr}.credentials{grid-template-columns:1fr 1fr}.work-grid{grid-template-columns:1fr}.project{height:480px}.cap{grid-template-columns:55px 1fr}.cap p{grid-column:2}.visual img{height:520px}.section-head h2,.statement h2,.approach h2,.owners h2{font-size:48px}footer{align-items:flex-start;flex-direction:column}}

/* V15 package detail pages */
.cap{position:relative;color:#fff;text-decoration:none;transition:background .2s}.cap:hover{background:rgba(255,255,255,.035)}.cap-arrow{font-size:13px;color:#79c8e8;justify-self:end;white-space:nowrap}.back-top{font-size:14px;font-weight:700}.package-page{background:#f5f4f0}.package-hero{padding:100px 8vw 85px;background:#f5f4f0}.package-hero h1{font-family:'Playfair Display',serif;font-size:clamp(58px,8vw,118px);line-height:.95;margin:0 0 30px;max-width:1050px}.package-hero>p:not(.eyebrow){font-size:18px;line-height:1.7;max-width:720px}.package-hero>a{display:inline-block;margin-top:20px;font-weight:700;color:#1689c2}.ba-wrap{padding:20px 8vw 120px;display:grid;gap:70px}.ba-card{background:#fff}.ba-title{padding:25px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd}.ba-title span{font-family:'Playfair Display',serif;font-size:30px;font-weight:600}.ba-title small{letter-spacing:.12em;font-weight:700;color:#1689c2}.ba-grid{display:grid;grid-template-columns:1fr 1fr}.ba-grid figure{margin:0;position:relative;overflow:hidden;min-height:500px;background:#e9e8e3}.ba-grid figure:first-child{border-right:1px solid #fff}.ba-grid img{width:100%;height:100%;min-height:500px;object-fit:cover;display:block}.ba-grid figcaption{position:absolute;left:22px;top:22px;background:#14212a;color:#fff;padding:9px 13px;font-size:11px;font-weight:700;letter-spacing:.15em}.package-cta{padding:100px 8vw;background:#14212a;color:#fff}.package-cta h2{font-family:'Playfair Display',serif;font-size:clamp(50px,6vw,86px);line-height:1;margin:0 0 25px}.package-cta>p:not(.eyebrow){font-size:18px}.package-cta .actions .outline{background:transparent;border:1px solid #fff}
@media(max-width:850px){.cap-arrow{grid-column:2;justify-self:start}.package-hero{padding:70px 6vw}.ba-wrap{padding:10px 5vw 80px;gap:40px}.ba-title{align-items:flex-start;gap:8px;flex-direction:column}.ba-grid{grid-template-columns:1fr}.ba-grid figure,.ba-grid img{min-height:390px}.ba-grid figure:first-child{border-right:0;border-bottom:1px solid #fff}.back-top{font-size:12px}.package-cta{padding:75px 6vw}}

/* V16 refinements */
.capabilities .section-head.dark{margin-bottom:42px}.capabilities .section-head.dark h2{font-size:clamp(50px,6vw,88px)}
.ba-wrap{max-width:1180px;margin:0 auto;padding-left:5vw;padding-right:5vw;gap:48px}.ba-card{border:1px solid #deddd8}.ba-grid figure{min-height:0;height:390px}.ba-grid img{min-height:0;height:390px;object-fit:cover}.ba-title{padding:20px 24px}.ba-title span{font-size:27px}
@media(max-width:850px){.ba-wrap{padding-left:5vw;padding-right:5vw}.ba-grid figure,.ba-grid img{height:310px;min-height:0}}

/* V17 refinements */
.hero-bg.hero-fleming{background-image:url('assets/projects/fleming-kitchen-after.jpg');animation:flemingHero 14s infinite}
@keyframes flemingHero{0%,46%{background-image:url('assets/projects/fleming-kitchen-after.jpg')}50%,96%{background-image:url('assets/projects/fleming-bathroom-after.jpg')}100%{background-image:url('assets/projects/fleming-kitchen-after.jpg')}}
.ba-title span{font-size:23px}.ba-title small{font-size:11px}.zoomable{cursor:zoom-in;transition:transform .25s,filter .25s}.zoomable:hover{transform:scale(1.015);filter:brightness(1.03)}
.lightbox{position:fixed;inset:0;background:rgba(4,10,14,.94);z-index:999;display:none;align-items:center;justify-content:center;padding:60px 5vw 75px}.lightbox.open{display:flex}.lightbox img{max-width:94vw;max-height:82vh;width:auto;height:auto;object-fit:contain;box-shadow:0 20px 70px rgba(0,0,0,.45)}.lightbox-close{position:fixed;right:30px;top:20px;border:0;background:transparent;color:#fff;font-size:48px;line-height:1;cursor:pointer}.lightbox p{position:fixed;bottom:25px;color:#fff;font-size:12px;font-weight:700;letter-spacing:.15em}.no-scroll{overflow:hidden}
footer p:last-child{line-height:1.75;text-align:right}
@media(max-width:850px){footer p:last-child{text-align:left}.lightbox{padding:55px 15px}.lightbox-close{right:18px;top:14px}}

/* V18 contact details */
.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:1100px;margin:32px auto 0;text-align:left}.contact-grid>a,.contact-address{display:flex;flex-direction:column;gap:5px;padding:22px;border:1px solid rgba(255,255,255,.22);text-decoration:none;color:inherit}.contact-grid>a:hover{border-color:#1689c2;transform:translateY(-2px)}.contact-icon{font-size:24px;line-height:1;color:#1689c2}.contact-grid b{font-size:16px}.contact-grid small{opacity:.8;line-height:1.45}.contact-address{grid-column:span 2}@media(max-width:760px){.contact-grid{grid-template-columns:1fr}.contact-address{grid-column:auto}}

/* V20 dedicated contact page */
.header nav a.active{font-weight:700;color:#1689c2}.contact-hero{padding:110px 8vw 90px;background:#14212a;color:#fff}.contact-hero h1{font-family:'Playfair Display',serif;font-size:clamp(58px,8vw,112px);line-height:.94;margin:0}.contact-hero h1 em{color:#8fd7f4;font-style:normal}.contact-hero>p:last-child{font-size:19px;line-height:1.7;max-width:680px;margin-top:30px;color:#d6dde1}.contact-page-grid{padding:70px 8vw 100px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1400px;margin:auto}.contact-card{background:#fff;border:1px solid #d9d8d3;min-height:160px;padding:30px;display:flex;align-items:center;gap:24px;transition:transform .2s,border-color .2s,box-shadow .2s}.contact-card[href]:hover{transform:translateY(-3px);border-color:#1689c2;box-shadow:0 14px 35px rgba(20,33,42,.08)}.contact-card>span:last-child{display:flex;flex-direction:column;gap:5px;min-width:0}.contact-card small{font-size:11px;letter-spacing:.16em;font-weight:700;color:#68757d}.contact-card strong{font-size:20px;overflow-wrap:anywhere}.contact-card em{font-size:14px;color:#68757d;font-style:normal;line-height:1.5}.contact-logo{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;flex:0 0 64px;background:#eef7fb;color:#1689c2;font-size:27px}.contact-logo svg{width:37px;height:37px}.whatsapp-logo{background:#25D366;color:#fff}.instagram-logo{background:#14212a;color:#fff}.social-card{border-width:2px}.whatsapp-card{border-color:#25D366}.instagram-card{border-color:#14212a}.address-card{grid-column:1/-1;background:#eef1f2}.contact-note{padding:85px 8vw;background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:end}.contact-note h2{font-family:'Playfair Display',serif;font-size:clamp(42px,5vw,70px);line-height:1;margin:0}.contact-note>p{font-size:18px;line-height:1.8;margin:0}.contact-page footer{margin-top:0}@media(max-width:850px){.contact-hero{padding:75px 6vw 65px}.contact-page-grid{grid-template-columns:1fr;padding:45px 6vw 70px}.address-card{grid-column:auto}.contact-card{padding:22px;min-height:135px}.contact-logo{width:56px;height:56px;flex-basis:56px}.contact-note{grid-template-columns:1fr;padding:65px 6vw}}

/* V21 contact page - proportional social icons + lightened project-photo background */
.contact-v21-main{background:#f5f4f0}.contact-v21-bg{position:relative;background:url('assets/contact/contact-hallway.jpg') center 38%/cover fixed no-repeat;min-height:1050px}.contact-v21-wash{position:absolute;inset:0;background:rgba(255,255,255,.68)}.contact-v21-content{position:relative;z-index:1;max-width:1450px;margin:auto;padding:70px 5vw 85px}.contact-v21-intro{text-align:center;max-width:780px;margin:0 auto 42px}.contact-v21-intro .eyebrow{color:#285f59;margin-bottom:13px}.contact-v21-intro h1{font-family:'Playfair Display',serif;font-size:clamp(54px,6vw,86px);line-height:1;margin:0 0 12px;color:#14212a}.contact-v21-intro>p:last-child{font-family:'Playfair Display',serif;font-size:20px;line-height:1.4;margin:0;color:#26333b}.contact-v21-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.v21-card{min-height:230px;padding:25px 18px 20px;background:rgba(255,255,255,.91);border:1px solid rgba(20,33,42,.1);border-radius:12px;text-align:center;display:flex;flex-direction:column;align-items:center;box-shadow:0 10px 28px rgba(20,33,42,.06)}.v21-card h2{font-family:'Playfair Display',serif;font-size:24px;margin:10px 0 9px}.v21-card a,.v21-card strong{font-size:15px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}.v21-card>span:last-child{margin-top:auto;padding-top:14px;border-top:1px solid #c8cfcc;width:80%;font-size:13px;color:#285f59}.v21-linkcard{transition:transform .2s,box-shadow .2s}.v21-linkcard:hover{transform:translateY(-3px);box-shadow:0 15px 34px rgba(20,33,42,.1)}.v21-icon{width:46px;height:46px;flex:0 0 46px;border-radius:50%;display:grid;place-items:center;font-size:21px}.v21-icon.neutral{background:#527d76;color:#fff}.v21-icon svg{width:34px;height:34px;display:block}.v21-icon.whatsapp{background:#25D366;color:#fff}.v21-icon.instagram{background:transparent;border-radius:10px}.v21-icon.instagram svg{width:38px;height:38px}.contact-v21-lower{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;margin-top:18px}.v21-panel{background:rgba(255,255,255,.92);border:1px solid rgba(20,33,42,.1);border-radius:12px;padding:32px 36px;box-shadow:0 10px 28px rgba(20,33,42,.06)}.v21-panel h2{font-family:'Playfair Display',serif;font-size:34px;margin:0 0 8px}.v21-panel>p{line-height:1.6;margin:0 0 20px}.v21-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v21-form-grid input,.v21-form-grid select,.v21-form-grid textarea{width:100%;border:1px solid #aeb8b5;background:rgba(255,255,255,.75);padding:13px 14px;font:inherit;color:#14212a;border-radius:6px}.v21-form-grid textarea{grid-column:1/-1;min-height:115px;resize:vertical}.v21-panel button{width:100%;margin-top:12px;border:0;border-radius:7px;background:#285f59;color:#fff;font:inherit;font-weight:700;padding:14px;cursor:pointer}.v21-together ul{list-style:none;padding:0;margin:28px 0 0;border-top:1px solid #bcc5c2}.v21-together li{position:relative;padding:17px 0 17px 42px;border-bottom:1px solid #d5dad8;line-height:1.5}.v21-together li:before{content:'✓';position:absolute;left:0;top:14px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e6ece9;color:#285f59;font-weight:700}
@media(max-width:1050px){.contact-v21-cards{grid-template-columns:repeat(3,1fr)}.contact-v21-lower{grid-template-columns:1fr}.contact-v21-bg{background-attachment:scroll}}
@media(max-width:700px){.contact-v21-content{padding:52px 5vw 65px}.contact-v21-cards{grid-template-columns:1fr 1fr}.v21-card{min-height:200px;padding:20px 12px}.v21-icon{width:42px;height:42px;flex-basis:42px}.v21-icon svg{width:30px;height:30px}.v21-panel{padding:26px 20px}.v21-form-grid{grid-template-columns:1fr}.v21-form-grid textarea{grid-column:auto}}
@media(max-width:460px){.contact-v21-cards{grid-template-columns:1fr}.v21-card{min-height:175px}.contact-v21-intro>p:last-child{font-size:17px}}

/* V22 contact page — matched to approved reference layout */
.contact-v22{background:#f7f7f6}.v22-header{position:relative;height:78px;background:rgba(255,255,255,.96);padding-left:max(5vw,70px);padding-right:max(5vw,70px)}.v22-header .brand{font-family:'Playfair Display',serif;font-size:27px;letter-spacing:.02em;gap:9px}.v22-header .brand img{width:36px;height:36px}.v22-header .brand span{display:flex;flex-direction:column}.v22-header .brand small{font-family:'DM Sans',sans-serif;font-size:7px;letter-spacing:.32em;margin-top:3px;font-weight:600}.v22-header nav{gap:34px}.v22-header nav a{font-size:13px}.v22-header nav .active{color:#285f59;border-bottom:2px solid #285f59;padding-bottom:15px}.v22-header .quote{border-radius:12px;background:#285f59;padding:13px 24px;color:#fff}.v22-contact-bg{position:relative;background:url('assets/contact/contact-hallway.jpg') center 31%/cover no-repeat;min-height:900px;padding:42px 4.6vw 30px}.v22-overlay{position:absolute;inset:0;background:rgba(255,255,255,.48)}.v22-shell{position:relative;z-index:1;max-width:1320px;margin:0 auto}.v22-intro{text-align:center;color:#17232a;margin-bottom:28px}.v22-intro>p{font-size:11px;font-weight:700;letter-spacing:.35em;color:#285f59;margin:0 0 8px}.v22-intro>span{display:block;width:48px;border-top:1px solid #285f59;margin:0 auto 12px}.v22-intro h1{font-family:'Playfair Display',serif;font-size:61px;line-height:1;margin:0 0 8px;font-weight:600}.v22-intro>div{font-family:'Playfair Display',serif;font-size:17px;line-height:1.35}.v22-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.v22-card{height:196px;background:rgba(255,255,255,.92);border:1px solid rgba(20,33,42,.08);border-radius:10px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px 14px 14px;box-shadow:0 7px 20px rgba(20,33,42,.04)}.v22-round{width:40px;height:40px;border-radius:50%;background:#5d837c;color:#fff;display:grid;place-items:center;font-size:19px;line-height:1}.v22-social{width:40px;height:40px;display:grid;place-items:center}.v22-social svg{width:38px;height:38px}.v22-social.whatsapp{background:#10c94b;color:#fff;border-radius:50%}.v22-social.whatsapp svg{width:34px;height:34px}.v22-card h2{font-family:'Playfair Display',serif;font-size:20px;margin:8px 0 5px;font-weight:600}.v22-card p{font-family:'Playfair Display',serif;font-size:14px;line-height:1.3;margin:0;color:#46515a}.v22-card strong{font-size:17px;line-height:1.45}.v22-card strong.email{font-size:13px;margin-top:6px}.v22-rule{width:72px;border-top:1px solid #b8c0bd;margin-top:auto;margin-bottom:9px}.v22-action{font-family:'Playfair Display',serif;text-decoration:underline;color:#285f59;font-size:13px}.v22-action b{font-family:'DM Sans';font-size:20px;font-weight:400;margin-left:5px;text-decoration:none}.instagram-action{color:#e1306c}.v22-lower{display:grid;grid-template-columns:1.05fr .95fr;gap:14px;margin-top:14px}.v22-panel{min-height:326px;background:rgba(255,255,255,.92);border:1px solid rgba(20,33,42,.08);border-radius:10px;padding:22px 34px;box-shadow:0 7px 20px rgba(20,33,42,.04)}.v22-panel h2{font-family:'Playfair Display',serif;font-size:29px;margin:0 0 4px;font-weight:600}.v22-panel>p{font-family:'Playfair Display',serif;font-size:14px;line-height:1.5;margin:0 0 14px;color:#46515a}.v22-form{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v22-form input,.v22-form select,.v22-form textarea{border:1px solid #b5bdbc;border-radius:5px;background:rgba(255,255,255,.68);padding:10px 12px;font:12px 'DM Sans',sans-serif;color:#14212a}.v22-form textarea{grid-column:1/-1;height:82px;resize:vertical}.v22-panel button{width:100%;border:0;border-radius:6px;background:#285f59;color:#fff;padding:11px;margin-top:9px;font:14px 'DM Sans';cursor:pointer}.v22-form-note{display:block;font-size:9px;color:#68757d;margin-top:5px;text-align:center}.v22-work>p{max-width:510px}.v22-short-rule{width:42px;border-top:1px solid #285f59;margin:13px 0}.v22-work ul{list-style:none;margin:0;padding:0}.v22-work li{display:grid;grid-template-columns:45px 1fr;align-items:center;gap:10px;margin:11px 0;font-family:'Playfair Display',serif;font-size:14px;line-height:1.35}.v22-work i{width:40px;height:40px;border-radius:50%;background:#e8ebe8;display:grid;place-items:center;font-family:'DM Sans';font-style:normal;font-size:18px;color:#14212a}.contact-v22 footer{margin-top:0}.desktop-only{display:block}
@media(max-width:1050px){.v22-header{padding:0 4vw}.v22-header nav{gap:18px}.v22-cards{grid-template-columns:repeat(3,1fr)}.v22-card{height:190px}.v22-lower{grid-template-columns:1fr}.v22-contact-bg{background-position:center top}}
@media(max-width:850px){.v22-header .brand small{display:none}.v22-contact-bg{padding:38px 5vw}.v22-intro h1{font-size:52px}.v22-cards{grid-template-columns:1fr 1fr}.v22-panel{padding:25px 22px}.desktop-only{display:none}}
@media(max-width:520px){.v22-contact-bg{padding:32px 5vw}.v22-intro h1{font-size:45px}.v22-intro>div{font-size:15px}.v22-cards{grid-template-columns:1fr}.v22-card{height:178px}.v22-form{grid-template-columns:1fr}.v22-form textarea{grid-column:auto}.v22-panel{min-height:0}.v22-header .brand{font-size:21px}.v22-header .brand img{width:31px;height:31px}}


/* V30 — mobile/portrait layout stabilisation and package gallery consistency */
@media (max-width: 850px){
  html,body{max-width:100%;overflow-x:hidden}
  body{font-size:16px}
  .header{height:72px;padding:0 5vw;gap:12px}
  .brand{min-width:0;gap:9px;font-size:13px;letter-spacing:.055em;white-space:nowrap}
  .brand img{width:36px;height:36px;flex:0 0 36px}
  .menu{display:block;flex:0 0 auto;font-size:25px;line-height:1}
  .header nav{top:72px;z-index:100;gap:18px;padding:22px 6vw;font-size:15px;box-shadow:0 12px 28px rgba(20,33,42,.12)}
  .header nav a{width:100%}
  .header nav .quote{width:auto}

  .hero{height:auto;min-height:720px}
  .hero-copy{left:6vw;right:6vw;top:46%;transform:translateY(-50%);max-width:none}
  .hero h1{font-size:clamp(42px,13vw,54px);line-height:1.02;letter-spacing:-.02em;overflow-wrap:normal;word-break:normal}
  .hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.55;max-width:92%}
  .eyebrow{font-size:10px;line-height:1.4;letter-spacing:.15em;margin-bottom:18px}
  .actions{flex-direction:column;align-items:flex-start;gap:10px;margin-top:24px}
  .actions a{display:inline-block;max-width:100%;padding:14px 20px}
  .hero-foot{padding:16px 6vw;gap:7px 18px;font-size:11px;line-height:1.35}

  .statement,.capabilities,.owners{padding-left:6vw;padding-right:6vw}
  .statement{padding-top:76px;padding-bottom:76px}
  .statement h2,.section-head h2,.approach h2,.owners h2{font-size:clamp(38px,11vw,48px);line-height:1.03;letter-spacing:-.015em}
  .two{grid-template-columns:1fr;gap:20px;margin:38px 0;font-size:16px;line-height:1.65}
  .two p{margin:0}
  .credentials{grid-template-columns:1fr 1fr;gap:18px 14px;font-size:14px;line-height:1.35}

  .capabilities{padding-top:76px;padding-bottom:76px}
  .capabilities .section-head.dark{margin-bottom:24px}
  .cap{grid-template-columns:38px minmax(0,1fr);gap:10px 14px;padding:24px 0;align-items:start}
  .cap>span{padding-top:5px}
  .cap h3{font-size:28px;line-height:1.08;min-width:0;overflow-wrap:normal;word-break:normal}
  .cap p{grid-column:2;font-size:15px;line-height:1.55;min-width:0}
  .cap-arrow{grid-column:2;justify-self:start;margin-top:2px;font-size:12px}

  .approach{padding:76px 6vw;grid-template-columns:1fr;gap:40px}
  .lead{font-size:17px;line-height:1.6;max-width:none}
  .approach li{grid-template-columns:48px minmax(0,1fr);gap:8px;padding:22px 0}
  .approach li strong{font-size:22px;line-height:1.15}
  .approach li span{font-size:15px;line-height:1.55}

  .visual{grid-template-columns:1fr}
  .visual img{height:auto;aspect-ratio:4/3;object-fit:cover}
  .visual div{padding:58px 6vw}
  .visual h2{font-size:clamp(38px,11vw,48px);line-height:1.03;letter-spacing:-.015em}
  .visual p:last-child{font-size:15px;line-height:1.65}

  .owners{padding-top:76px;padding-bottom:76px}
  .owner-grid{grid-template-columns:1fr;gap:16px;margin-top:38px}
  .owner-grid article{padding:30px 24px}
  .owner-grid h3{font-size:29px;line-height:1.08}
  .owner-grid p{font-size:15px;line-height:1.65}

  footer{padding:38px 6vw;gap:18px;line-height:1.55}
  footer .brand{font-size:13px}

  /* Package pages */
  .package-page .header{justify-content:space-between}
  .package-page .brand{font-size:12px;max-width:55%}
  .package-page .brand span{overflow:hidden;text-overflow:ellipsis}
  .back-top{font-size:11px;line-height:1.25;white-space:nowrap;text-align:right}
  .package-hero{padding:58px 6vw 52px}
  .package-hero h1{font-size:clamp(40px,12vw,52px);line-height:1.03;letter-spacing:-.018em;margin-bottom:22px;overflow-wrap:normal;word-break:normal}
  .package-hero>p:not(.eyebrow){font-size:16px;line-height:1.6}
  .package-hero>a{font-size:14px;margin-top:14px}
  .ba-wrap{padding:8px 5vw 72px;gap:34px}
  .ba-title{padding:16px 17px;gap:6px}
  .ba-title span{font-size:23px;line-height:1.12}
  .ba-title small{font-size:9px;line-height:1.35;letter-spacing:.09em}
  .ba-grid{grid-template-columns:1fr}
  .ba-grid figure{height:auto!important;aspect-ratio:4/3;min-height:0!important}
  .ba-grid img{height:100%!important;min-height:0!important;object-fit:cover;object-position:center}
  .ba-grid figure:first-child{border-right:0;border-bottom:1px solid #fff}
  .ba-grid figcaption{left:14px;top:14px;padding:7px 10px;font-size:9px}
  .package-cta{padding:62px 6vw}
  .package-cta h2{font-size:clamp(38px,11vw,48px);line-height:1.03}
  .package-cta>p:not(.eyebrow){font-size:16px;line-height:1.55}
}

@media (max-width: 520px){
  .header{padding-left:4.5vw;padding-right:4.5vw}
  .brand{font-size:12px;letter-spacing:.04em}
  .brand img{width:33px;height:33px;flex-basis:33px}
  .hero{min-height:680px}
  .hero-copy{left:5vw;right:5vw}
  .hero h1{font-size:clamp(39px,12.2vw,48px);line-height:1.015}
  .hero-copy>p:not(.eyebrow){font-size:15px;max-width:100%}
  .hero-foot{font-size:10px}
  .statement h2,.section-head h2,.approach h2,.owners h2,.visual h2{font-size:clamp(36px,10.5vw,44px)}
  .credentials{grid-template-columns:1fr}
  .cap{grid-template-columns:32px minmax(0,1fr);gap:8px 11px}
  .cap h3{font-size:25px;line-height:1.1}
  .cap p{font-size:14px}
  .approach li{grid-template-columns:40px minmax(0,1fr)}
  .approach li strong{font-size:20px}
  .package-page .brand{max-width:51%;font-size:11px}
  .back-top{font-size:10px}
  .package-hero h1{font-size:clamp(38px,11.5vw,46px);line-height:1.03}
  .ba-title span{font-size:21px}
  .ba-grid figure{aspect-ratio:4/3}
  footer p{font-size:12px}
}
