/* Shared company directions and product pages. */
.direction-grid,.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.direction-card{padding:30px;background:var(--paper);border-top:3px solid var(--ink);display:flex;flex-direction:column;min-width:0}
.direction-water{background:#e6f7fc;border-top-color:#009ecb}
.direction-card h3{font-size:27px;line-height:1.16;margin-bottom:20px}
.direction-card p{font-size:17px;color:var(--muted);margin-bottom:26px}
.direction-card .text-link{margin-top:auto;align-self:flex-start;font-size:15px}
.product-index{display:block;font-size:12px;font-weight:700;letter-spacing:.07em;color:var(--blue);margin-bottom:28px}
.company-directions{border-bottom:1px solid var(--line)}
.landing-page h1{font-size:clamp(38px,4.05vw,60px);line-height:1.07;max-width:820px}
.landing-page h1 em{font-style:normal;color:#0078a3}
.landing-page h2{font-size:clamp(30px,3.2vw,43px);line-height:1.13}
.landing-page .eyebrow{font-size:12px;line-height:1.65;letter-spacing:.1em}
.landing-page p,.landing-page li{overflow-wrap:break-word}
.landing-page .section-heading{gap:50px;align-items:start}
.landing-hero{padding:26px 0 62px;background:#edf8fc}
.landing-hero .breadcrumbs{margin:0 0 32px;padding:0;font-size:13px;flex-wrap:wrap}
.landing-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:52px;align-items:center}
.landing-hero-copy{min-width:0}
.landing-lead{font-size:19px;line-height:1.65;color:var(--muted);margin:24px 0 26px;max-width:660px}
.landing-hero-media{margin:0;align-self:stretch;display:flex;flex-direction:column;min-width:0}
.landing-hero-media img{width:100%;height:100%;flex:1;min-height:460px;max-height:650px;object-fit:cover;object-position:40% center;border-radius:5px}
.landing-hero-media figcaption{font-size:12px;color:var(--muted);padding-top:10px;line-height:1.5}
.landing-hero .hero-actions{align-items:center;gap:24px;margin-top:30px}
.landing-hero .text-link{font-size:15px}
.landing-highlights{padding:0;margin:26px 0 0;list-style:none;display:flex;flex-wrap:wrap;gap:10px 20px;font-size:13px;color:#345562}
.landing-highlights li:before{content:'✓';margin-right:7px;color:#0078a3;font-weight:700}
.landing-page .product-card{border:1px solid #ccdce4;border-radius:6px;padding:30px;display:flex;flex-direction:column;min-width:0;background:#fff}
.landing-page .product-featured{border-color:#078bb7;background:#edfaff;box-shadow:inset 0 4px 0 #0088b5}
.landing-page .product-card h3{font-size:30px;line-height:1.1;letter-spacing:-.025em;margin:0 0 18px}
.product-intro{color:var(--muted);font-size:16px;line-height:1.6}
.product-card ul{padding:0;list-style:none;margin:24px 0;display:grid;gap:12px;font-size:16px;line-height:1.55}
.product-card li{padding-left:20px;position:relative}
.product-card li:before{content:'—';position:absolute;left:0;color:var(--blue)}
.product-result{border-top:1px solid #cddfe6;padding-top:20px;margin-top:auto!important;margin-bottom:26px;font-size:15px;line-height:1.65;color:var(--muted)}
.product-result strong{display:block;color:var(--ink);font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}
.product-card .button{font-size:15px;padding:15px 16px;width:100%;text-align:center;gap:8px}
.product-card .button.outline{background:#fff;border-color:#9dbdcb;color:#006ca1}
.product-card .button.outline:hover{background:#e6f3f9}
.landing-small{font-size:14px;color:var(--muted);line-height:1.65;margin:24px 0 0;max-width:990px}
.landing-tint{background:#f1f7f9}
.landing-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:76px;align-items:start}
.landing-detail-list>div{padding:24px 0;border-top:1px solid #ccdce2}
.landing-detail-list>div:first-child{padding-top:0;border:0}
.landing-detail-list strong{display:block;font-size:21px;line-height:1.3;letter-spacing:-.015em;margin-bottom:10px}
.landing-detail-list p{font-size:17px;line-height:1.65;color:var(--muted)}
.landing-detail-list .text-link{font-size:15px;margin-top:16px}
.landing-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding:0;margin:0;list-style:none}
.landing-steps>li{border-top:2px solid #008ab5;padding-top:18px;min-width:0}
.landing-steps span{display:block;font-size:14px;color:var(--blue);margin-bottom:28px}
.landing-steps h3{font-size:23px;line-height:1.2;margin-bottom:16px}
.landing-steps p{font-size:16px;color:var(--muted);line-height:1.65}
.landing-dark{background:#102f3e;color:#fff}
.landing-dark .eyebrow{color:#6cd9f3}
.landing-dark .landing-lead,.landing-dark .section-heading p,.landing-dark .landing-detail-list p{color:#c3d9e3}
.landing-dark .landing-detail-list>div{border-color:#36515e}
.acceptance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.acceptance-grid article{padding-top:22px;border-top:1px solid #426171}
.acceptance-grid span{font-size:13px;color:#6cd9f3;display:block;margin-bottom:26px}
.acceptance-grid h3{font-size:26px;margin-bottom:16px}
.acceptance-grid p{font-size:17px;line-height:1.65;color:#c3d9e3}
.landing-contract-note{border-left:3px solid #59cde6;padding:4px 0 4px 20px;margin-top:40px;font-size:15px;line-height:1.7;color:#c3d9e3;max-width:1000px}
.landing-enquiry .contact-form{background:#edf6fa;padding:32px;border:1px solid #d8e8ef}
.landing-enquiry .contact-grid{align-items:start}
.landing-enquiry .landing-service[hidden]{display:none}
.landing-enquiry .contact-phone{font-size:32px}
.drilling-hero{background:#f1f5f6}
.drilling-hero .landing-hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.drilling-hero .landing-hero-media img{max-height:600px;object-position:center 42%}
.method-list article{display:grid;grid-template-columns:40px minmax(0,1fr) 210px;gap:28px;align-items:start;padding:30px 0;border-top:1px solid #bdced7}
.method-number{font-size:13px;color:var(--blue);padding-top:7px}
.method-list h3{font-size:25px;line-height:1.3;margin-bottom:12px}
.method-list p{font-size:17px;color:var(--muted);max-width:680px;line-height:1.65}
.method-price{text-align:right;padding-top:2px}
.method-price strong{font-size:25px;letter-spacing:-.025em;display:block;line-height:1.3}
.method-price span{font-size:13px;color:var(--muted);display:block;margin-top:6px}
@media(max-width:1100px){.landing-hero-grid,.drilling-hero .landing-hero-grid{gap:32px}.landing-page .product-card{padding:24px}.landing-page .product-card h3{font-size:26px}.landing-steps{gap:22px}.landing-split{gap:40px}.direction-card{padding:24px}.direction-card h3{font-size:25px}}
@media(max-width:900px){.landing-hero-grid,.drilling-hero .landing-hero-grid{grid-template-columns:minmax(0,1fr)}.landing-hero-copy{max-width:740px}.landing-page h1{font-size:clamp(38px,6.7vw,58px)}.landing-hero-media img{min-height:0;height:370px;max-height:none;flex:none}.drilling-hero .landing-hero-media img{height:420px;object-position:center 40%}.product-grid,.direction-grid{grid-template-columns:minmax(0,1fr)}.direction-card{padding:28px}.direction-card h3{font-size:28px}.product-card ul{margin:22px 0}.landing-page .product-card{padding:30px}.landing-page .product-card h3{font-size:32px}.landing-page .section-heading{gap:28px}.landing-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.landing-page .faq-layout{grid-template-columns:minmax(0,1fr);gap:30px}.landing-page .contact-grid{grid-template-columns:minmax(0,1fr);gap:30px}.landing-enquiry .contact-form{max-width:760px}.acceptance-grid{gap:22px}.acceptance-grid h3{font-size:23px}}
@media(max-width:600px){.landing-hero{padding:22px 0 38px}.landing-hero .breadcrumbs{font-size:12px;margin-bottom:28px}.landing-hero-grid{gap:28px}.landing-page h1{font-size:38px}.landing-lead{font-size:17px;margin:20px 0 24px}.landing-page .eyebrow{font-size:11px}.landing-hero .hero-actions{align-items:stretch;gap:18px}.landing-hero .hero-actions .button{width:100%;font-size:16px;padding:16px}.landing-hero .hero-actions .text-link{align-self:flex-start}.landing-highlights{display:grid;gap:8px;font-size:13px}.landing-hero-media img{height:280px;object-position:35% center}.drilling-hero .landing-hero-media img{height:350px}.landing-hero-media figcaption{font-size:11px}.landing-page .section-heading,.landing-split{grid-template-columns:minmax(0,1fr);gap:26px}.landing-page .section-heading p{font-size:17px}.landing-page .product-card{padding:25px}.landing-page .product-card h3{font-size:29px}.product-index{margin-bottom:22px}.landing-steps{grid-template-columns:minmax(0,1fr);gap:28px}.landing-steps span{margin-bottom:14px}.landing-steps h3{margin-bottom:10px}.acceptance-grid{grid-template-columns:minmax(0,1fr);gap:28px}.acceptance-grid span{margin-bottom:16px}.landing-contract-note{margin-top:30px}.landing-enquiry .contact-form{padding:22px}.landing-enquiry .contact-phone{font-size:28px}.method-list article{grid-template-columns:28px minmax(0,1fr);gap:10px 14px;padding:24px 0}.method-list h3{font-size:23px}.method-price{grid-column:2;text-align:left;margin-top:8px}.method-price strong{font-size:22px}.method-price span{margin-top:2px}.landing-small{font-size:13px}.direction-card{padding:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.landing-page .button{transition:none}}

/* Keep desktop product pages compact without fixed card or text heights. */
@media(min-width:1021px){
 .direction-grid,.product-grid{gap:18px}
 .direction-card,.landing-page .product-card{padding:24px}
 .direction-card h3{font-size:26px;margin-bottom:14px}
 .direction-card p{font-size:16px;margin-bottom:16px;line-height:1.55}
 .product-index{margin-bottom:18px;line-height:1.5}
 .landing-page h1{font-size:clamp(40px,3.6vw,56px);line-height:1.1;text-wrap:balance}
 .landing-hero{padding:22px 0 38px}
 .landing-hero .breadcrumbs{margin-bottom:24px}
 .landing-hero-grid,.drilling-hero .landing-hero-grid{gap:36px;align-items:start}
 .landing-hero-media{align-self:start}
 .landing-hero-media img,.drilling-hero .landing-hero-media img{height:clamp(340px,30vw,440px);min-height:0;max-height:none;flex:none}
 .landing-lead{font-size:18px;line-height:1.55;margin:18px 0 20px}
 .landing-hero .hero-actions{margin-top:22px;gap:18px}
 .landing-highlights{margin-top:20px;gap:8px 16px}
 .landing-page .section-heading{gap:32px;margin-bottom:26px}
 .landing-page .section-heading p{font-size:17px;line-height:1.55}
 .landing-page .section-heading .text-link{margin-top:16px}
 .landing-page .product-card h3{font-size:26px;line-height:1.18;margin-bottom:14px;text-wrap:balance}
 .product-card ul{margin:18px 0;gap:9px}
 .product-result{padding-top:16px;margin-bottom:20px;line-height:1.55}
 .landing-split{gap:36px}
 .landing-detail-list>div{padding-block:18px}
 .landing-detail-list p{line-height:1.55}
 .landing-steps{gap:24px}
 .landing-steps span{margin-bottom:18px}
 .landing-steps h3{font-size:22px;margin-bottom:12px}
 .landing-steps p{line-height:1.55}
 .acceptance-grid{gap:24px}
 .acceptance-grid span{margin-bottom:18px}
 .acceptance-grid h3{font-size:24px;margin-bottom:12px}
 .landing-contract-note{margin-top:28px}
 .landing-enquiry .contact-form{padding:26px}
 .method-list article{padding-block:22px;gap:22px}
 .method-list h3{font-size:23px;margin-bottom:8px}
 .method-list p{line-height:1.55}
}
