:root {
  --ink: #111715;
  --ink-2: #18211d;
  --ink-3: #26342d;
  --cream: #f1f0e9;
  --paper: #f8f7f2;
  --muted: #a9b1aa;
  --green: #a6b995;
  --green-strong: #64856e;
  --gold: #d2c49b;
  --line-dark: rgba(255,255,255,.16);
  --line-light: rgba(19,28,23,.14);
  --page-width: 1240px;
  --gutter: clamp(22px, 5vw, 76px);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: 'DM Sans', Arial, sans-serif; font-size: 15px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.wrap { width: min(var(--page-width), calc(100% - var(--gutter) * 2)); margin-inline: auto; }
.skip-link { position: absolute; left: 16px; top: -100px; z-index: 200; padding: 12px 18px; background: white; color: black; }
.skip-link:focus { top: 16px; }
.site-header { position: sticky; top: 0; z-index: 100; background: rgba(15, 21, 18, .96); border-bottom: 1px solid rgba(255,255,255,.08); backdrop-filter: blur(14px); }
.header-inner { min-height: 88px; display: flex; align-items: center; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 11px; flex-shrink: 0; color: #f7f7f0; }
.brand-mark { width: 40px; height: 40px; display: inline-flex; align-items: center; color: var(--green); }
.brand-mark svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.brand-copy { display: flex; flex-direction: column; line-height: 1.1; }
.brand-copy strong { font-family: 'Manrope', Arial, sans-serif; font-size: 17px; font-weight: 700; letter-spacing: .055em; white-space: nowrap; }
.brand-copy strong i { color: var(--green); font-style: normal; font-weight: 500; }
.brand-copy small { margin-top: 6px; color: #c0c6bd; font-size: 8px; letter-spacing: .28em; white-space: nowrap; }
.main-nav { display: flex; align-items: center; gap: clamp(12px, 2vw, 27px); margin-left: auto; }
.main-nav a { position: relative; color: #d3d8d1; font-size: 12px; white-space: nowrap; transition: color .2s ease; }
.main-nav a:after { content: ''; position: absolute; height: 1px; background: var(--green); left: 0; right: 100%; bottom: -10px; transition: right .2s ease; }
.main-nav a:hover, .main-nav a:focus-visible { color: white; }
.main-nav a:hover:after, .main-nav a:focus-visible:after { right: 0; }
.header-actions { display: flex; align-items: center; gap: 17px; margin-left: 7px; }
.header-phone { display: flex; gap: 7px; align-items: center; color: #f3f3ec; font-size: 11px; white-space: nowrap; }
.header-phone svg { width: 14px; height: 14px; fill: none; stroke: var(--green); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 20px; min-height: 52px; padding: 0 22px; border: 1px solid transparent; border-radius: 3px; font-size: 12px; font-weight: 600; letter-spacing: .01em; cursor: pointer; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button span { font-size: 17px; line-height: 1; }
.button-small { min-height: 40px; padding: 0 15px; font-size: 11px; gap: 11px; }
.button-outline { color: #f1f2e9; border-color: rgba(255,255,255,.45); background: transparent; }
.button-outline:hover { background: rgba(255,255,255,.07); border-color: var(--green); }
.button-primary { color: #111914; background: var(--green); border-color: var(--green); }
.button-primary:hover { background: #bdcaaa; border-color: #bdcaaa; }
.menu-toggle { display: none; border: 0; background: none; padding: 8px; cursor: pointer; }
.menu-toggle span { display: block; width: 23px; height: 1px; background: #fff; margin: 6px 0; }
.hero { min-height: 550px; display: grid; grid-template-columns: minmax(440px, .94fr) minmax(0, 1.06fr); position: relative; overflow: hidden; background: var(--ink); color: #f6f6ef; }
.hero-copy { padding: clamp(62px, 7.2vw, 112px) 4vw clamp(52px, 6vw, 84px) max(var(--gutter), calc((100vw - var(--page-width))/2)); position: relative; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.hero-copy:after { content: ''; position: absolute; width: 350px; height: 350px; border: 1px solid rgba(166,185,149,.11); border-radius: 50%; bottom: -270px; left: 12%; pointer-events: none; }
.eyebrow { font-family: 'Manrope', Arial, sans-serif; font-size: 9px; line-height: 1.8; letter-spacing: .27em; font-weight: 700; color: var(--gold); margin: 0 0 20px; }
.eyebrow-dark { color: #727f6c; }
.eyebrow-line { display: inline-block; width: 30px; height: 1px; margin: 0 11px 3px 0; background: var(--gold); }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; letter-spacing: -.04em; line-height: 1.05; }
.hero h1 { max-width: 650px; margin-bottom: 24px; font-size: clamp(36px, 4vw, 61px); }
h1 em, h2 em { color: var(--green); font-style: normal; }
.hero-intro { max-width: 500px; color: #c8cec6; font-size: 14px; line-height: 1.8; margin-bottom: 26px; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; }
.text-link { display: inline-flex; align-items: center; gap: 13px; font-weight: 600; font-size: 12px; border-bottom: 1px solid currentColor; padding-bottom: 5px; }
.text-link span { font-size: 17px; transition: transform .2s ease; }
.text-link:hover span { transform: translateX(4px); }
.light-link { color: #e8e9e1; border-color: rgba(255,255,255,.35); }
.dark-link { color: var(--ink-2); border-color: rgba(17,23,21,.35); }
.hero-location { color: #969f96; font-size: 10px; letter-spacing: .08em; margin-top: 42px; display: flex; align-items: center; gap: 9px; }
.location-dot { width: 6px; height: 6px; background: var(--green); border-radius: 50%; display: inline-block; }
.hero-visual { min-height: 550px; position: relative; background: #30271d; overflow: hidden; }
.hero-visual:before { content: ''; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(17,23,21,.17) 0%, rgba(17,23,21,0) 34%), linear-gradient(0deg, rgba(13,18,15,.25), transparent 30%); }
.hero-visual:after { content: ''; position: absolute; inset: 18px; border: 1px solid rgba(255,255,255,.12); pointer-events: none; z-index: 2; }
.hero-visual { background-image: url('assets/hero-aquarium.webp'); background-position: center; background-size: cover; }
.visual-label { position: absolute; top: 35px; right: 42px; z-index: 3; font-size: 9px; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.7); }
.visual-label span { color: var(--gold); margin-right: 8px; }
.visual-caption { position: absolute; right: 44px; bottom: 40px; z-index: 3; color: rgba(255,255,255,.8); font-family: Georgia, serif; font-size: 20px; line-height: 1.2; text-align: right; font-style: italic; }
.hero-index { position: absolute; right: 19px; top: 48%; writing-mode: vertical-rl; color: rgba(255,255,255,.35); font-size: 8px; letter-spacing: .25em; z-index: 4; }
.proof-bar { background: #0d1210; border-top: 1px solid rgba(255,255,255,.07); border-bottom: 1px solid rgba(255,255,255,.09); color: white; }
.proof-inner { display: grid; grid-template-columns: repeat(4,1fr); padding-block: 24px; }
.proof-item { display: flex; align-items: center; gap: 16px; padding: 0 22px; border-right: 1px solid rgba(255,255,255,.13); }
.proof-item:first-child { padding-left: 0; }
.proof-item:last-child { border-right: 0; padding-right: 0; }
.line-icon { flex: 0 0 39px; width: 39px; height: 39px; color: var(--gold); }
.line-icon svg { fill: none; stroke: currentColor; stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; width: 100%; height: 100%; }
.proof-item strong { display: block; color: #f5f4eb; font-size: 12px; font-weight: 600; margin-bottom: 3px; }
.proof-item small { display: block; color: #aab2a9; font-size: 10px; line-height: 1.45; }
.section-pad { padding-block: clamp(72px, 9vw, 124px); }
.intro-section { background: var(--cream); }
.intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(48px, 8vw, 120px); align-items: center; }
.section-heading h2, .section-topline h2, .sector-heading h2, .approach-content h2, .maintenance-section h2, .inspiration-copy h2, .contact-copy h2 { font-size: clamp(33px, 3.5vw, 48px); margin: 0; }
.section-heading h2 em, .section-topline h2 em, .sector-heading h2 em, .inspiration-copy h2 em { color: #71866d; }
.intro-text { max-width: 540px; color: #596159; font-size: 14px; line-height: 1.9; }
.intro-text p { margin-bottom: 17px; }
.intro-text .text-link { margin-top: 12px; }
.services-section { background: #e8e7df; }
.section-topline { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 45px; }
.section-topline h2 { color: var(--ink); }
.topline-aside { color: #6f786e; font-size: 12px; line-height: 1.8; border-left: 1px solid #aeb4a8; padding-left: 20px; margin-bottom: 3px; }
.service-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid #b8bcb2; border-bottom: 1px solid #b8bcb2; }
.service-card { min-height: 325px; padding: 28px 25px 25px; border-right: 1px solid #c8cbc2; display: flex; flex-direction: column; align-items: flex-start; transition: background .25s ease, color .25s ease; }
.service-card:last-child { border-right: 0; }
.service-card:hover { background: #f5f4ed; }
.service-card-dark { background: #19241e; color: #eff0e9; border-color: rgba(255,255,255,.12); }
.service-card-dark:hover { background: #24352b; }
.service-number { color: #7c8974; font-size: 9px; font-weight: 700; letter-spacing: .17em; }
.service-number span { color: #abb59e; padding-inline: 5px; }
.service-icon { width: 47px; height: 47px; margin-block: 26px 21px; color: #6d856c; }
.service-card-dark .service-icon { color: var(--green); }
.service-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.service-card h3 { font-family: 'Manrope', Arial, sans-serif; font-size: 16px; line-height: 1.4; font-weight: 600; margin-bottom: 12px; letter-spacing: -.02em; }
.service-card p { color: #6e766d; font-size: 11px; line-height: 1.8; margin-bottom: 25px; }
.service-card-dark p { color: #b5beb2; }
.card-link { display: flex; justify-content: space-between; width: 100%; align-items: center; border-top: 1px solid #c7c9c0; padding-top: 15px; margin-top: auto; color: #334a39; font-size: 10px; font-weight: 700; }
.card-link span { font-size: 15px; }
.service-card-dark .card-link { color: #dae4d0; border-color: rgba(255,255,255,.2); }
.sector-section { background: var(--ink); color: #f5f4ec; }
.sector-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 48px; }
.sector-heading h2 { font-size: clamp(36px,4vw,54px); }
.sector-heading > p { max-width: 310px; color: #aeb8ad; font-size: 12px; line-height: 1.85; margin-bottom: 6px; }
.sector-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(255,255,255,.16); border-left: 1px solid rgba(255,255,255,.16); }
.sector-card { position: relative; min-height: 232px; padding: 30px 29px 24px; border-right: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); overflow: hidden; transition: background .25s ease; }
.sector-card:after { content: ''; position: absolute; height: 2px; background: var(--green); bottom: 0; left: 0; right: 100%; transition: right .25s ease; }
.sector-card:hover { background: #18231d; }
.sector-card:hover:after { right: 0; }
.sector-index { position: absolute; top: 28px; right: 28px; color: #657164; font-size: 10px; letter-spacing: .15em; }
.sector-symbol { display: block; height: 40px; margin-bottom: 20px; color: var(--green); font-size: 29px; line-height: 1; font-family: Georgia, serif; }
.sector-card h3 { margin-bottom: 10px; font-family: 'Manrope', Arial, sans-serif; font-size: 16px; font-weight: 600; }
.sector-card p { max-width: 275px; color: #aeb5ac; font-size: 11px; line-height: 1.8; min-height: 40px; margin-bottom: 20px; }
.sector-card a { display: inline-flex; gap: 12px; align-items: center; color: #d9e1d2; font-size: 10px; font-weight: 600; }
.sector-card a span { font-size: 15px; color: var(--green); }
.sector-footnote { margin: 18px 0 0; color: #89938a; font-size: 10px; }
.approach-section { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); background: #e4e4dc; }
.approach-image { min-height: 650px; position: relative; overflow: hidden; background: #c8cec2; }
.approach-image img { height: 100%; width: 100%; position: absolute; inset: 0; object-fit: cover; object-position: center; filter: saturate(.84); }
.approach-image:after { content: ''; position: absolute; inset: 20px; border: 1px solid rgba(255,255,255,.48); pointer-events: none; }
.image-note { position: absolute; right: 30px; bottom: 28px; z-index: 2; padding: 7px 10px; background: rgba(16,23,19,.76); color: #e1e6db; font-size: 9px; letter-spacing: .07em; }
.approach-content { padding: clamp(52px, 7vw, 100px) max(var(--gutter), calc((100vw - var(--page-width))/2)) clamp(52px, 7vw, 100px) clamp(44px, 7vw, 100px); }
.approach-content h2 { margin-bottom: 22px; }
.approach-content h2 em, .contact-copy h2 em { color: #71866d; }
.approach-lead { max-width: 475px; font-size: 13px; line-height: 1.9; color: #697267; margin-bottom: 30px; }
.process-list { border-top: 1px solid #c1c7bc; }
.process-step { display: grid; grid-template-columns: 42px 1fr; gap: 14px; padding: 17px 0; border-bottom: 1px solid #c1c7bc; }
.process-step > span { padding-top: 2px; color: #6e836a; font-size: 10px; letter-spacing: .13em; font-weight: 700; }
.process-step h3 { font-size: 12px; margin: 0 0 5px; font-weight: 700; }
.process-step p { font-size: 11px; color: #737b71; line-height: 1.6; margin: 0; }
.maintenance-section { background: #101714; color: #f3f4eb; }
.maintenance-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(48px, 10vw, 140px); align-items: center; }
.maintenance-section h2 { margin-bottom: 22px; font-size: clamp(34px,3.5vw,48px); }
.maintenance-section h2 em { color: var(--green); }
.maintenance-intro { max-width: 460px; margin-bottom: 30px; color: #acb5aa; font-size: 13px; line-height: 1.85; }
.maintenance-list { padding: 31px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.025); }
.maintenance-list > div { display: flex; align-items: center; gap: 13px; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.1); font-size: 12px; color: #d7ddd4; }
.check { display: flex; align-items: center; justify-content: center; width: 19px; height: 19px; flex: 0 0 19px; border-radius: 50%; border: 1px solid #849a7d; color: var(--green); font-size: 10px; }
.list-note { margin: 19px 0 0; color: #89958a; font-size: 10px; line-height: 1.7; }
.inspiration-section { background: var(--cream); }
.inspiration-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(45px, 7vw, 100px); align-items: center; }
.inspiration-copy h2 { font-size: clamp(34px,3.4vw,47px); margin-bottom: 22px; }
.inspiration-copy p:not(.eyebrow) { color: #6a7369; font-size: 13px; line-height: 1.9; margin-bottom: 23px; }
.inspiration-photo { height: 370px; position: relative; overflow: hidden; background: #9b9d8f; }
.inspiration-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.inspiration-photo:after { content: ''; position: absolute; inset: 15px; border: 1px solid rgba(255,255,255,.45); }
.contact-section { background: #e6e5dc; }
.contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(48px, 8vw, 110px); align-items: start; }
.contact-copy h2 { margin-bottom: 22px; }
.contact-copy > p:not(.eyebrow) { color: #697268; font-size: 13px; line-height: 1.9; }
.contact-details { margin-top: 35px; border-top: 1px solid #c1c6bb; }
.contact-details a { display: flex; align-items: center; gap: 15px; padding: 17px 0; border-bottom: 1px solid #c1c6bb; }
.contact-icon { display: flex; align-items: center; justify-content: center; width: 37px; height: 37px; border: 1px solid #abb6a5; border-radius: 50%; color: #607c60; font-size: 14px; }
.contact-details small { display: block; margin-bottom: 4px; color: #768172; font-size: 8px; letter-spacing: .16em; }
.contact-details strong { font-size: 12px; font-weight: 600; }
.contact-area { margin-top: 20px; font-size: 10px !important; color: #7b8379 !important; }
.contact-form { padding: clamp(24px, 4vw, 42px); background: #faf9f4; border: 1px solid #d4d7cd; box-shadow: 0 18px 55px rgba(31,39,30,.05); }
.form-header { display: flex; justify-content: space-between; border-bottom: 1px solid #d5d9cf; padding-bottom: 15px; margin-bottom: 23px; color: #72856c; letter-spacing: .17em; font-size: 9px; font-weight: 700; }
.form-header span:last-child { color: #9ca59a; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.contact-form label { display: block; margin-bottom: 16px; color: #343e35; font-size: 10px; font-weight: 700; }
.contact-form input:not([type="checkbox"]), .contact-form select, .contact-form textarea { width: 100%; display: block; margin-top: 7px; min-height: 44px; padding: 11px 12px; border: 1px solid #d9dcd3; border-radius: 2px; background: #fff; color: #1f2920; outline: none; font-size: 11px; font-weight: 400; }
.contact-form textarea { min-height: 106px; resize: vertical; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: #708a6f; box-shadow: 0 0 0 3px rgba(112,138,111,.12); }
.contact-form input::placeholder, .contact-form textarea::placeholder { color: #9ca39a; }
.consent { display: flex !important; gap: 10px; align-items: flex-start; color: #727b70 !important; line-height: 1.5; font-weight: 400 !important; }
.consent input { margin: 2px 0 0; accent-color: #5f7e63; }
.form-submit { width: 100%; border: 0; }
.form-help, .form-status { color: #899187; font-size: 9px; line-height: 1.6; margin: 12px 0 0; }
.form-status { color: #3b6947; }
.site-footer { background: #0b100e; color: #f1f2e8; }
.footer-main { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-block: 42px; }
.footer-main > p { color: #aeb7ac; font-size: 11px; line-height: 1.8; margin: 0; }
.footer-main > p span { color: #e0e4d9; }
.footer-links { display: flex; gap: 23px; color: #adb6ab; font-size: 10px; }
.footer-links a:hover { color: var(--green); }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.1); }
.footer-bottom .wrap { min-height: 52px; display: flex; gap: 22px; align-items: center; justify-content: space-between; color: #7e897f; font-size: 9px; }
.footer-bottom a:hover { color: #e8e9df; }
@media (max-width: 1140px) {
  .header-inner { gap: 18px; }
  .main-nav { gap: 15px; }
  .main-nav a { font-size: 11px; }
  .header-phone { display: none; }
  .hero { grid-template-columns: minmax(410px,.94fr) minmax(0,1.06fr); }
  .hero-copy { padding-right: 24px; }
  .proof-item { padding-inline: 14px; gap: 12px; }
  .proof-item small { font-size: 9px; }
  .service-card { padding-inline: 19px; }
}
@media (max-width: 900px) {
  .header-inner { min-height: 78px; }
  .main-nav { display: none; position: absolute; top: 78px; left: 0; right: 0; background: #111815; padding: 16px var(--gutter) 24px; flex-direction: column; align-items: flex-start; gap: 22px; border-top: 1px solid rgba(255,255,255,.09); }
  .main-nav.is-open { display: flex; }
  .main-nav a { font-size: 13px; }
  .header-actions { margin-left: auto; }
  .menu-toggle { display: block; }
  .hero { grid-template-columns: 1fr 1fr; min-height: 515px; }
  .hero-copy { padding-block: 55px; padding-left: var(--gutter); }
  .hero h1 { font-size: clamp(34px,5vw,48px); }
  .hero-visual { min-height: 515px; }
  .proof-inner { grid-template-columns: repeat(2,1fr); row-gap: 22px; padding-block: 24px; }
  .proof-item:nth-child(2) { border-right: 0; }
  .proof-item:nth-child(3) { padding-left: 0; }
  .service-grid { grid-template-columns: repeat(2,1fr); }
  .service-card:nth-child(2) { border-right: 0; }
  .service-card:nth-child(1), .service-card:nth-child(2) { border-bottom: 1px solid #c8cbc2; }
  .service-card { min-height: 295px; }
  .sector-grid { grid-template-columns: repeat(2,1fr); }
  .approach-section { grid-template-columns: .85fr 1.15fr; }
  .approach-image { min-height: 640px; }
  .approach-content { padding-left: 36px; }
  .maintenance-grid { gap: 40px; }
  .inspiration-grid, .contact-grid { gap: 44px; }
}
@media (max-width: 650px) {
  :root { --gutter: 21px; }
  .header-inner { gap: 10px; }
  .brand-mark { width: 32px; height: 32px; }
  .brand-copy strong { font-size: 14px; }
  .brand-copy small { font-size: 7px; letter-spacing: .2em; }
  .header-actions .button { min-height: 36px; padding-inline: 11px; gap: 8px; font-size: 10px; }
  .header-actions .button span { display: none; }
  .hero { display: flex; flex-direction: column; }
  .hero-copy { padding: 64px var(--gutter) 43px; order: 1; }
  .hero h1 { font-size: clamp(39px, 9vw, 52px); }
  .hero-intro { font-size: 13px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 17px; }
  .hero-location { margin-top: 29px; font-size: 9px; }
  .hero-visual { order: 2; min-height: 275px; height: 275px; }
  .visual-label { top: 26px; right: 25px; }
  .visual-caption { right: 29px; bottom: 25px; font-size: 17px; }
  .hero-index { display: none; }
  .proof-inner { grid-template-columns: 1fr 1fr; column-gap: 0; row-gap: 23px; }
  .proof-item { padding: 0 10px !important; border-right: 0; gap: 10px; }
  .proof-item:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.13); padding-left: 0 !important; }
  .proof-item:nth-child(even) { padding-right: 0 !important; }
  .line-icon { flex-basis: 28px; width: 28px; height: 28px; }
  .proof-item strong { font-size: 10px; }
  .proof-item small { font-size: 8px; }
  .section-pad { padding-block: 70px; }
  .intro-grid, .maintenance-grid, .inspiration-grid, .contact-grid { grid-template-columns: 1fr; gap: 32px; }
  .section-heading h2, .section-topline h2, .sector-heading h2, .approach-content h2, .maintenance-section h2, .inspiration-copy h2, .contact-copy h2 { font-size: 37px; }
  .intro-text { font-size: 13px; }
  .section-topline, .sector-heading { display: block; }
  .topline-aside { margin-top: 22px; }
  .service-grid { grid-template-columns: 1fr; }
  .service-card { min-height: auto; padding: 26px 21px; border-right: 0; border-bottom: 1px solid #c8cbc2; }
  .service-card:last-child { border-bottom: 0; }
  .service-card:nth-child(1), .service-card:nth-child(2) { border-bottom: 1px solid #c8cbc2; }
  .service-icon { margin-block: 20px 15px; }
  .sector-heading > p { margin-top: 20px; }
  .sector-grid { grid-template-columns: 1fr; }
  .sector-card { min-height: 205px; padding: 27px 23px; }
  .approach-section { grid-template-columns: 1fr; }
  .approach-image { min-height: 320px; height: 320px; }
  .approach-content { padding: 62px var(--gutter) 70px; }
  .maintenance-grid { gap: 38px; }
  .maintenance-list { padding: 22px; }
  .inspiration-photo { height: 270px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .contact-form { padding: 24px 18px; }
  .footer-main { align-items: flex-start; flex-direction: column; gap: 22px; }
  .footer-links { flex-wrap: wrap; }
  .footer-bottom .wrap { padding-block: 15px; flex-wrap: wrap; justify-content: flex-start; gap: 10px 20px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *:before, *:after { transition-duration: .01ms !important; animation-duration: .01ms !important; } }


/* AquaDesign Pro — inner pages */
.main-nav a[aria-current="page"] { color: #fff; }
.main-nav a[aria-current="page"]:after { right: 0; }
.page-hero { position: relative; isolation: isolate; min-height: 370px; display: flex; align-items: end; overflow: hidden; color: #f5f4ec; background: #111715; }
.page-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(9,14,11,.9) 0%,rgba(9,14,11,.62) 48%,rgba(9,14,11,.2) 100%),linear-gradient(0deg,rgba(9,14,11,.5),transparent 50%); }
.page-hero .wrap { padding-block: 74px 62px; }
.page-hero h1 { max-width: 850px; font-size: clamp(42px, 6vw, 76px); margin-bottom: 20px; }
.page-hero h1 em { color: var(--green); }
.page-hero p:not(.eyebrow) { max-width: 680px; color: #d2d7cf; font-size: 15px; line-height: 1.85; }
.page-hero .eyebrow { margin-bottom: 18px; }
.page-hero--maintenance { background-image:url('assets/aquarium-installation.webp'); background-position:center 48%; background-size:cover; }
.page-hero--solutions { background-image:url('assets/hero-aquarium.webp'); background-position:center 50%; background-size:cover; }
.page-hero--conception { background-image:url('assets/aquarium-detail.webp'); background-position:center 54%; background-size:cover; }
.page-hero--realisations { background-image:url('assets/aquarium-detail.webp'); background-position:center 45%; background-size:cover; }
.page-hero--about { background-image:url('assets/aquarium-installation.webp'); background-position:center 44%; background-size:cover; }
.page-hero--contact { background-image:url('assets/hero-aquarium.webp'); background-position:center 50%; background-size:cover; min-height:320px; }
.breadcrumbs { color:#aeb8ad; font-size:10px; letter-spacing:.04em; margin-bottom:25px; }
.breadcrumbs a:hover { color:#fff; }
.page-intro { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(36px,7vw,100px); align-items:start; }
.page-intro h2, .content-heading h2 { font-size:clamp(32px,4vw,52px); margin-bottom:18px; }
.page-intro-copy { color:#596159; line-height:1.9; max-width:740px; }
.content-heading { max-width:730px; margin-bottom:40px; }
.content-heading p { color:#697169; line-height:1.85; }
.feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:#cbd0c5; border:1px solid #cbd0c5; }
.feature-card { background:var(--paper); min-height:245px; padding:30px; display:flex; flex-direction:column; align-items:flex-start; }
.feature-card .num { color:#708468; font-size:10px; letter-spacing:.2em; margin-bottom:28px; }
.feature-card h3 { font-family:'Manrope',Arial,sans-serif; font-size:18px; line-height:1.4; font-weight:600; margin-bottom:12px; }
.feature-card p { color:#687168; font-size:13px; line-height:1.85; margin-bottom:0; }
.split-panel { display:grid; grid-template-columns:1fr 1fr; min-height:440px; background:var(--ink); color:#f7f6ef; }
.split-panel .split-photo { min-height:360px; background-size:cover; background-position:center; }
.split-panel .split-copy { padding:clamp(35px,6vw,78px); align-self:center; }
.split-copy h2 { font-size:clamp(32px,4vw,48px); margin-bottom:20px; }
.split-copy p, .split-copy li { color:#c2cbc0; line-height:1.9; }
.clean-list { padding:0; margin:22px 0 28px; list-style:none; display:grid; gap:12px; }
.clean-list li { display:flex; gap:11px; align-items:flex-start; }
.clean-list li::before { content:'✓'; color:var(--green); font-weight:700; }
.step-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--line-light); }
.step-card { padding:25px 24px 20px 0; border-right:1px solid var(--line-light); margin-right:24px; }
.step-card:last-child { border-right:0; margin-right:0; }
.step-card .step-no { display:block; color:#758a70; font-size:11px; letter-spacing:.15em; margin-bottom:30px; }
.step-card h3 { font-family:'Manrope',Arial,sans-serif; font-size:16px; }
.step-card p { color:#667067; font-size:12px; line-height:1.85; }
.notice-panel { background:#e1e5d9; border-left:3px solid #809476; padding:25px 28px; color:#344339; line-height:1.85; }
.notice-panel p:last-child { margin-bottom:0; }
.photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.photo-card { background:var(--paper); border:1px solid rgba(17,23,21,.1); }
.photo-card img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.photo-card .photo-card-copy { padding:18px 19px 20px; }
.photo-card h3 { font-family:'Manrope',Arial,sans-serif; font-size:15px; margin-bottom:7px; }
.photo-card p { font-size:12px; color:#737c72; line-height:1.7; margin:0; }
.image-disclaimer { color:#737b71; font-size:11px; margin-top:18px; }
.faq-list { max-width:900px; border-top:1px solid var(--line-light); }
.faq-list details { padding:21px 0; border-bottom:1px solid var(--line-light); }
.faq-list summary { cursor:pointer; font-family:'Manrope',Arial,sans-serif; font-size:15px; font-weight:600; }
.faq-list details p { max-width:780px; color:#667067; font-size:13px; line-height:1.85; padding-top:12px; margin-bottom:0; }
.contact-page-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(34px,6vw,80px); align-items:start; }
.contact-aside { background:var(--ink); color:#f4f4eb; padding:32px; }
.contact-aside h2 { font-size:34px; margin-bottom:18px; }
.contact-aside p { color:#b6c0b4; font-size:13px; line-height:1.85; }
.contact-aside .contact-details { display:grid; gap:20px; margin-top:28px; }
.form-netlify-note { background:#f0f1e9; border-left:3px solid #7c9271; padding:13px 16px; font-size:11px; color:#667066; line-height:1.7; }
.legal-content { max-width:850px; }
.legal-content h2 { font-family:'Manrope',Arial,sans-serif; font-size:22px; font-weight:600; letter-spacing:-.02em; margin-top:36px; }
.legal-content p, .legal-content li { color:#5d675e; font-size:13px; line-height:1.9; }
.placeholder-label { display:inline-block; padding:2px 6px; color:#665524; background:#f4e9bd; font-weight:600; }
.page-cta { background:#151e19; color:#f4f5ed; padding:46px 0; }
.page-cta-inner { display:flex; justify-content:space-between; align-items:center; gap:25px; }
.page-cta h2 { font-size:clamp(28px,3vw,40px); margin:0; }
.page-cta p { color:#bcc5ba; margin:10px 0 0; font-size:13px; }
@media (max-width:900px) {
 .page-intro,.contact-page-grid { grid-template-columns:1fr; gap:28px; }
 .feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .step-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; }
 .step-card:nth-child(2) { border-right:0; }
 .step-card:nth-child(3),.step-card:nth-child(4) { border-top:1px solid var(--line-light); }
 .photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:650px) {
 .page-hero { min-height:330px; }
 .page-hero .wrap { padding-block:53px 45px; }
 .page-hero h1 { font-size:43px; }
 .page-hero p:not(.eyebrow) { font-size:13px; }
 .feature-grid,.photo-grid { grid-template-columns:1fr; }
 .feature-card { min-height:auto; padding:25px; }
 .split-panel { grid-template-columns:1fr; }
 .split-panel .split-photo { min-height:250px; }
 .split-panel .split-copy { padding:42px var(--gutter); }
 .step-grid { grid-template-columns:1fr; }
 .step-card,.step-card:nth-child(2) { margin:0; border-right:0; border-bottom:1px solid var(--line-light); padding:25px 0; }
 .step-card .step-no { margin-bottom:14px; }
 .page-cta-inner { flex-direction:column; align-items:flex-start; }
 .contact-aside { padding:25px 21px; }
}



/* Photographic sector cards: each image illustrates a target environment, not a client installation. */
.sector-grid--photographic { border-top: 1px solid rgba(255,255,255,.16); border-left: 1px solid rgba(255,255,255,.16); }
.sector-card--photo { min-height: 330px; padding: 155px 27px 25px; background: #17221c; display: flex; flex-direction: column; align-items: flex-start; }
.sector-card--photo > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: .72; transition: transform .45s ease, opacity .35s ease; z-index: 0; }
.sector-card--photo::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(9,16,12,.02) 0%, rgba(9,16,12,.22) 34%, rgba(9,16,12,.95) 100%); z-index: 1; pointer-events: none; }
.sector-card--photo > :not(img) { position: relative; z-index: 2; }
.sector-card--photo .sector-index { top: 20px; right: 20px; color: #f2d5a1; }
.sector-card--photo .sector-symbol { height: auto; margin: 0 0 10px; color: #e4c38b; font-size: 25px; }
.sector-card--photo h3 { margin: 0 0 9px; line-height: 1.35; }
.sector-card--photo p { min-height: 0; margin-bottom: 16px; color: rgba(255,255,255,.82); }
.sector-card--photo a { margin-top: auto; }
.sector-card--photo:hover > img { transform: scale(1.045); opacity: .85; }
.honeypot-field { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
@media (max-width: 760px) {
  .sector-card--photo { min-height: 285px; padding: 132px 20px 22px; }
}

/* Logo officiel fourni par AquaDesign Pro */
.brand-logo { width: 78px; height: 48px; flex: 0 0 auto; overflow: hidden; border-radius: 4px; background: #303030; }
.brand-logo img { width: 100%; height: 100%; object-fit: contain; display: block; }
.footer-brand .brand-logo { width: 82px; height: 48px; }
@media (max-width: 760px) { .brand-logo { width: 56px; height: 38px; } .footer-brand .brand-logo { width: 60px; height: 38px; } }
