.intro-section { padding:100px 0 110px; background:white; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:38px; margin-bottom:45px; }
.section-heading h2,.section-title { max-width:800px; margin:0 0 14px; font:500 clamp(42px,4.8vw,70px)/1.07 var(--display); letter-spacing:-.045em; }
.section-heading p:not(.overline) { max-width:660px; margin:0; color:var(--muted); font-size:16px; }
.section-heading .text-link { flex:none; margin-bottom:5px; }
.project-index { border-top:1px solid var(--line); }
.index-head { display:flex; justify-content:space-between; gap:20px; padding:25px 0; }
.index-head .overline { margin:0; }
.index-head p:last-child { max-width:500px; margin:0; color:var(--muted); font-size:13px; }
.project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); }
.project-entry { position:relative; display:flex; min-height:230px; flex-direction:column; align-items:flex-start; gap:11px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); padding:22px 24px; transition:background .2s; }
.project-entry:nth-child(3n) { border-right:0; }
.project-entry:hover { background:var(--paper); }
.project-entry .entry-label { max-width:calc(100% - 34px); color:var(--accent-dark); font-size:10px; font-weight:800; letter-spacing:.12em; }
.project-entry h3 { max-width:330px; margin:17px 0 2px; font:500 clamp(25px,2.45vw,36px)/1.1 var(--display); letter-spacing:-.03em; }
.project-entry p { max-width:330px; margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
.project-entry .entry-bottom { margin-top:auto; color:var(--ink); font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.entry-arrow { position:absolute; top:18px; right:19px; display:grid; width:36px; height:36px; place-items:center; border:1px solid #abb2b3; border-radius:50%; font-size:20px; }
.entry-arrow .ui-icon { width:19px; height:19px; }
.project-entry:hover .entry-arrow { background:var(--ink); color:white; }
.gallery-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin:85px 0 30px; border-top:1px solid var(--line); padding-top:44px; }
.gallery-heading h2 { max-width:650px; margin:0 0 14px; font:500 clamp(39px,4vw,57px)/1.08 var(--display); letter-spacing:-.04em; }
.gallery-heading p:not(.overline) { max-width:580px; margin:0 0 12px; color:var(--muted); font-size:14px; }
.carousel-nav { display:flex; flex:none; gap:9px; }
.carousel-nav button { width:45px; height:45px; border:1px solid var(--ink); border-radius:50%; background:white; color:var(--ink); font-size:22px; }
.carousel-nav .ui-icon { width:21px; height:21px; }
.carousel-nav button:hover:not(:disabled) { background:var(--ink); color:white; }
.gallery-track { display:flex; gap:20px; overflow-x:auto; scrollbar-width:none; scroll-snap-type:x mandatory; }
.gallery-track::-webkit-scrollbar { display:none; }
.gallery-card { flex:0 0 calc((100% - 40px)/3); min-width:290px; scroll-snap-align:start; }
.gallery-card a { display:block; }
.gallery-card img { height:clamp(270px,25vw,360px); border-radius:18px; object-fit:cover; }
.gallery-card small { display:block; margin:17px 0 7px; color:var(--accent-dark); font-size:10px; font-weight:800; letter-spacing:.1em; }
.gallery-card h3 { display:flex; justify-content:space-between; gap:12px; max-width:370px; margin:0; font:500 clamp(23px,2.1vw,30px)/1.15 var(--display); }
.gallery-card h3 span { flex:none; font:400 20px var(--body); }
.gallery-card h3 .ui-icon { width:20px; height:20px; }
.gallery-card a:hover h3 { color:var(--accent-dark); }

.service-feature { padding:105px max(5vw,24px) 0; background:var(--dark); color:white; }
.service-feature-main { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1fr); align-items:center; gap:clamp(45px,7vw,105px); max-width:var(--wide); margin:auto; padding-bottom:72px; }
.service-feature .overline { color:var(--accent-light); }
.service-feature h2 { margin:16px 0 24px; font:500 clamp(48px,5vw,74px)/1.07 var(--display); letter-spacing:-.045em; }
.service-feature h2 em { color:var(--accent-light); font-style:normal; }
.service-feature-copy > p:not(.overline) { max-width:520px; margin:0 0 30px; color:#e2e7e8; font-size:17px; }
.service-feature .text-link { color:white; }
.service-stage { position:relative; overflow:hidden; min-height:350px; background:#1d2932; }
.service-stage img { position:absolute; inset:0; height:100%; object-fit:cover; }
.service-stage::after { position:absolute; inset:0; background:linear-gradient(0deg,#101920d9 0%,transparent 60%); content:''; }
.stage-head,.stage-foot { position:absolute; z-index:1; right:19px; left:19px; display:flex; justify-content:space-between; gap:12px; color:white; font-size:10px; font-weight:800; letter-spacing:.11em; }
.stage-head { top:19px; }
.stage-foot { bottom:19px; }
.stage-desc { position:absolute; z-index:1; right:19px; bottom:49px; left:19px; max-width:480px; margin:0; color:white; font:500 19px/1.35 var(--display); }
.service-tabs { display:grid; grid-template-columns:repeat(3,1fr); max-width:var(--wide); margin:auto; border-top:1px solid #819098; }
.service-tabs button { position:relative; min-height:220px; border:0; border-right:1px solid #819098; padding:24px 32px 28px 0; background:transparent; color:white; text-align:left; }
.service-tabs button+button { padding-left:30px; }
.service-tabs button:last-child { border-right:0; }
.service-tabs button[aria-pressed='true']::before { position:absolute; top:-2px; right:30px; left:0; height:3px; background:var(--accent); content:''; }
.service-tabs button+button[aria-pressed='true']::before { left:30px; }
.service-tabs small { display:block; color:var(--accent-light); font-size:10px; font-weight:800; letter-spacing:.13em; }
.service-tabs strong { display:block; margin:23px 0 8px; font:500 clamp(24px,2.2vw,32px)/1.16 var(--display); }
.service-tabs span { display:block; max-width:295px; color:#d0dbdd; font-size:12px; }
.service-tabs button:hover strong { color:var(--accent-light); }
.principles { display:grid; grid-template-columns:1.2fr repeat(3,1fr); gap:20px; align-items:center; padding:32px max(5vw,calc((100vw - var(--wide))/2)); background:white; border-bottom:1px solid var(--line); }
.principles > p { max-width:200px; margin:0; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.principles > div { display:flex; align-items:center; gap:16px; min-height:58px; border-left:1px solid var(--line); padding-left:26px; }
.principles strong { color:var(--ink); font:500 29px/1 var(--display); }
.principles span { color:var(--muted); font-size:11px; font-weight:700; line-height:1.4; text-transform:uppercase; }

.story-split { display:grid; grid-template-columns:1fr 1fr; min-height:590px; }
.story-image { position:relative; min-height:590px; }
.story-image img { height:100%; object-fit:cover; }
.story-caption { position:absolute; bottom:17px; left:20px; padding:6px 10px; background:#fffffff0; color:var(--ink); font-size:10px; font-weight:700; }
.story-text { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:70px clamp(45px,7vw,110px); }
.story-text h2 { max-width:620px; margin:0 0 25px; font:500 clamp(45px,4.5vw,68px)/1.07 var(--display); letter-spacing:-.045em; }
.story-text > p:not(.overline) { max-width:520px; margin:0 0 30px; color:var(--muted); font-size:16px; }
.story-aside { max-width:500px; margin-top:55px; border-top:1px solid var(--line); padding-top:20px; color:var(--muted); font-size:12px; }
.approach { padding:105px 0 115px; background:#f4f5f2; }
.approach h2 { max-width:810px; margin:0 0 16px; font:500 clamp(46px,5vw,72px)/1.06 var(--display); letter-spacing:-.045em; }
.approach-intro { max-width:620px; margin:0 0 45px; color:var(--muted); }
.approach-steps { display:grid; grid-template-columns:repeat(3,1fr); border-top:2px solid var(--ink); }
.approach-steps article { display:flex; min-height:285px; flex-direction:column; align-items:flex-start; border-right:1px solid #c6cbc8; padding:25px 35px 10px 0; }
.approach-steps article+article { padding-left:35px; }
.approach-steps article:last-child { border:0; }
.approach-steps small { color:var(--accent-dark); font-size:10px; font-weight:800; letter-spacing:.12em; }
.approach-steps h3 { margin:47px 0 13px; font:500 clamp(27px,2.5vw,38px)/1.12 var(--display); }
.approach-steps p { max-width:290px; margin:0 0 25px; color:var(--muted); font-size:14px; }
.approach-steps .text-link { margin-top:auto; }
.contact-band { padding:105px 0; background:#eff2f8; }
.contact-band-inner { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1fr); align-items:center; gap:clamp(45px,8vw,130px); }
.contact-band h2 { margin:0 0 25px; font:500 clamp(48px,5vw,74px)/1.07 var(--display); letter-spacing:-.045em; }
.contact-band h2 span { color:var(--accent-dark); }
.contact-band p:not(.overline) { max-width:540px; color:var(--muted); }
.contact-band .note { margin-top:50px; border-top:1px solid #c7cddc; padding-top:18px; font-size:12px; }
.contact-card { border:1px solid #d7dbe5; padding:30px 35px; background:white; }
.contact-card-header { display:flex; justify-content:space-between; gap:14px; color:var(--accent-dark); font-size:10px; font-weight:800; letter-spacing:.12em; }
.contact-card ol { margin:24px 0 0; padding:0; list-style:none; }
.contact-card li { display:grid; grid-template-columns:43px 1fr; gap:16px; border-top:1px solid var(--line); padding:22px 0; }
.contact-card li > span { color:var(--accent-dark); font-size:11px; font-weight:800; }
.contact-card strong { font:500 clamp(22px,2vw,30px)/1.12 var(--display); }
.contact-card p { margin:7px 0 0; font-size:13px; }

.faq { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1fr); gap:10%; padding:110px 0 120px; }
.faq h2 { max-width:500px; margin:0 0 22px; font:500 clamp(48px,5vw,74px)/1.07 var(--display); letter-spacing:-.045em; }
.faq > div:first-child > p:not(.overline) { max-width:420px; color:var(--muted); font-size:15px; }
.faq-list details { border-bottom:1px solid #bfc6c4; }
.faq-list details:first-child { border-top:1px solid #bfc6c4; }
.faq-list summary { display:flex; min-height:83px; align-items:center; justify-content:space-between; gap:20px; list-style:none; cursor:pointer; font:500 clamp(19px,2vw,26px)/1.3 var(--display); }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { color:var(--accent-dark); font:400 24px var(--body); }
.faq-list details[open] summary span { transform:rotate(45deg); }
.faq-list details p { max-width:570px; margin:0 38px 25px 0; color:var(--muted); font-size:14px; }

.site-footer { padding:76px max(5vw,24px) 25px; background:var(--dark); color:white; }
.footer-lead { display:flex; max-width:var(--wide); align-items:end; justify-content:space-between; gap:35px; margin:0 auto 76px; border-bottom:1px solid #77838a; padding-bottom:68px; }
.footer-lead small { color:var(--accent-light); font-size:10px; font-weight:800; letter-spacing:.14em; }
.footer-lead h2 { max-width:780px; margin:20px 0 0; font:500 clamp(50px,5.5vw,82px)/1.04 var(--display); letter-spacing:-.045em; }
.footer-lead h2 span { color:var(--accent-light); }
.footer-bottom { display:grid; max-width:var(--wide); grid-template-columns:1.8fr repeat(3,1fr); gap:35px; margin:0 auto 70px; }
.footer-bottom .wordmark { width:240px; align-self:start; }
.footer-bottom > div { display:flex; flex-direction:column; align-items:flex-start; gap:11px; }
.footer-bottom b { margin-bottom:10px; color:var(--accent-light); font-size:10px; letter-spacing:.13em; text-transform:uppercase; }
.footer-bottom a:not(.wordmark) { font-size:13px; font-weight:600; }
.footer-bottom a:not(.wordmark):hover { color:var(--accent-light); }
.footer-bottom .ui-icon,.legal .ui-icon { width:13px; height:13px; margin-left:3px; }
.legal { display:flex; max-width:var(--wide); justify-content:space-between; gap:28px; margin:auto; border-top:1px solid #77838a; padding-top:21px; color:#d8dfe1; font-size:11px; }
.legal p { max-width:900px; margin:0; }
.legal a { white-space:nowrap; font-weight:800; }

.page-hero { padding:105px 0 90px; background:var(--paper); }
.page-hero h1 { max-width:1100px; margin:0 0 24px; font:500 clamp(55px,6vw,90px)/1.06 var(--display); letter-spacing:-.05em; }
.page-hero p:not(.overline) { max-width:750px; margin:0; color:var(--muted); font-size:19px; }
.page-hero.with-image { position:relative; min-height:570px; display:flex; align-items:center; isolation:isolate; background:var(--dark); color:white; }
.page-hero.with-image::before { position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,#111c24db,#111c2490 62%,#111c242a); content:''; }
.page-hero.with-image > img { position:absolute; z-index:-2; inset:0; height:100%; object-fit:cover; }
.page-hero.with-image p:not(.overline) { color:#eef0ed; }
.page-hero.with-image .overline { color:var(--accent-light); }
.page-section { padding:95px 0 110px; }
.page-section.alt { background:var(--paper); }
.page-section h2 { max-width:900px; margin:0 0 22px; font:500 clamp(40px,4.7vw,65px)/1.08 var(--display); letter-spacing:-.04em; }
.page-section .lead { max-width:800px; margin:0 0 50px; color:var(--muted); font-size:17px; }
.service-rows { border-top:2px solid var(--ink); }
.service-row { display:grid; grid-template-columns:80px minmax(220px,.8fr) minmax(0,1fr); gap:25px; border-bottom:1px solid var(--line); padding:33px 0 38px; }
.service-row small { color:var(--accent-dark); font-weight:800; }
.service-row h3 { margin:0; font:500 clamp(26px,2.8vw,39px)/1.12 var(--display); }
.service-row p { max-width:610px; margin:0; color:var(--muted); font-size:15px; }
.project-listing { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:55px 24px; }
.listing-card img { height:350px; object-fit:cover; }
.listing-card .overline { margin:16px 0 6px; }
.listing-card h2 { margin:0 0 7px; font-size:clamp(27px,3vw,40px); }
.listing-card p { max-width:540px; margin:0; color:var(--muted); font-size:14px; }
.listing-card a:hover h2 { color:var(--accent-dark); }
.project-detail { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.45fr); gap:clamp(45px,7vw,110px); align-items:start; }
.project-detail img { max-height:650px; object-fit:cover; }
.project-detail-side { border-top:2px solid var(--accent); padding-top:16px; }
.project-detail-side h2 { font-size:37px; }
.project-detail-side p { color:var(--muted); }
.project-gallery { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:30px; }
.project-gallery img { height:360px; object-fit:cover; }
.project-gallery:has(img:only-child) { grid-template-columns:1fr; }
.project-gallery:has(img:only-child) img { height:min(430px,45vw); }
.next-work { display:flex; align-items:center; flex-wrap:wrap; gap:16px 30px; margin-top:70px; border-top:1px solid var(--line); padding-top:25px; }
.next-work span { margin-right:auto; color:var(--accent-dark); font-size:10px; font-weight:800; letter-spacing:.12em; }
.next-work a { border-bottom:2px solid var(--accent); font-size:13px; font-weight:800; }
.more-work { margin:55px 0 0; border-top:1px solid var(--line); padding-top:25px; color:var(--muted); font-size:14px; }
.team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.team-person { border-top:2px solid var(--ink); padding-top:19px; }
.team-person img { max-height:430px; margin-bottom:18px; object-fit:cover; object-position:center top; }
.team-person h3 { margin:0 0 4px; font:500 30px/1.13 var(--display); }
.team-person p { margin:0; color:var(--muted); font-size:13px; }
.contact-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(50px,8vw,130px); }
.contact-layout h2 { margin:0 0 18px; font:500 clamp(40px,4vw,58px)/1.1 var(--display); }
.contact-layout address { margin:28px 0; font-style:normal; }
.contact-layout address a { text-decoration:underline; text-underline-offset:4px; }
.enquiry-form { border:1px solid var(--line); padding:35px; background:white; }
.enquiry-form .field { margin-bottom:22px; }
.enquiry-form .double { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.enquiry-form .button { width:100%; }

@media(min-width:1800px) {
  .intro-section { padding-block:125px 135px; }
  .section-heading h2 { max-width:1050px; font-size:80px; }
  .section-heading p:not(.overline) { max-width:700px; font-size:18px; }
  .project-entry { min-height:280px; padding:28px 30px; }
  .project-entry h3 { max-width:440px; font-size:41px; }
  .project-entry p { max-width:430px; font-size:15px; }
  .gallery-heading h2 { max-width:800px; font-size:69px; }
  .gallery-card img { height:440px; }
  .gallery-card h3 { max-width:520px; font-size:35px; }
  .service-feature-main { gap:clamp(90px,7vw,155px); }
  .service-feature h2 { max-width:800px; font-size:88px; }
  .service-stage { min-height:470px; }
  .service-tabs button { min-height:245px; }
  .story-split { grid-template-columns:1.08fr .92fr; }
  .story-image { min-height:690px; }
  .story-text { padding-inline:clamp(110px,6vw,175px); }
  .story-text h2 { font-size:78px; }
  .story-text > p:not(.overline) { font-size:18px; }
  .approach h2 { max-width:1000px; font-size:80px; }
  .contact-band h2 { font-size:82px; }
  .faq h2 { font-size:80px; }
  .footer-lead h2 { font-size:90px; }
  .page-hero { padding-block:140px 125px; }
  .page-hero.with-image { min-height:670px; }
  .page-hero h1 { max-width:1350px; font-size:105px; }
  .page-section { padding-block:120px 130px; }
  .listing-card img { height:470px; }
}
@media(max-width:1000px) {
  .service-feature-main { grid-template-columns:1fr; gap:44px; }
  .service-stage { max-width:780px; }
  .principles { grid-template-columns:repeat(3,1fr); }
  .principles > p { grid-column:1/-1; max-width:none; }
  .principles > div:first-of-type { border-left:0; padding-left:0; }
  .story-image { min-height:540px; }
  .story-text { padding:60px 38px; }
  .contact-band-inner { grid-template-columns:1fr; gap:48px; }
  .contact-card { max-width:750px; }
}
@media(max-width:850px) { .gallery-card { flex-basis:46%; } .service-row { grid-template-columns:45px minmax(210px,.8fr) 1fr; } }
@media(max-width:700px) {
  .intro-section,.page-section { padding:75px 0 86px; }
  .section-heading { display:block; margin-bottom:34px; }
  .section-heading h2,.section-title { font-size:clamp(37px,9vw,48px); }
  .section-heading p:not(.overline) { font-size:15px; }
  .section-heading .text-link { margin-top:18px; }
  .index-head { display:block; }
  .index-head p:last-child { margin-top:9px; }
  .project-grid { grid-template-columns:repeat(2,1fr); }
  .project-entry { min-height:235px; padding:18px 12px; }
  .project-entry:nth-child(3n) { border-right:1px solid var(--line); }
  .project-entry:nth-child(2n) { border-right:0; }
  .project-entry h3 { margin-top:20px; font-size:clamp(19px,5.5vw,27px); }
  .project-entry p { font-size:11px; }
  .project-entry .entry-bottom { font-size:9px; }
  .entry-arrow { top:12px; right:8px; width:31px; height:31px; font-size:17px; }
  .gallery-heading { display:block; margin-top:65px; padding-top:36px; }
  .gallery-heading h2 { font-size:40px; }
  .carousel-nav { margin-top:20px; }
  .gallery-track { margin-right:-20px; }
  .gallery-card { min-width:260px; flex-basis:82%; }
  .gallery-card img { height:310px; }
  .service-feature { padding:78px 20px 0; }
  .service-feature h2 { font-size:clamp(43px,10vw,60px); }
  .service-feature-copy > p:not(.overline) { font-size:15px; }
  .service-feature-main { padding-bottom:50px; }
  .service-stage { min-height:265px; }
  .stage-head,.stage-foot { font-size:8px; letter-spacing:.03em; }
  .stage-desc { font-size:17px; }
  .service-tabs { display:block; }
  .service-tabs button,.service-tabs button+button { width:100%; min-height:0; border-right:0; border-bottom:1px solid #819098; padding:19px 0 23px; }
  .service-tabs button[aria-pressed='true']::before,.service-tabs button+button[aria-pressed='true']::before { right:0; left:0; }
  .service-tabs strong { margin:11px 0 5px; font-size:24px; }
  .principles { display:block; padding:30px 20px; }
  .principles > p { margin-bottom:12px; }
  .principles > div,.principles > div:first-of-type { min-height:80px; border-left:0; border-top:1px solid var(--line); padding:14px 0; }
  .principles strong { min-width:105px; font-size:24px; }
  .story-split { display:block; }
  .story-image { height:370px; min-height:0; }
  .story-text { padding:72px 20px 83px; }
  .story-text h2 { font-size:clamp(43px,10vw,58px); }
  .story-text > p:not(.overline) { font-size:15px; }
  .story-aside { margin-top:42px; }
  .approach { padding:78px 0 90px; }
  .approach h2 { font-size:clamp(42px,10vw,58px); }
  .approach-steps { display:block; }
  .approach-steps article,.approach-steps article+article { min-height:0; border-right:0; border-bottom:1px solid #c6cbc8; padding:24px 0 30px; }
  .approach-steps h3 { margin:22px 0 10px; }
  .contact-band { padding:80px 0; }
  .contact-band h2 { font-size:clamp(43px,10vw,58px); }
  .contact-band .note { margin-top:35px; }
  .contact-card { padding:23px 20px; }
  .contact-card li { grid-template-columns:30px 1fr; gap:10px; }
  .faq { display:block; padding:80px 0 95px; }
  .faq h2 { font-size:clamp(44px,10vw,58px); }
  .faq-list { margin-top:40px; }
  .faq-list summary { min-height:75px; font-size:20px; }
  .site-footer { padding:72px 20px 22px; }
  .footer-lead { display:block; margin-bottom:55px; padding-bottom:55px; }
  .footer-lead h2 { margin-bottom:28px; font-size:clamp(46px,10vw,60px); }
  .footer-bottom { grid-template-columns:repeat(2,1fr); gap:38px 20px; margin-bottom:55px; }
  .footer-bottom .wordmark { grid-column:1/-1; align-items:flex-start; text-align:left; }
  .legal { display:block; }
  .legal a { display:inline-block; margin-top:14px; }
  .page-hero { padding:80px 0 75px; }
  .page-hero h1 { font-size:clamp(48px,11vw,67px); }
  .page-hero p:not(.overline) { font-size:16px; }
  .page-hero.with-image { min-height:470px; }
  .service-row { grid-template-columns:35px 1fr; gap:10px; padding:26px 0; }
  .service-row p { grid-column:2; }
  .project-listing { grid-template-columns:1fr; gap:42px; }
  .listing-card img { height:300px; }
  .project-detail { display:block; }
  .project-detail img { max-height:450px; }
  .project-detail-side { margin-top:28px; }
  .project-gallery { gap:10px; }
  .project-gallery img { height:210px; }
  .project-gallery:has(img:only-child) img { height:290px; }
  .next-work { display:grid; gap:14px; margin-top:45px; }
  .next-work span { margin:0; }
  .next-work a { width:max-content; max-width:100%; }
  .team-grid { grid-template-columns:repeat(2,1fr); gap:28px 16px; }
  .team-person h3 { font-size:23px; }
  .contact-layout { display:block; }
  .enquiry-form { margin-top:38px; padding:25px 20px; }
}
@media(max-width:370px) { .project-entry { min-height:240px; } .project-entry h3 { font-size:18px; } .team-grid { grid-template-columns:1fr; } .enquiry-form .double { grid-template-columns:1fr; gap:0; } }
