/*
Theme Name: Coup de main 24
Theme URI: https://coupdemain24.fr
Author: Coup de main 24
Description: Bespoke lightweight WordPress theme for Coup de main 24. Responsive, block-editor compatible, with an editable homepage via the Customizer.
Version: 1.3.46
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: coupdemain24
*/
:root{--navy:#0a1d31;--orange:#fa6a0a;--cream:#faf8f5;--text:#183047;--muted:#526273;--line:#e7e8e7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.58}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;color:var(--navy);line-height:1.12;margin:0 0 .65em}h1{font-size:clamp(2.5rem,5.4vw,5rem);letter-spacing:-.045em}h2{font-size:clamp(2rem,3.1vw,3.1rem)}h3{font-size:1.45rem}.wrap{width:min(1180px,calc(100% - 44px));margin:auto}.site-header{background:#fff;position:relative;z-index:10;border-bottom:1px solid #eee}.header-inner{min-height:106px;display:flex;align-items:center;gap:30px;justify-content:space-between}.site-brand img{display:block;width:330px;max-width:100%;height:auto}.site-brand{width:min(330px,42vw);flex-shrink:0}.main-nav{display:flex;align-items:center;gap:23px;font-size:.92rem;font-weight:600}.main-nav a:hover,.main-nav .current-menu-item>a{color:var(--orange)}.main-nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0}.btn{display:inline-block;border-radius:5px;background:var(--orange);color:#fff;padding:13px 23px;font-weight:700;font-size:.93rem;transition:transform .2s,background .2s;border:2px solid var(--orange)}.btn:hover{background:#dc5600;border-color:#dc5600;transform:translateY(-1px)}.btn.outline{background:transparent;color:var(--navy)}.btn.outline:hover{background:#fff3e9}.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:4px;padding:10px 12px;font-size:1.1rem}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.76rem;font-weight:800}.eyebrow span,.accent{color:var(--orange)}.hero{position:relative;overflow:hidden;background:linear-gradient(110deg,#faf8f5 0%,#fff 64%,#fff7ef 100%)}.hero:after{content:'';position:absolute;width:440px;height:520px;right:-80px;bottom:-140px;background:url('assets/leaf.svg') center/contain no-repeat;opacity:.07;transform:rotate(-18deg);pointer-events:none}.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;min-height:500px;align-items:center;gap:45px;padding:58px 0}.hero h1 em{color:var(--orange);font-style:normal}.hero p{font-size:1.08rem;max-width:580px}.hero .intro{font-weight:500}.hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:27px}.hero-visual{min-height:370px;border-radius:6px;background:linear-gradient(140deg,#193e4a,#0b2136);display:flex;flex-direction:column;align-items:center;justify-content:center;color:white;text-align:center;padding:35px;position:relative;overflow:hidden}.hero-visual:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,#ff6a0c35,transparent 50%)}.hero-visual img{width:185px;max-width:50%;position:relative;filter:brightness(0) invert(1);opacity:.9}.hero-visual strong{font-family:Georgia,serif;font-size:2rem;position:relative;margin-top:20px}.hero-visual small{position:relative;text-transform:uppercase;letter-spacing:.2em;color:#fcb67c}.section{padding:76px 0}.section.light{background:var(--cream)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:32px}.section-head p{max-width:570px;color:var(--muted);margin:0}.section-head h2:before{content:'';display:inline-block;width:38px;height:3px;background:var(--orange);vertical-align:middle;margin-right:16px}.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service-card{border:1px solid var(--line);background:#fff;border-radius:6px;overflow:hidden;transition:box-shadow .2s}.service-card:hover{box-shadow:0 12px 25px #061d3017}.service-art{height:150px;background:linear-gradient(140deg,#dce7e7,#f6ede4);display:flex;align-items:center;justify-content:center}.service-art svg{width:70px;height:70px;stroke:#163a4a;fill:none;stroke-width:2}.service-copy{padding:22px}.service-copy p{color:var(--muted);font-size:.93rem;margin:0 0 12px}.service-copy a,.text-link{color:#d45b08;font-weight:700;font-size:.92rem}.keyhold{background:var(--navy);color:white;position:relative;overflow:hidden}.keyhold:after{content:'';position:absolute;right:-40px;bottom:-80px;width:300px;height:360px;background:url('assets/leaf.svg') center/contain no-repeat;opacity:.1}.keyhold h2{color:white}.keyhold .key-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.keyhold p{color:#d5e0e7}.key-points{display:grid;gap:18px}.key-points div{border-bottom:1px solid #ffffff2b;padding:0 0 15px}.key-points b{color:#ffb276;margin-right:10px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project-card{border:1px solid var(--line);border-radius:5px;overflow:hidden;background:white}.project-image{height:180px;background:linear-gradient(125deg,#e5e8e4,#f3eee9);display:grid;place-items:center;color:#87948d;font-size:.85rem}.project-card h3{font-size:1.3rem;margin:0}.project-card .project-info{padding:19px}.project-card p{color:var(--muted);margin:8px 0 0}.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.trust article{padding:26px;background:#fff;border:1px solid var(--line);border-radius:5px}.trust h3{font-size:1.2rem}.trust p{color:var(--muted);margin:0}.cta{text-align:center;background:#f8f4ee}.cta p{max-width:600px;margin:0 auto 25px}.site-footer{background:#081c2d;color:#d5e1e8;padding:60px 0 25px}.site-footer h3{color:white;font-family:Arial,sans-serif;font-size:1rem}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:50px}.site-footer img{max-width:230px;border-radius:3px}.site-footer a:hover{color:#ff9b52}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin:7px 0}.footer-bottom{border-top:1px solid #ffffff22;margin-top:45px;padding-top:18px;font-size:.8rem;color:#a5b6c2}.page-content{padding:65px 0;min-height:40vh}.page-content .entry-content{max-width:800px}.page-content h1{font-size:clamp(2.4rem,4vw,3.5rem)}.page-content a:not(.btn){color:#d45b08;text-decoration:underline}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;background:white;z-index:99;padding:12px}.screen-reader-text{position:absolute;left:-9999px}.wp-block-image img{border-radius:4px}@media(max-width:900px){.header-inner{min-height:85px}.site-brand{width:270px}.main-nav{gap:12px}.main-nav ul{gap:12px}.header-cta{display:none}.hero-grid{gap:25px}.services{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.wrap{width:min(100% - 32px,1180px)}.header-inner{min-height:80px}.site-brand{width:230px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:15px 22px;box-shadow:0 10px 20px #0b223322}.main-nav.is-open{display:block}.main-nav ul{flex-direction:column;gap:14px}.hero-grid{grid-template-columns:1fr;padding:45px 0}.hero-visual{min-height:240px}.hero-visual img{width:115px}.hero-visual strong{font-size:1.45rem}.section{padding:55px 0}.section-head{display:block}.services,.project-grid,.trust,.footer-grid,.keyhold .key-grid{grid-template-columns:1fr}.keyhold .key-grid{gap:28px}.footer-grid{gap:30px}}

/* v1.1: project photography and branded hero */
.hero h1{font-size:clamp(2.55rem,4.65vw,4.6rem);line-height:1.08;letter-spacing:-.04em;max-width:650px}
.hero h1 em{color:var(--orange);font-style:normal}
.hero-visual{min-height:0;aspect-ratio:1.3/1;background:#eee;padding:0;border-radius:8px;box-shadow:0 15px 32px rgba(10,29,49,.12)}
.hero-visual:before{display:none}
.hero-visual img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;filter:none;opacity:1}
.project-image{overflow:hidden}
.project-image img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:680px){.hero h1{font-size:clamp(2.4rem,10vw,3.6rem)}.hero-visual{aspect-ratio:16/10;min-height:0}.hero-visual img{width:100%;height:100%}}

/* v1.2: genuine project photography and refinements */
.service-art{height:205px;display:block;overflow:hidden;background:#e8e8e5}
.service-art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.service-card:hover .service-art img{transform:scale(1.035)}
.service-copy h3{border-bottom:2px solid var(--orange);padding-bottom:11px;margin-bottom:12px}
.hero-grid{grid-template-columns:1fr 1.05fr;gap:36px}
.hero h1{font-size:clamp(2.5rem,4.15vw,4.1rem)}
.hero-visual{aspect-ratio:1.42/1}
.site-brand{width:min(355px,43vw)}.site-brand img{width:355px}
@media(max-width:680px){.hero-grid{grid-template-columns:1fr}.service-art{height:210px}.hero-visual{aspect-ratio:16/10}.site-brand{width:230px}}

/* Featured project page */
.project-detail{padding:44px 0 76px}.project-breadcrumb{font-size:13px;color:#59657a;margin-bottom:35px}.project-breadcrumb a{color:#152b46}.project-breadcrumb span{margin:0 8px;color:#a7acb5}.project-detail-head{max-width:850px;margin-bottom:30px}.project-detail-head h1{font-size:clamp(2.6rem,5vw,4.8rem);line-height:1.08;margin:10px 0 20px;color:#0d2440}.project-detail-head .eyebrow{color:#e66b19}.project-detail-photo{margin:0 0 48px}.project-detail-photo img{width:100%;height:auto;max-height:650px;object-fit:cover;border-radius:8px;display:block}.project-detail-photo figcaption{font-size:12px;color:#657181;margin-top:10px}.project-detail-body{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:64px}.project-detail-body h2{font-size:clamp(1.5rem,2.5vw,2.2rem);margin:0 0 16px}.project-detail-body h2:not(:first-child){margin-top:34px}.project-detail-body p{line-height:1.8}.project-detail-aside{background:#f3f5f6;padding:28px;border-top:3px solid #ed741c;align-self:start}.project-detail-aside h3{margin-top:0}.project-detail-aside .btn{display:inline-block;margin-top:8px}.project-detail-note{font-size:13px;color:#6a7180}.project-back{margin-top:44px}.project-card .text-link{display:inline-block;margin-top:12px}@media(max-width:700px){.project-detail-body{grid-template-columns:1fr;gap:25px}.project-detail{padding-top:25px}.project-detail-photo{margin-bottom:30px}}

/* Blue Feature Wall project gallery — v1.3.2 */
.cdm-project-gallery{margin-top:65px}.cdm-gallery-heading{max-width:760px;margin-bottom:26px}.cdm-gallery-heading .eyebrow{color:#d45b08;margin-bottom:9px}.cdm-gallery-heading h2{margin-bottom:12px}.cdm-gallery-heading p:last-child{color:var(--muted);margin:0}.cdm-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.cdm-gallery-item{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:#fff;transition:box-shadow .2s,transform .2s}.cdm-gallery-item:hover,.cdm-gallery-item:focus-visible{box-shadow:0 10px 24px #061d3022;transform:translateY(-2px)}.cdm-gallery-item img{display:block;width:100%;height:220px;object-fit:cover}.cdm-gallery-caption{display:block;padding:13px 14px 17px;color:var(--navy);font-size:.88rem;line-height:1.4}.cdm-gallery-caption small{display:block;color:#bd560e;text-transform:uppercase;font-size:.68rem;letter-spacing:.08em;font-weight:700;margin-bottom:6px}.cdm-gallery-caption span{color:#bd560e}@media(max-width:900px){.cdm-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.cdm-gallery-grid{grid-template-columns:1fr}.cdm-gallery-item img{height:260px}.cdm-project-gallery{margin-top:40px}}

/* Project comparison and accessible image viewer — v1.3.3 */
.cdm-before-after{margin:0 0 52px}.cdm-before-after h2{font-size:clamp(1.7rem,3vw,2.4rem);margin:0 0 8px}.cdm-before-after>p{color:#59657a;margin:0 0 22px}.cdm-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.cdm-compare-grid figure{margin:0}.cdm-compare-grid a{display:block;cursor:zoom-in}.cdm-compare-grid img{display:block;width:100%;aspect-ratio:1.7;object-fit:cover;border-radius:7px}.cdm-compare-grid figcaption{font-weight:700;color:#152b46;margin-top:10px}.cdm-lightbox-link{cursor:zoom-in}.cdm-lightbox[hidden]{display:none!important}.cdm-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(5,12,25,.94);display:flex;align-items:center;justify-content:center;padding:54px 72px 64px}.cdm-lightbox img{max-width:100%;max-height:calc(100vh - 125px);object-fit:contain}.cdm-lightbox button{position:absolute;background:#fff;color:#142944;border:0;border-radius:50%;width:42px;height:42px;font-size:25px;cursor:pointer;display:grid;place-items:center}.cdm-lb-close{top:12px;right:18px}.cdm-lb-prev{left:15px;top:50%}.cdm-lb-next{right:15px;top:50%}.cdm-lb-caption{position:absolute;bottom:14px;left:20px;right:20px;color:#fff;text-align:center;font-size:14px}@media(max-width:700px){.cdm-compare-grid{grid-template-columns:1fr}.cdm-lightbox{padding:55px 48px 65px}.cdm-lb-prev{left:4px}.cdm-lb-next{right:4px}}

/* Extension ceiling restoration — natural photo proportions */
.ceiling-project .ceiling-photo{margin:0}.ceiling-project .ceiling-photo a{display:block;cursor:zoom-in}.ceiling-project .ceiling-photo img{display:block;width:100%;height:auto;border-radius:8px}.ceiling-project .ceiling-photo figcaption{font-size:.81rem;color:#687587;margin-top:9px}.ceiling-project .ceiling-hero{margin:0 0 55px}.ceiling-project .ceiling-hero img{max-height:570px;object-fit:cover}.ceiling-project .project-detail-body{margin-bottom:65px}.ceiling-story{border-top:1px solid var(--line)}.ceiling-story-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:55px;align-items:center;padding:54px 0;border-bottom:1px solid var(--line)}.ceiling-story-row h2,.ceiling-result h2{font-size:clamp(1.7rem,3vw,2.5rem)}.ceiling-story-row .eyebrow,.ceiling-result .eyebrow{color:#d45b08}.ceiling-story-row p{line-height:1.8}.ceiling-story-row .ceiling-portrait{max-width:370px;justify-self:center;width:100%}.ceiling-story-row .ceiling-portrait img{max-height:530px;object-fit:contain;background:#f6f6f6}.ceiling-story-wide{grid-template-columns:1fr 1.3fr}.ceiling-result{padding:62px 0 0}.ceiling-result>p:not(.eyebrow){max-width:780px;line-height:1.8}.ceiling-result .ceiling-finish{margin-top:25px}.ceiling-result .ceiling-finish img{max-height:600px;object-fit:cover}@media(max-width:700px){.ceiling-story-row,.ceiling-story-wide{grid-template-columns:1fr;gap:20px;padding:38px 0}.ceiling-project .ceiling-hero{margin-bottom:35px}.ceiling-project .project-detail-body{margin-bottom:38px}.ceiling-story-row .ceiling-portrait{max-width:100%}.ceiling-result{padding-top:40px}}

/* Attic project — mixed aspect ratios without forcing crops */
.attic-project .attic-photo{margin:0}.attic-project .attic-photo a{display:block;cursor:zoom-in}.attic-project .attic-photo img{display:block;width:100%;height:auto;border-radius:8px}.attic-project .attic-photo figcaption{color:#667587;font-size:.82rem;margin-top:9px}.attic-project .attic-hero{margin-bottom:50px}.attic-project .attic-hero img{max-height:620px;object-fit:contain;background:#f5f5f3}.attic-project .project-detail-body{margin-bottom:54px}.attic-story{border-top:1px solid var(--line)}.attic-story-row{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center;padding:50px 0;border-bottom:1px solid var(--line)}.attic-story-row h2,.attic-result h2{font-size:clamp(1.7rem,3vw,2.5rem)}.attic-story-row .eyebrow,.attic-result .eyebrow{color:#d45b08}.attic-story-row p{line-height:1.8}.attic-story-row .attic-tall{max-width:360px;justify-self:center}.attic-story-row .attic-tall img{max-height:560px;object-fit:contain}.attic-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:25px}.attic-photo-grid img{aspect-ratio:1.15;object-fit:contain;background:#f6f6f4}.attic-result{padding-top:60px}.attic-result>p:not(.eyebrow){max-width:790px;line-height:1.8}.attic-result .attic-furnished{max-width:780px;margin:30px auto 0}.attic-result .attic-furnished img{max-height:750px;object-fit:contain}.attic-result .attic-finished-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0}.attic-result .attic-finished-pair img{aspect-ratio:1.45;object-fit:contain;background:#f6f6f4}@media(max-width:700px){.attic-story-row{grid-template-columns:1fr;gap:20px;padding:35px 0}.attic-photo-grid{grid-template-columns:1fr 1fr}.attic-result .attic-finished-pair{grid-template-columns:1fr}.attic-project .attic-hero{margin-bottom:30px}.attic-project .project-detail-body{margin-bottom:35px}}@media(max-width:480px){.attic-photo-grid{grid-template-columns:1fr}}

/* Portfolio card navigation */
.project-image-link{display:block;overflow:hidden}
.project-image-link img{transition:transform .25s ease}
.project-image-link:hover img,.project-image-link:focus-visible img{transform:scale(1.035)}
.project-card h3 a:hover,.project-card h3 a:focus-visible{color:#d45b08}
.project-card .project-info{display:flex;flex-direction:column;align-items:flex-start}
.project-card .project-info .text-link{margin-top:16px}
.projects-more-note{margin-top:30px;color:var(--muted)}

/* Interior Decorating service */
.interior-service .project-detail-head{max-width:900px}.interior-service .project-detail-head p{line-height:1.8}.interior-service .interior-compare{padding:35px 0 48px;border-top:1px solid var(--line)}.interior-service .interior-compare h2,.interior-service .interior-details h2,.interior-service .interior-related h2{font-size:clamp(1.7rem,3vw,2.5rem)}.interior-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.interior-photo{margin:0;min-width:0}.interior-photo a{display:block;cursor:zoom-in}.interior-photo img{display:block;width:100%;height:340px;object-fit:contain;background:#f4f4f2;border-radius:8px}.interior-photo figcaption{font-size:.82rem;color:#617184;margin-top:9px}.interior-service-copy{margin:8px 0 56px}.interior-service-copy ul{padding-left:22px;line-height:1.95}.interior-service .interior-details{padding:38px 0 50px;border-top:1px solid var(--line)}.interior-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin-top:26px}.interior-detail-grid img{height:370px}.interior-related{padding:38px 0;border-top:1px solid var(--line)}.interior-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.interior-related-grid article{padding:26px;background:#f5f6f6;border-top:3px solid var(--orange)}.interior-related-grid p{line-height:1.7}@media(max-width:700px){.interior-compare-grid,.interior-detail-grid,.interior-related-grid{grid-template-columns:1fr}.interior-photo img,.interior-detail-grid img{height:auto;max-height:500px}.interior-service .interior-compare{padding:25px 0 35px}}

/* Exterior service galleries */
.exterior-service .project-detail-head{max-width:900px}.exterior-gallery-section{padding:36px 0;border-top:1px solid #dce3e5}.exterior-gallery-section h2{margin-bottom:8px}.exterior-gallery-section>p{max-width:850px}.exterior-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}.exterior-photo-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.exterior-photo-grid figure{margin:0}.exterior-photo-grid img{display:block;width:100%;height:290px;object-fit:cover;border-radius:8px;transition:transform .2s ease}.exterior-photo-grid.four img{height:200px}.exterior-photo-grid a{display:block;overflow:hidden;border-radius:8px}.exterior-photo-grid a:hover img{transform:scale(1.025)}.exterior-photo-grid figcaption{font-size:.91rem;padding-top:8px;color:#4b5b63}.exterior-service .project-detail-body{margin:24px 0 38px}.exterior-service .project-detail-aside{align-self:start}@media(max-width:760px){.exterior-photo-grid,.exterior-photo-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.exterior-photo-grid img,.exterior-photo-grid.four img{height:180px}}@media(max-width:480px){.exterior-photo-grid,.exterior-photo-grid.four{grid-template-columns:1fr}.exterior-photo-grid img,.exterior-photo-grid.four img{height:auto;max-height:370px}}

/* Contact page and social links */
.cdm-contact-intro{max-width:810px;margin-bottom:35px}.cdm-contact-intro h1{margin-bottom:12px}.cdm-contact-intro .lead{font-size:1.25rem;color:var(--navy);font-weight:700}.cdm-contact-layout{display:grid;grid-template-columns:1fr 1.08fr;gap:54px;align-items:start}.cdm-contact-details h2,.cdm-contact-form h2{font-size:1.85rem}.cdm-contact-details p{color:var(--muted)}.cdm-contact-details a{color:#bc530d;text-decoration:underline}.cdm-contact-info{margin:28px 0;padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--cream)}.cdm-contact-info p{margin:8px 0}.cdm-social-links{display:flex;flex-wrap:wrap;gap:15px;margin-top:12px}.cdm-social-links a{display:inline-flex;gap:8px;align-items:center;font-weight:700}.cdm-social-links svg{width:21px;height:21px;fill:currentColor}.cdm-contact-form{padding:28px;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 30px #061d300c}.cdm-contact-form label{display:block;font-size:.91rem;font-weight:700;margin:0 0 15px}.cdm-contact-form input,.cdm-contact-form select,.cdm-contact-form textarea{width:100%;border:1px solid #c9d1d7;border-radius:4px;padding:12px;font:inherit;margin-top:6px;background:white;color:var(--navy)}.cdm-contact-form textarea{min-height:125px;resize:vertical}.cdm-contact-form .btn{cursor:pointer}.cdm-contact-note{font-size:.86rem;color:var(--muted)}.cdm-form-message{padding:14px;border-left:4px solid var(--orange);background:var(--cream);margin-bottom:20px}.cdm-honeypot{position:absolute;left:-9999px}.site-footer .cdm-social-links a{color:#d5e1e8}.site-footer .cdm-social-links a:hover{color:#ff9b52}@media(max-width:760px){.cdm-contact-layout{grid-template-columns:1fr;gap:28px}.cdm-contact-form{padding:20px}}

/* v1.3.14: Reviews page; testimonial content remains in the WordPress editor */
.reviews-intro{padding:76px 0 58px;background:linear-gradient(110deg,#faf8f5,#fff 72%);border-bottom:1px solid var(--line)}
.reviews-intro .wrap{max-width:1180px}.reviews-intro h1{font-size:clamp(2.5rem,4.5vw,4.4rem);margin:8px 0 20px}.reviews-intro p:last-child{max-width:720px;font-size:1.08rem;color:var(--muted);margin:0}
.reviews-section{padding:62px 0 80px}.reviews-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch}
.reviews-content > blockquote,.reviews-content > .wp-block-quote,.reviews-content > .wp-block-group,.reviews-content > .wp-block-columns,.reviews-content > .wp-block-pullquote{min-width:0;margin:0;background:#fff;border:1px solid var(--line);border-top:3px solid var(--orange);border-radius:7px;padding:27px 29px;box-shadow:0 6px 22px rgba(10,29,49,.045)}
.reviews-content blockquote{font-style:normal}.reviews-content blockquote p{font-size:1.02rem;line-height:1.8}.reviews-content cite,.reviews-content .wp-block-quote cite{font-style:normal;font-weight:700;color:var(--navy);display:block;margin-top:16px}.reviews-content .wp-block-group > :first-child{margin-top:0}.reviews-content .wp-block-group > :last-child{margin-bottom:0}
.reviews-content > h2,.reviews-content > h3,.reviews-content > p,.reviews-content > .wp-block-heading,.reviews-content > .wp-block-list{grid-column:1/-1;max-width:850px}
.reviews-content > .wp-block-columns{display:block}.reviews-content > .wp-block-columns .wp-block-column{margin-bottom:16px}.reviews-content > .wp-block-columns .wp-block-column:last-child{margin-bottom:0}
.reviews-invite{margin-top:54px;padding:40px 30px;background:var(--cream);border-radius:7px;text-align:center}.reviews-invite h2{font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:12px}.reviews-invite p{max-width:600px;margin:0 auto 24px;color:var(--muted)}
@media(max-width:700px){.reviews-intro{padding:48px 0 38px}.reviews-section{padding:38px 0 60px}.reviews-content{grid-template-columns:1fr}.reviews-content > blockquote,.reviews-content > .wp-block-quote,.reviews-content > .wp-block-group,.reviews-content > .wp-block-columns,.reviews-content > .wp-block-pullquote{padding:23px}.reviews-invite{margin-top:36px;padding:32px 20px}}

/* v1.3.15: Facebook client recommendations */
.cdm-fb-recommendations{margin-top:50px}.cdm-fb-recommendations h2{font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:10px}.cdm-fb-intro{color:var(--muted);margin:0 0 25px}.cdm-fb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.cdm-fb-review{margin:0;padding:28px 30px;border:1px solid var(--line);border-top:3px solid var(--orange);border-radius:7px;box-shadow:0 6px 22px rgba(10,29,49,.045);display:flex;flex-direction:column}.cdm-fb-review p{margin:0 0 20px;line-height:1.8;flex:1}.cdm-fb-review footer{font-weight:700;color:var(--navy)}@media(max-width:700px){.cdm-fb-grid{grid-template-columns:1fr}.cdm-fb-review{padding:23px}}


/* v1.3.16 — Key Holding & Property Checks */
.kh-hero{background:linear-gradient(110deg,#faf8f5,#fff);padding:62px 0 70px}.kh-hero-grid{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:50px}.kh-hero h1{font-size:clamp(2.45rem,4vw,4.1rem)}.kh-hero-copy p{max-width:600px}.kh-hero-copy .btn{margin-top:15px}.kh-lead{font-size:1.23rem;font-weight:700;color:var(--navy)}.kh-photo{margin:0}.kh-photo img{width:100%;height:auto;display:block;aspect-ratio:3/2;object-fit:cover;border-radius:7px;box-shadow:0 14px 35px #0a1d311e}.kh-photo figcaption{color:var(--muted);font-size:.82rem;margin-top:9px}.kh-section-head{margin-bottom:28px}.kh-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.kh-cards article{border:1px solid var(--line);border-top:3px solid var(--orange);background:#fff;border-radius:5px;padding:27px}.kh-cards h3{font-size:1.25rem}.kh-cards p{color:var(--muted);margin-bottom:0}.kh-info-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:65px;align-items:center}.kh-info-panel{padding:32px;background:#fff;border-left:4px solid var(--orange);box-shadow:0 10px 28px #0a1d310d}.kh-close{text-align:center}.kh-close p{max-width:700px;margin:0 auto 15px}.kh-close .btn{margin-top:15px}@media(max-width:900px){.kh-hero-grid,.kh-info-grid{grid-template-columns:1fr;gap:30px}.kh-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.kh-hero{padding:40px 0}.kh-cards{grid-template-columns:1fr}.kh-cards article{padding:23px}.kh-info-panel{padding:24px}}

/* v1.3.17 — Drone Photography service */
.drone-hero{background:linear-gradient(110deg,#faf8f5,#fff);padding:65px 0}.drone-hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:44px}.drone-hero h1{font-size:clamp(2.35rem,4vw,3.7rem)}.drone-hero p{color:var(--muted)}.drone-hero .drone-lead{font-size:1.3rem;font-weight:700;color:var(--navy)}.drone-hero figure{margin:0}.drone-hero figure img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:7px;box-shadow:0 15px 35px #0a1d311f}.drone-hero figcaption{font-size:.78rem;color:var(--muted);padding-top:8px}.drone-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:30px}.drone-cards article{border:1px solid var(--line);background:#fff;border-radius:7px;padding:26px}.drone-cards h3{font-size:1.35rem}.drone-cards p{color:var(--muted)}.drone-gallery-intro{max-width:750px;color:var(--muted)}.drone-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}.drone-gallery-item{display:block;background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden;transition:box-shadow .2s}.drone-gallery-item:hover{box-shadow:0 10px 22px #0a1d311e}.drone-gallery-item img{display:block;width:100%;height:210px;object-fit:cover}.drone-gallery-item span{display:block;padding:12px 15px;font-weight:700;font-size:.92rem;color:var(--navy)}.drone-info-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:55px}.drone-info-panel{background:#f9f4ed;padding:32px;border-left:4px solid var(--orange);border-radius:5px}.drone-close{text-align:center;background:#f8f4ee}.drone-close p{max-width:690px;margin:0 auto 20px}.drone-close .btn{margin-top:10px}@media(max-width:900px){.drone-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.drone-hero-grid,.drone-cards,.drone-info-grid,.drone-gallery{grid-template-columns:1fr}.drone-hero{padding:45px 0}.drone-gallery-item img{height:230px}}

/* Garden Maintenance & Projects */
.garden-page .garden-scope{margin-top:24px;font-size:.87rem;color:var(--muted);max-width:850px}.garden-page .drone-gallery-item img{height:230px}.garden-page .drone-hero figure img{aspect-ratio:4/5;object-position:center}

.property-page .property-gallery-note{font-size:.84rem;color:var(--muted);margin-top:22px}.property-page .drone-gallery-item img{height:230px}

/* v1.3.22 — Services overview */
.services-overview-hero{padding:68px 0 65px;background:linear-gradient(110deg,#faf8f5,#fff 75%);border-bottom:1px solid var(--line)}
.services-overview-hero .wrap{max-width:1180px}.services-overview-hero h1{font-size:clamp(2.7rem,5vw,4.5rem);margin:13px 0}.services-overview-hero p{max-width:790px;color:var(--muted)}.services-overview-hero .services-overview-lead{font-size:1.35rem;font-weight:700;color:var(--navy)}
.services-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.services-overview-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 8px 25px rgba(10,29,49,.05)}.services-overview-image{display:block;overflow:hidden}.services-overview-image img{display:block;width:100%;height:230px;object-fit:cover;transition:transform .25s ease}.services-overview-image:hover img{transform:scale(1.035)}.services-overview-copy{padding:25px;display:flex;flex:1;flex-direction:column}.services-overview-copy h3{font-size:1.4rem;margin:0 0 12px}.services-overview-copy p{color:var(--muted);margin:0 0 22px;flex:1}.services-overview-copy .text-link{font-weight:700;color:#ba5008}.services-overview-support{display:grid;grid-template-columns:1.25fr .85fr;gap:70px;align-items:center}.services-overview-support p{color:var(--muted)}.services-overview-aside{padding:32px;background:white;border-left:4px solid var(--orange);box-shadow:0 10px 28px #0a1d310d}.services-overview-aside h3{margin-top:0}.services-overview-aside .btn{margin-top:10px}
@media(max-width:960px){.services-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.services-overview-support{gap:35px}}@media(max-width:640px){.services-overview-hero{padding:42px 0}.services-overview-grid,.services-overview-support{grid-template-columns:1fr}.services-overview-image img{height:230px}.services-overview-aside{padding:24px}}

/* v1.3.25 legal pages */
.cdm-legal{max-width:860px;margin:0 auto}.cdm-legal h2{font-size:1.55rem;margin-top:1.8em}.cdm-legal p,.cdm-legal li{line-height:1.75}.cdm-legal .legal-note{background:#faf8f5;border-left:3px solid #fa6a0a;padding:15px 20px}.footer-legal{margin-top:12px}.footer-legal a{margin-right:18px}

/* v1.3.27 — Orange eyebrow labels on Services and Key Holding pages */
.services-overview-hero .eyebrow,.kh-hero .eyebrow{color:var(--orange);}

/* v1.3.28 bilingual header */
.cdm-language-switcher{display:flex;align-items:center;gap:8px;white-space:nowrap;margin-left:12px;font-size:21px;line-height:1}
.cdm-language-switcher a{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;border:2px solid transparent;border-radius:6px;padding:4px;opacity:.7}
.cdm-language-switcher a[aria-current="page"]{opacity:1;border-color:#d97543}
.cdm-language-switcher a:hover,.cdm-language-switcher a:focus-visible{opacity:1;outline-offset:2px}
.cdm-language-switcher span{font-size:13px;opacity:.4}
@media(max-width:850px){.cdm-language-switcher{margin-left:auto;margin-right:10px;gap:3px}.cdm-language-switcher a{padding:3px}}

/* French service layouts */
.cdm-fr-hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:3rem;align-items:center}
.cdm-fr-hero-grid>img{width:100%;max-height:390px;object-fit:cover;border-radius:12px}
.cdm-fr-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;margin-top:1.5rem}
.cdm-fr-card{padding:1.5rem;border:1px solid #e6e6e6;border-radius:10px;background:#fff}
.cdm-fr-card h3{margin-top:0}
.cdm-fr-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem}
.cdm-fr-gallery figure{margin:0}.cdm-fr-gallery img{width:100%;height:220px;object-fit:cover;border-radius:8px}
.cdm-fr-disclaimer{font-size:.9rem;color:#555}
@media(max-width:750px){.cdm-fr-hero-grid,.cdm-fr-cards{grid-template-columns:1fr}.cdm-fr-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.cdm-fr-gallery img{height:160px}}

/* French project overview cards */
.project-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin:32px 0 60px}.project-card{border:1px solid #e6e5e1;border-radius:12px;overflow:hidden;padding-bottom:20px}.project-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.project-card h2,.project-card p,.project-card .text-link{margin-left:20px;margin-right:20px}.project-card h2{margin-top:18px}@media(max-width:700px){.project-cards{grid-template-columns:1fr}}

/* v1.3.33 — mobile usability refinement; desktop design unchanged */
@media(max-width:680px){
  .header-inner{gap:8px;min-height:76px;flex-wrap:nowrap}
  .site-brand{width:auto;min-width:0;flex:1 1 auto;max-width:230px}
  .site-brand img{width:100%;height:auto}
  .cdm-language-switcher{order:2;flex:0 0 auto;margin:0 2px 0 auto;gap:0;font-size:21px}
  .cdm-language-switcher a{min-width:40px;min-height:44px;padding:7px;touch-action:manipulation}
  .cdm-language-switcher span{font-size:11px}
  .menu-toggle{order:3;flex:0 0 44px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:8px;cursor:pointer;touch-action:manipulation}
  .main-nav{max-height:calc(100dvh - 76px);overflow-y:auto;padding:12px 16px 18px}
  .main-nav ul{gap:0}
  .main-nav li a{display:block;padding:12px 8px;min-height:44px;border-bottom:1px solid var(--line)}
  .hero-actions .btn{max-width:100%;text-align:center}
  .cdm-contact-form input,.cdm-contact-form select,.cdm-contact-form textarea{font-size:16px}
  .cdm-gallery-grid,.cdm-fr-gallery{gap:12px}
  .cdm-fr-gallery figure{min-width:0}
  .cdm-fr-gallery img{height:auto;aspect-ratio:4/3;object-fit:cover}
  .project-detail-head h1,.page-content h1{overflow-wrap:break-word}
}
@media(max-width:380px){
  .wrap{width:calc(100% - 24px)}
  .site-brand{max-width:175px}
  .cdm-language-switcher{font-size:19px}
  .cdm-language-switcher a{min-width:37px;padding:5px}
  .header-inner{gap:5px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* v1.3.36 targeted gallery additions */
.bedroom-transform-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:1.5rem}.bedroom-transform-grid figure{margin:0}.bedroom-transform-grid img{display:block;width:100%;height:235px;object-fit:cover;border-radius:8px}.bedroom-transform-grid figcaption{padding:.65rem 0;font-size:.94rem}.bedroom-transformation{padding-block:2.5rem}@media(max-width:750px){.bedroom-transform-grid{grid-template-columns:1fr}.bedroom-transform-grid img{height:auto;max-height:420px;object-fit:contain}}

/* Third finished attic image: centred beneath the two-column gallery */
.attic-finished-third{max-width:720px;margin:24px auto 34px;}
.attic-finished-third .attic-photo{margin:0;}
.attic-finished-third img{display:block;width:100%;height:auto;}

/* Exterior before and after groupings */
.exterior-single-after{grid-template-columns:minmax(0,1fr);max-width:720px}
.exterior-gallery-section h3{margin-top:30px;margin-bottom:10px}
.exterior-gallery-section h4{margin-top:24px;margin-bottom:6px}
