:root { --ink:#123d2b; --moss:#587c3c; --sand:#f5f0e4; --clay:#bdcb9b; --lime:#d9bd67; --line:rgba(18,61,43,.22); --white:#fffdf8; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--ink); background:var(--sand); font-family:Manrope,Arial,sans-serif; } a { color:inherit; text-decoration:none; }
.site-header { height:82px; padding:0 clamp(24px,5vw,76px); display:flex; align-items:center; border-bottom:1px solid var(--line); position:relative; z-index:20; }
.brand { font:700 15px/1 'DM Mono',monospace; letter-spacing:.075em; display:flex; align-items:center; gap:10px; }.brand-mark { width:25px; height:25px; border-radius:50%; display:grid; place-items:center; color:var(--sand); background:var(--ink); font:700 16px 'Playfair Display',serif; }.brand-name { white-space:nowrap; }
.nav { display:flex; flex:1; align-items:center; justify-content:space-between; min-width:0; margin-left:clamp(26px,4vw,80px); gap:18px; font-size:12px; font-weight:700; white-space:nowrap; }.nav-service-link { color:var(--moss); padding:5px 0; border-bottom:2px solid var(--moss); font-size:13px; font-weight:700; white-space:nowrap; }.nav-service-link span { margin-left:7px; }.nav-cta span,.button span { margin-left:12px; }.nav-cta { border:1px solid var(--ink); padding:10px 12px; margin-left:0; }.menu-toggle { display:none; border:0; background:none; font:500 12px 'DM Mono',monospace; color:var(--ink); }

/* Keep the full navigation visible on tablets; it simply becomes more compact. */
@media (min-width:701px) and (max-width:1050px) {
  .site-header { padding:0 24px; }
  .nav { display:flex; margin-left:24px; gap:10px; font-size:clamp(10px,1.15vw,12px); }
  .nav-cta { padding:9px 10px; margin-left:0; }
  .nav-cta span { margin-left:7px; }
}
.language-picker select { appearance:none; border:0; border-bottom:1px solid var(--ink); border-radius:0; background:transparent; color:var(--ink); padding:3px 17px 3px 0; font:700 11px 'DM Mono',monospace; cursor:pointer; }.language-picker { position:relative; }.language-picker::after { content:'⌄'; position:absolute; right:0; top:0; pointer-events:none; font-size:12px; }.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.hero { min-height:calc(100vh - 82px); position:relative; overflow:hidden; display:grid; grid-template-columns:1fr 1fr; }.hero-copy { padding:clamp(78px,11vw,160px) clamp(24px,5vw,76px) 100px; position:relative; z-index:1; }.eyebrow { font:500 11px/1.3 'DM Mono',monospace; letter-spacing:.11em; margin:0 0 25px; }.hero h1,.statement h2,.section-heading h2,.equipment h2,.contact h2 { font:500 clamp(52px,6.4vw,100px)/.97 'Playfair Display',Georgia,serif; letter-spacing:-.055em; margin:0; }.hero h1 em,.section-heading em,.equipment em { color:var(--moss); }.hero-intro { font-size:18px; line-height:1.55; max-width:430px; margin:34px 0; }.hero-actions { display:flex; align-items:center; gap:28px; }.button { display:inline-block; padding:15px 18px; font-size:13px; font-weight:800; }.button-dark { background:var(--ink); color:var(--white); }.text-link { font-size:13px; font-weight:800; border-bottom:1px solid var(--ink); padding-bottom:4px; }.text-link span { margin-left:8px; }.hero-visual { background:var(--clay); min-height:590px; position:relative; overflow:hidden; }.sun { width:250px; height:250px; background:var(--lime); border-radius:50%; position:absolute; right:-35px; top:65px; }.contours { position:absolute; bottom:-60px; left:-120px; width:960px; height:720px; fill:none; stroke:var(--moss); stroke-width:1.2; opacity:.62; }.survey-card { position:absolute; background:var(--ink); color:var(--white); right:10%; bottom:18%; width:227px; padding:17px; font:500 10px/1.4 'DM Mono',monospace; letter-spacing:.04em; }.survey-card strong { display:block; font:500 22px/1.05 'Playfair Display',serif; margin:17px 0 28px; letter-spacing:-.03em; }.card-coordinates { opacity:.65; font-size:9px; }.status-dot { width:7px; height:7px; border-radius:50%; display:inline-block; background:var(--lime); margin-right:7px; }.hero-footer { position:absolute; bottom:0; left:0; width:100%; display:flex; justify-content:space-between; padding:20px clamp(24px,5vw,76px); border-top:1px solid var(--line); font:500 10px 'DM Mono',monospace; letter-spacing:.07em; }
.statement,.deliverables,.equipment { padding:clamp(85px,11vw,150px) clamp(24px,10vw,150px); }.statement-grid,.equipment-grid { display:grid; grid-template-columns:1fr 1fr; gap:12%; }.statement h2 { font-size:clamp(43px,5.2vw,76px); }.statement-grid > div { max-width:500px; }.large-copy { font:500 27px/1.28 'Playfair Display',serif; letter-spacing:-.025em; margin:0 0 25px; }.statement-grid > div > p:last-child,.equipment-grid div p { font-size:15px; line-height:1.65; }.section-dark { background:var(--ink); color:var(--white); padding:clamp(85px,10vw,140px) clamp(24px,10vw,150px); }.section-dark .eyebrow { color:var(--lime); }.section-heading { margin-bottom:74px; }.section-heading h2 { font-size:clamp(45px,5.5vw,80px); }.section-dark h2 em { color:var(--lime); }.service-list { border-top:1px solid rgba(255,255,255,.35); }.service-item { display:grid; grid-template-columns:70px 1fr 30px; gap:25px; padding:29px 0; border-bottom:1px solid rgba(255,255,255,.35); }.service-number { color:var(--lime); font:500 11px 'DM Mono',monospace; }.service-item h3 { margin:0 0 10px; font:600 27px/1.1 'Playfair Display',serif; letter-spacing:-.025em; }.service-item p { margin:0; max-width:650px; font-size:14px; line-height:1.6; color:rgba(255,255,255,.72); }.arrow { align-self:center; font-size:21px; color:var(--lime); }.deliverable-grid { display:grid; grid-template-columns:1.06fr .94fr; background:var(--clay); }.deliverable-map { min-height:490px; background:var(--moss); color:var(--white); position:relative; overflow:hidden; padding:22px; font:500 10px 'DM Mono',monospace; letter-spacing:.08em; }.deliverable-map strong { position:absolute; bottom:35px; left:35px; font:500 73px/.8 'Playfair Display',serif; letter-spacing:-.065em; }.map-line { position:absolute; border:1px solid var(--lime); border-radius:50%; opacity:.85; }.map-one { width:480px; height:230px; left:-80px; top:80px; transform:rotate(-25deg); }.map-two { width:550px; height:320px; left:-50px; top:30px; transform:rotate(-25deg); }.map-three { width:680px; height:440px; left:-70px; top:-30px; transform:rotate(-25deg); }.map-point { width:11px; height:11px; background:var(--lime); border-radius:50%; position:absolute; }.point-one { left:50%; top:36%; }.point-two { left:73%; top:54%; }.point-three { left:28%; top:65%; }.deliverable-copy { padding:43px clamp(25px,4vw,60px); }.deliverable-copy ol { padding:0; margin:0; list-style:none; }.deliverable-copy li { display:grid; grid-template-columns:42px 1fr; padding:0 0 24px; margin-bottom:23px; border-bottom:1px solid var(--line); }.deliverable-copy li > span { font:500 10px 'DM Mono',monospace; }.deliverable-copy h3 { margin:0 0 8px; font:600 22px 'Playfair Display',serif; }.deliverable-copy p { margin:0; font-size:13px; line-height:1.55; }.fine-print { opacity:.65; font-size:11px !important; }.equipment { background:var(--sand); }.equipment h2 { font-size:clamp(38px,4.5vw,68px); }.contact { padding:clamp(85px,10vw,145px) clamp(24px,10vw,150px); background:var(--lime); }.contact h2 { font-size:clamp(45px,5.5vw,83px); }.contact > p:not(.eyebrow) { margin:28px 0 33px; max-width:500px; font-size:17px; line-height:1.55; }.button-light { background:var(--ink); color:var(--white); } footer { min-height:105px; padding:25px clamp(24px,5vw,76px); display:flex; align-items:center; gap:30px; justify-content:space-between; background:var(--ink); color:var(--white); font:500 10px 'DM Mono',monospace; letter-spacing:.04em; } footer .brand-mark { background:var(--lime); color:var(--ink); }
@media(max-width:700px) { .site-header { height:auto; min-height:106px; display:block; padding:13px 16px 0; }.brand { display:inline-flex; }.menu-toggle { display:none; }.nav { width:100%; margin:12px 0 0; padding:1px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--line); font-size:11px; white-space:normal; }.nav > a { min-width:0; padding:12px 8px; text-align:center; background:var(--sand); }.nav > a[href="about.html"], .nav > a[href="#approach"] { display:none; }.nav-service-link { grid-column:1; grid-row:1; padding:12px 8px; font-size:11px; }.nav > a[href="#services"] { grid-column:2; grid-row:1; }.nav > a[href="#deliverables"], .nav > a[href="#applications"] { grid-column:1; grid-row:2; }.language-picker { grid-column:2; grid-row:2; display:block; padding:10px 8px; text-align:center; background:var(--sand); }.language-picker select { font-size:11px; }.nav-cta { grid-column:1 / -1; grid-row:3; padding:12px 8px; font-size:11px; border:0; }.nav-service-link span,.nav-cta span { display:none; }.hero { grid-template-columns:1fr; }.hero-copy { padding:78px 24px 72px; }.hero h1 { font-size:59px; }.hero-visual { min-height:430px; }.survey-card { bottom:13%; right:8%; }.hero-footer { font-size:8px; padding:15px 24px; }.hero-footer span:nth-child(2) { display:none; }.statement,.deliverables,.equipment,.section-dark,.contact { padding-left:24px; padding-right:24px; }.statement-grid,.equipment-grid,.deliverable-grid { grid-template-columns:1fr; gap:38px; }.section-heading { margin-bottom:48px; }.service-item { grid-template-columns:33px 1fr 18px; gap:11px; }.service-item h3 { font-size:23px; }.deliverable-map { min-height:390px; }.deliverable-map strong { font-size:62px; }.deliverable-copy { padding:35px 25px; }.equipment-grid { gap:15px; } footer { flex-wrap:wrap; gap:14px; } }

.contact-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; }
.phone-link { font:700 14px/1 Manrope,Arial,sans-serif; border-bottom:1px solid var(--ink); padding-bottom:4px; }
.phone-link-primary { padding:13px 16px; border-bottom:0; background:var(--ink); color:var(--white); }
.phone-link-secondary { font-size:12px; font-weight:600; opacity:.78; }
.photo-hero { display:grid; grid-template-columns:1fr 1fr; min-height:calc(100vh - 82px); }.photo-hero-copy { padding:clamp(84px,11vw,160px) clamp(24px,5vw,76px); display:flex; flex-direction:column; justify-content:center; }.photo-hero h1 { font:500 clamp(52px,6.2vw,94px)/.97 'Playfair Display',Georgia,serif; letter-spacing:-.055em; margin:0; }.photo-hero h1 em { color:var(--moss); }.photo-hero-copy > p:not(.eyebrow) { max-width:450px; margin:30px 0 34px; font-size:18px; line-height:1.55; }.photo-hero-image { min-height:530px; position:relative; overflow:hidden; background:var(--moss); }.photo-hero-image img { width:100%; height:100%; object-fit:cover; transform:scale(1.22) rotate(-9deg); opacity:.92; }.photo-hero-image span { position:absolute; left:28px; bottom:28px; padding:12px; color:var(--white); background:var(--ink); font:500 10px/1.45 'DM Mono',monospace; letter-spacing:.08em; }.applications { padding:clamp(85px,10vw,140px) clamp(24px,10vw,150px); background:var(--clay); }.applications h2 { max-width:700px; margin:0 0 58px; font:500 clamp(40px,4.8vw,72px)/1 'Playfair Display',serif; letter-spacing:-.05em; }.application-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--line); }.application-grid article { min-height:250px; padding:25px 25px 20px 0; margin-right:25px; border-bottom:1px solid var(--line); }.application-grid article:not(:first-child) { border-left:1px solid var(--line); padding-left:25px; margin-right:0; }.application-grid span { font:500 10px 'DM Mono',monospace; }.application-grid h3 { font:600 24px/1.1 'Playfair Display',serif; letter-spacing:-.025em; margin:55px 0 12px; }.application-grid p { font-size:13px; line-height:1.55; margin:0; }
.property-ortho-example { display:grid; grid-template-columns:1.1fr .9fr; background:#e8dfc6; }.property-ortho-example figure { min-height:540px; margin:0; position:relative; overflow:hidden; }.property-ortho-example figure img { display:block; width:100%; height:100%; object-fit:cover; }.property-ortho-example figcaption { position:absolute; left:25px; bottom:25px; padding:11px 13px; background:var(--ink); color:var(--white); font:500 10px/1.3 'DM Mono',monospace; letter-spacing:.08em; }.property-ortho-example > div { padding:clamp(54px,8vw,120px) clamp(30px,6vw,90px); align-self:center; }.property-ortho-example h2 { margin:0 0 26px; font:500 clamp(42px,4.8vw,72px)/.97 'Playfair Display',serif; letter-spacing:-.05em; }.property-ortho-example h2 em { color:var(--moss); }.property-ortho-example > div > p:not(.eyebrow) { max-width:430px; font-size:16px; line-height:1.65; }

.golf-gallery { padding:clamp(85px,10vw,140px) clamp(24px,10vw,150px); background:#e8dfc6; }.golf-gallery .section-heading { margin-bottom:48px; }.section-intro { max-width:590px; margin:22px 0 0; font-size:16px; line-height:1.65; }.career-projects { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }.career-projects article { min-height:235px; padding:24px 26px 26px 0; margin-right:26px; border-bottom:1px solid var(--line); }.career-projects article:nth-child(3n+2),.career-projects article:nth-child(3n+3) { padding-left:26px; margin-right:0; border-left:1px solid var(--line); }.career-projects span { color:var(--moss); font:500 10px 'DM Mono',monospace; letter-spacing:.07em; }.career-projects h3 { margin:52px 0 12px; font:600 26px/1.05 'Playfair Display',serif; letter-spacing:-.035em; }.career-projects p { max-width:250px; margin:0; font-size:13px; line-height:1.6; }
.about-home { display:grid; grid-template-columns:clamp(150px,27vw,390px) 1fr; gap:clamp(38px,8vw,125px); align-items:center; padding:clamp(85px,10vw,140px) clamp(24px,10vw,150px); background:var(--ink); color:var(--white); }.about-home-mark { width:clamp(140px,22vw,310px); aspect-ratio:1; display:grid; place-items:center; border-radius:50%; background:var(--lime); color:var(--ink); font:500 clamp(100px,16vw,250px)/1 'Playfair Display',serif; }.about-home-copy { max-width:650px; }.about-home .eyebrow { color:var(--lime); }.about-home h2 { margin:0 0 27px; font:500 clamp(42px,5vw,74px)/.98 'Playfair Display',serif; letter-spacing:-.055em; }.about-home h2 em { color:var(--lime); }.about-home .large-copy { color:var(--white); }.about-home-copy > p:not(.eyebrow) { color:rgba(255,255,255,.75); font-size:15px; line-height:1.7; }.about-home .text-link { color:var(--white); border-color:var(--lime); display:inline-block; margin-top:18px; }.about-home .text-link span { color:var(--lime); }
.process { padding:clamp(85px,10vw,140px) clamp(24px,10vw,150px); background:var(--white); }.process h2 { max-width:700px; margin:0 0 55px; font:500 clamp(40px,4.8vw,70px)/1 'Playfair Display',serif; letter-spacing:-.05em; }.process-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }.process-grid article { padding:25px 24px 25px 0; margin-right:24px; min-height:235px; border-bottom:1px solid var(--line); }.process-grid article:not(:first-child) { border-left:1px solid var(--line); padding-left:24px; margin-right:0; }.process-grid span { font:500 10px 'DM Mono',monospace; }.process-grid h3 { margin:53px 0 12px; font:600 22px/1.1 'Playfair Display',serif; letter-spacing:-.02em; }.process-grid p { margin:0; font-size:13px; line-height:1.6; }.enquiry-form { display:grid; grid-template-columns:1fr 1fr; gap:17px; max-width:760px; margin-top:45px; }.enquiry-form label { display:grid; gap:7px; font:500 10px 'DM Mono',monospace; letter-spacing:.06em; }.enquiry-form input,.enquiry-form select,.enquiry-form textarea { width:100%; border:1px solid rgba(18,61,43,.38); border-radius:0; background:rgba(255,255,255,.5); padding:12px; color:var(--ink); font:500 14px Manrope,Arial,sans-serif; }.enquiry-form .form-wide { grid-column:1 / -1; }.enquiry-form .button { justify-self:start; border:0; cursor:pointer; }.about-hero { padding:clamp(95px,12vw,180px) clamp(24px,10vw,150px); background:var(--clay); }.about-hero h1 { max-width:900px; margin:0; font:500 clamp(52px,6.4vw,98px)/.97 'Playfair Display',serif; letter-spacing:-.055em; }.about-hero h1 em { color:var(--moss); }.about-hero > p:not(.eyebrow) { max-width:620px; margin:30px 0 0; font-size:18px; line-height:1.6; }.about-proof { padding:clamp(85px,10vw,140px) clamp(24px,10vw,150px); }.about-proof .service-item { grid-template-columns:70px 1fr; }
.form-status { margin:0; padding:12px 14px; border:1px solid var(--ink); background:rgba(255,253,248,.6); font-size:14px; line-height:1.45; }.enquiry-form .button:disabled { cursor:wait; opacity:.65; }
.portfolio { padding:clamp(85px,11vw,150px) clamp(24px,10vw,150px); background:#e8dfc6; }
.search-services,.faq { padding:clamp(85px,10vw,140px) clamp(24px,10vw,150px); }.search-services { background:var(--white); }.search-services-grid { display:grid; grid-template-columns:1fr 1fr; gap:12%; }.search-services h2,.faq h2 { font:500 clamp(37px,4.4vw,65px)/1 'Playfair Display',serif; letter-spacing:-.05em; margin:0; }.search-services-grid > div { max-width:560px; }.search-services-grid p { font-size:16px; line-height:1.7; margin:0 0 19px; }.faq { background:var(--ink); color:var(--white); }.faq .eyebrow { color:var(--lime); }.faq h2 { max-width:680px; margin-bottom:55px; }.faq-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(255,255,255,.3); }.faq-grid article { padding:26px 34px 28px 0; margin-right:34px; border-bottom:1px solid rgba(255,255,255,.3); }.faq-grid article:nth-child(even) { padding-left:34px; padding-right:0; margin-right:0; border-left:1px solid rgba(255,255,255,.3); }.faq-grid h3 { margin:0 0 10px; font:600 22px/1.1 'Playfair Display',serif; letter-spacing:-.02em; }.faq-grid p { margin:0; color:rgba(255,255,255,.72); font-size:13px; line-height:1.6; }
.portfolio .section-heading { margin-bottom:52px; }.portfolio-grid { display:grid; grid-template-columns:1.18fr .82fr; gap:clamp(28px,5vw,80px); align-items:center; }.portfolio figure { margin:0; background:var(--white); padding:11px; }.portfolio figure img { display:block; width:100%; aspect-ratio:1.1 / 1; object-fit:cover; object-position:center; }.ortho-open { display:block; position:relative; width:100%; padding:0; border:0; background:none; cursor:zoom-in; overflow:hidden; }.ortho-open span { position:absolute; left:14px; bottom:14px; padding:9px 11px; background:var(--ink); color:var(--white); font:500 10px 'DM Mono',monospace; letter-spacing:.05em; opacity:0; transform:translateY(7px); transition:.2s ease; }.ortho-open:hover span,.ortho-open:focus-visible span { opacity:1; transform:none; }.ortho-open:focus-visible { outline:3px solid var(--moss); outline-offset:3px; }.ortho-open b { color:var(--lime); font-size:14px; margin-left:7px; }.portfolio figcaption { padding:13px 4px 3px; font:500 10px 'DM Mono',monospace; letter-spacing:.08em; }.portfolio-label { color:var(--moss); font:500 10px 'DM Mono',monospace; letter-spacing:.1em; }.portfolio-copy h3 { font:500 clamp(34px,3.5vw,52px)/.98 'Playfair Display',serif; letter-spacing:-.045em; margin:18px 0; }.portfolio-copy > p:not(.portfolio-label) { max-width:420px; font-size:15px; line-height:1.65; }.model-note { display:grid; grid-template-columns:44px 1fr; gap:16px; margin-top:35px; padding-top:23px; border-top:1px solid var(--line); }.model-note > span { width:36px; height:36px; border-radius:50%; background:var(--ink); color:var(--lime); display:grid; place-items:center; font:500 11px 'DM Mono',monospace; }.model-note strong { display:block; margin:2px 0 6px; font-size:14px; }.model-note p { margin:0; font-size:12px; line-height:1.5; }
.ortho-modal { width:100vw; height:100vh; max-width:none; max-height:none; margin:0; border:0; padding:0; background:#112c21; color:var(--white); overflow:hidden; }.ortho-modal::backdrop { background:rgba(7,20,14,.88); }.viewer-header { height:66px; padding:0 24px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.2); }.viewer-header p { margin:0; font:500 10px 'DM Mono',monospace; letter-spacing:.08em; }.viewer-header p span { opacity:.6; margin-left:16px; }.viewer-close,.viewer-controls button { appearance:none; border:0; cursor:pointer; }.viewer-close { width:38px; height:38px; border-radius:50%; background:var(--lime); color:var(--ink); font:400 30px/1 Arial,sans-serif; }.viewer-stage { position:absolute; top:66px; bottom:62px; left:0; right:0; overflow:hidden; touch-action:none; background:#18382c; }.viewer-stage .leaflet-control-zoom a { background:var(--ink); color:var(--white); border-color:rgba(255,255,255,.3); }.viewer-stage .leaflet-control-attribution { display:none; }.viewer-controls { position:absolute; bottom:0; left:0; right:0; height:62px; display:flex; justify-content:center; align-items:center; gap:8px; border-top:1px solid rgba(255,255,255,.2); }.viewer-controls button { min-width:42px; height:34px; padding:0 12px; background:transparent; border:1px solid rgba(255,255,255,.5); color:var(--white); font:500 12px 'DM Mono',monospace; }.viewer-controls button:first-child,.viewer-controls button:last-child { font-size:20px; }.viewer-controls button:hover { background:var(--lime); color:var(--ink); border-color:var(--lime); }
@media(max-width:700px) { .portfolio,.search-services,.faq,.golf-gallery,.process,.about-hero,.about-proof,.about-home { padding-left:24px; padding-right:24px; }.portfolio-grid,.search-services-grid,.faq-grid,.photo-hero,.golf-gallery-grid,.process-grid,.about-home,.career-projects { grid-template-columns:1fr; }.portfolio figure img { aspect-ratio:.85; }.portfolio .section-heading { margin-bottom:38px; }.search-services-grid { gap:26px; }.faq h2 { margin-bottom:36px; }.faq-grid article,.faq-grid article:nth-child(even) { padding:22px 0; margin:0; border-left:0; }.photo-hero { min-height:auto; }.photo-hero-copy { padding:78px 24px 70px; }.photo-hero-image { min-height:370px; }.application-grid { grid-template-columns:1fr; }.application-grid article,.application-grid article:not(:first-child),.process-grid article,.process-grid article:not(:first-child),.career-projects article,.career-projects article:nth-child(3n+2),.career-projects article:nth-child(3n+3) { min-height:auto; padding:22px 0; margin:0; border-left:0; }.career-projects h3 { margin:24px 0 10px; }.enquiry-form { grid-template-columns:1fr; }.enquiry-form .form-wide { grid-column:auto; }.about-home { gap:30px; }.about-home-mark { width:120px; } }

/* Service and application cards: no decorative sequence numbers or arrows. */
.service-item { display:block; }
.application-grid h3 { margin-top:0; }

/* Keep the outer grid edges open, while ensuring every internal divider meets cleanly. */
.application-grid article,
.process-grid article,
.career-projects article {
  margin-right:0;
}

/* Let FAQ dividers meet the central vertical rule, without closing the outer edge. */
.faq-grid article {
  margin-right:0;
}

/* Mobile reading sizes: body copy must remain comfortable without zooming. */
@media (max-width:700px) {
  .nav, .button, .text-link { font-size:14px; }

  .eyebrow, .language-picker select, .hero-footer, .portfolio-label,
  .portfolio figcaption, .field-photo figcaption, .career-projects span,
  .process-grid span, .application-grid span, .enquiry-form label, footer { font-size:12px; }

  .statement-grid > div > p:last-child, .equipment-grid div p, .service-item p,
  .deliverable-copy p, .application-grid p, .career-projects p, .process-grid p,
  .faq-grid p, .portfolio-copy > p:not(.portfolio-label),
  .model-showcase-copy > p:not(.portfolio-label), .price-card p, .price-card li,
  .pricing-terms p, .field-photo-heading > p:not(.eyebrow) { font-size:16px; }

  .fine-print, .model-showcase-copy .model-small, .model-note p { font-size:13px !important; }
  .survey-card, .card-coordinates, .photo-hero-image span, .deliverable-map, .viewer-header p { font-size:12px; }
  .enquiry-form input, .enquiry-form select, .enquiry-form textarea { font-size:16px; }
  .property-ortho-example { grid-template-columns:1fr; }
  .property-ortho-example figure { min-height:420px; }
  .property-ortho-example > div { padding:58px 24px; }
}
