@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:wght@400;500&display=swap');

.site-header{background:linear-gradient(180deg,rgba(0,0,0,.7),rgba(0,0,0,.26),transparent);padding-top:28px;padding-bottom:28px;text-shadow:0 1px 12px rgba(0,0,0,.45)}.site-header .nav-cta{background:rgba(0,0,0,.32);border-color:rgba(255,255,255,.82);text-shadow:none}.portfolio-grid{display:grid;grid-template-columns:1.35fr .85fr;grid-template-rows:250px 250px;gap:14px}.portfolio-grid a{position:relative;display:block;overflow:hidden;color:#fff;text-decoration:none}.portfolio-grid a:first-child{grid-row:1/3}.portfolio-grid img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.portfolio-grid a:hover img{transform:scale(1.025)}.portfolio-grid a:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72),transparent 65%)}.portfolio-grid span{position:absolute;z-index:1;left:18px;bottom:16px;font:500 1.18rem var(--serif)}
@media(max-width:780px){.site-header{background:linear-gradient(180deg,rgba(0,0,0,.72),rgba(0,0,0,.35),transparent);padding-top:20px;padding-bottom:20px}.portfolio-grid{grid-template-columns:1fr 1fr;grid-template-rows:210px 160px 160px}.portfolio-grid a:first-child{grid-column:1/-1;grid-row:auto}.portfolio-grid span{left:12px;bottom:11px;font-size:1rem}}
@media(max-width:430px){.portfolio-grid{grid-template-columns:1fr;grid-template-rows:230px 170px 170px 170px}.portfolio-grid a:first-child{grid-column:auto}}

.section:has(.intro){padding-bottom:24px}.section:has(.routes){padding-top:24px}.routes .route{min-height:320px;background-position:center 18%}.gallery{grid-template-columns:repeat(4,1fr)}.closing,.closing p{color:#fff}.closing h2{color:#fff}.closing .button{background:#fff;color:#171714;border-color:#fff}
@media(max-width:780px){.routes .route,.routes .route:first-child{min-height:220px}.gallery{grid-template-columns:1fr 1fr}}

.hero h1{font-size:clamp(3rem,5.3vw,5.5rem)}.routes .route{min-height:270px;color:#fff;text-decoration:none;position:relative;overflow:hidden;background:#444 center/cover}.routes .route:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.68),rgba(0,0,0,.05) 72%)}.routes .route strong,.routes .route small{position:relative;z-index:1}.routes .route strong{font:500 1.35rem/1.15 var(--serif)}.routes .route small{color:#eee;margin-top:6px}.route-couple{background-image:url('/assets/imported/c377cc063a83cf1e.jpg')!important}.route-group{background-image:url('/assets/imported/521b6c27d0c95cb9.jpg')!important}.route-solo{background-image:url('/assets/imported/6fd11924df40dc3a.jpg')!important}.route-business{background-image:url('/assets/imported/c3583270ebc92c8e.jpg')!important}.review-detail{margin-top:18px;color:#df746d;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase}.gallery a{display:block;text-decoration:none}.gallery span{display:block;margin-top:8px;font-weight:500}.closing{color:#fff;background:linear-gradient(rgba(0,0,0,.52),rgba(0,0,0,.62)),url('/assets/imported/fa64d14f3e1f5751.jpg') center/cover}.closing p{color:#eee}
:root{--ink:#171714;--paper:#f7f5f0;--line:#d9d5cd;--muted:#5d5a54;--accent:#9f2f2b;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans)}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.25em}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.site-header{position:absolute;z-index:3;width:100%;display:flex;align-items:center;justify-content:space-between;padding:24px 4vw;color:#fff}.brand{font-size:.78rem;font-weight:600;letter-spacing:.13em;text-decoration:none}.site-header nav{display:flex;gap:20px;align-items:center;font-size:.8rem}.site-header nav a{text-decoration:none}.nav-cta,.button{display:inline-block;border:1px solid currentColor;padding:10px 15px;text-decoration:none}.hero{min-height:700px;height:87vh;display:grid;align-items:end;position:relative;color:#fff;background:#333;overflow:hidden}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.18) 70%)}.hero-copy{position:relative;z-index:1;width:min(720px,90vw);padding:0 6vw 9vh}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:600;margin:0 0 16px}.hero h1{font:500 clamp(3rem,6vw,6rem)/1.02 var(--serif);letter-spacing:-.04em;margin:0}.hero p{max-width:590px;font-size:1.12rem;margin:24px 0 28px}.button{background:var(--paper);color:var(--ink);border-color:var(--paper)}.section{padding:76px 0}.section h2{font:500 clamp(2.2rem,4vw,4.2rem)/1.08 var(--serif);letter-spacing:-.035em;margin:0 0 22px}.intro{display:grid;grid-template-columns:1fr 1.2fr;gap:10vw}.intro p{color:var(--muted);max-width:570px}.routes{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px}.route{min-height:220px;padding:22px;display:flex;flex-direction:column;justify-content:flex-end;background:#e4e0d7}.route:first-child{background:#d7d0c5}.route small{color:var(--muted)}.review{background:#252522;color:#fff;text-align:center}.review blockquote{max-width:740px;margin:0 auto 18px;font:400 1.55rem/1.35 var(--serif)}.review cite{font-style:normal;color:#c9c5bd;font-size:.85rem}.gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:12px}.gallery img{height:300px;object-fit:cover}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.step{border-top:2px solid #777269;padding-top:10px}.step strong{display:block;margin-bottom:6px}.step span{color:var(--muted);font-size:.9rem}.closing{text-align:center;background:#e8e4dc}.closing h2{max-width:740px;margin-inline:auto}.closing p{color:var(--muted)}.site-footer{background:#171714;color:#f7f5f0;padding:48px 0 24px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px}.site-footer h3{font:500 1rem var(--sans);letter-spacing:.08em}.site-footer a{display:block;color:#cfcbc3;text-decoration:none;margin:3px 0;font-size:.9rem}.footer-note{border-top:1px solid #41413b;margin-top:34px;padding-top:16px;color:#aaa59c;font-size:.82rem}.ad-hero{min-height:590px;display:flex;align-items:end;background:#5c5a55 url('/assets/imported/37d65415efae8522.jpg') center/cover;color:#fff;position:relative}.ad-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.1) 72%)}.ad-box{position:relative;z-index:1;width:min(580px,90vw);margin:0 0 72px 8vw}.ad-box h1{font:500 clamp(2.7rem,5.5vw,5.4rem)/1.03 var(--serif);margin:0 0 18px}.ad-box p{font-size:1.1rem;max-width:530px;margin:0 0 26px}.split{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.split h3{font:500 1.35rem var(--serif);margin:18px 0 3px}.split p{color:var(--muted);margin:0}.split img{width:100%;height:430px;object-fit:cover}.checklist{list-style:none;padding:0;margin:0}.checklist li{border-top:1px solid var(--line);padding:12px 0}.questions p{border-top:1px solid var(--line);padding:12px 0;margin:0}.form-preview{border:1px solid var(--line);padding:22px;background:#fff}.form-field{height:42px;background:#f0ede7;border:1px solid #d4d0c8;margin:12px 0}.form-submit{display:inline-block;background:var(--ink);color:#fff;padding:11px 16px}.mobile-bar{display:none}@media(max-width:780px){.wrap{width:min(100% - 36px,600px)}.site-header{padding:18px}.site-header nav a:not(.nav-cta){display:none}.hero{min-height:660px;height:82vh}.hero-copy{padding:0 24px 48px}.hero h1{font-size:3.3rem}.section{padding:54px 0}.intro,.split{grid-template-columns:1fr;gap:28px}.routes{grid-template-columns:1fr 1fr}.route,.route:first-child{min-height:145px}.gallery{grid-template-columns:1fr 1fr}.gallery img{height:190px}.gallery img:first-child{grid-column:1/-1;height:250px}.process{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.ad-hero{min-height:640px}.ad-box{margin:0 24px 48px}.ad-box h1{font-size:3.25rem}.split img{height:330px}}@media(max-width:430px){.routes,.gallery,.process,.footer-grid{grid-template-columns:1fr}.gallery img:first-child{grid-column:auto}.footer-grid>div:first-child{grid-column:auto}}
.site-header{background:transparent!important;text-shadow:0 1px 8px rgba(0,0,0,.72)}.site-header .brand{font-size:.88rem;font-weight:700}.site-header nav{font-size:.88rem;font-weight:600}.site-header .nav-cta{background:transparent!important;border-color:rgba(255,255,255,.9)}.social-links{display:flex;gap:16px}.social-links a{display:inline-block}@media(max-width:780px){.site-header nav{font-size:.84rem}}
.social-links svg{width:25px;height:25px;display:block;fill:currentColor;stroke:none}.social-links a:first-child svg{fill:none;stroke:currentColor;stroke-width:1.8}
.section:has(.portfolio-grid) .wrap,.section:has(.process) .wrap{width:min(1080px,calc(100% - 120px))}
@media(max-width:780px){.section:has(.portfolio-grid) .wrap,.section:has(.process) .wrap{width:calc(100% - 36px)}}
.section:has(.portfolio-grid){padding-bottom:34px}.section:has(.process){padding-top:34px}.routes .route{min-height:360px;background-position:center;background-size:cover}.route-couple{background-image:url('/assets/imported/155cfabee593775d.jpg')!important}.route-group{background-image:url('/assets/imported/b06b511b0a43bd40.jpg')!important}
@media(max-width:780px){.routes .route,.routes .route:first-child{min-height:300px}}
.routes .route{min-height:350px;background-position:center 20%}.portfolio-grid{grid-template-columns:repeat(4,1fr);grid-template-rows:220px}.portfolio-grid a:first-child{grid-row:auto}.closing,.closing p,.closing h2{color:var(--ink)}.closing .button{background:var(--ink);color:#fff;border-color:var(--ink)}
@media(max-width:780px){.routes .route,.routes .route:first-child{min-height:270px}.portfolio-grid{grid-template-columns:1fr 1fr;grid-template-rows:180px 180px}.portfolio-grid a:first-child{grid-column:auto;grid-row:auto}}
@media(max-width:430px){.portfolio-grid{grid-template-columns:1fr;grid-template-rows:190px 160px 160px 160px}}
.route-couple{background-image:url('/assets/imported/155cfabee593775d.jpg')!important;background-position:center 38%!important}.route-group{background-image:url('/assets/imported/b06b511b0a43bd40.jpg')!important}
.portfolio-grid{grid-template-rows:360px}.portfolio-grid img{object-position:center center}
@media(max-width:780px){.portfolio-grid{grid-template-rows:300px 300px}}
@media(max-width:430px){.portfolio-grid{grid-template-rows:300px 260px 260px 260px}}
.reviews-page .section{padding:48px 0}.reviews-page .section .wrap{width:min(1080px,calc(100% - 120px))}.reviews-page .ad-hero + .section{padding-top:34px}.reviews-page .closing{padding:54px 0}.reviews-page .gallery img{height:260px}@media(max-width:780px){.reviews-page .section .wrap{width:calc(100% - 36px)}.reviews-page .section{padding:38px 0}.reviews-page .gallery img{height:210px}}
.reviews-page .ad-hero .ad-box{margin-bottom:68px}.reviews-page .ad-box h1{font-size:clamp(2.6rem,4.4vw,4.8rem);line-height:1.05;max-width:760px}.reviews-page .ad-hero + .section{padding-top:56px}.reviews-page .split h2{font-size:clamp(2.2rem,3.5vw,3.5rem)}
.reviews-page .ad-hero{min-height:560px;height:68vh}
.reviews-page .ad-hero{background-image:url('/assets/reviews-hero-montmartre.jpg');background-position:center 50%}
@media(max-width:780px){.reviews-page .ad-box h1{font-size:clamp(2.7rem,9vw,3.6rem)}.reviews-page .ad-hero + .section{padding-top:46px}}
.reviews-page .questions h3{font:500 2.7rem/1.1 var(--serif)}.couples-carousel{position:relative}.carousel-track{position:relative;height:420px;overflow:hidden}.carousel-track img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease}.carousel-track img.is-active{opacity:1}.carousel-prev,.carousel-next{position:absolute;top:50%;transform:translateY(-50%);border:0;background:rgba(0,0,0,.5);color:#fff;width:42px;height:42px;font-size:30px;line-height:1;cursor:pointer}.carousel-prev{left:14px}.carousel-next{right:14px}.carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:14px}.carousel-dots button{width:8px;height:8px;border:0;border-radius:50%;padding:0;background:#bbb;cursor:pointer}.carousel-dots button.is-active{background:var(--ink)}
.couples-gallery{width:100%;max-width:1080px;margin:0 auto;grid-template-columns:repeat(3,1fr);gap:14px}.couples-gallery img{width:100%;height:300px!important;object-fit:cover;object-position:center}
@media(max-width:780px){.carousel-track{height:300px}.reviews-page .questions h3{font-size:2.2rem}}
.reviews-page .review-intro{max-width:820px;text-align:center}.reviews-page .review-intro h2{font-size:clamp(2rem,3.3vw,3.4rem)}.reviews-page .review-logo{display:block;width:min(220px,70vw);height:auto;margin:28px auto}
.reviews-page .review-intro{max-width:1080px}
.reviews-page .review-intro>h2{max-width:980px;margin-inline:auto}
.reviews-page .review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:64px 40px;margin:56px 0 48px;text-align:left}
.reviews-page .review-grid article{border-top:1px solid var(--line);padding-top:18px}
.reviews-page .review-grid article p{margin:0 0 18px;font:400 1.05rem/1.45 var(--serif);color:var(--ink)}
.reviews-page .review-grid cite{font:italic 1rem var(--serif);color:var(--muted)}
.reviews-page .review-note{font:italic 1rem var(--serif);color:var(--muted);text-align:center;margin:32px auto}
.reviews-page .review-rating{font:1.15rem/1.4 var(--serif);text-align:center;margin:48px auto 18px}
@media(max-width:780px){.reviews-page .review-grid{grid-template-columns:1fr;gap:34px;margin-top:36px}.reviews-page .review-grid article p{font-size:1rem}}
.about-copy{max-width:980px;font:400 clamp(1.1rem,1.45vw,1.35rem)/1.6 var(--sans)}
.about-copy p{margin:0 0 28px}
.about-page .ad-box .eyebrow{margin:0 0 16px;font:600 .78rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.about-page .ad-box>p:not(.eyebrow){max-width:720px;font-size:1.2rem;line-height:1.45}
.faq-list{max-width:900px}.faq-list h2{margin-bottom:42px}.faq-list .questions p{font-size:1.05rem}.faq-list .questions span{color:var(--muted)}
.faq-page .ad-hero{min-height:720px}
.faq-menu{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 24px;padding:24px 0;border-bottom:1px solid var(--line)}
.faq-menu a{font-size:.9rem;text-decoration:none}
.faq-list .questions p[id]{scroll-margin-top:24px}
.faq-page .back-top{margin:28px 0 0;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}
.faq-page .back-top a{text-decoration:none}
.book-page .ad-hero{min-height:720px}.book-page .form-preview h3{font:500 1.5rem var(--serif);margin:0 0 18px}
.book-intro{padding-bottom:30px}.book-intro h1{font:500 clamp(3rem,6vw,6rem)/1.03 var(--serif);max-width:900px;margin:0 0 20px}.book-intro p:last-child{max-width:700px;color:var(--muted);font-size:1.1rem}.inquiry-wrap{max-width:900px}.inquiry-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px}.inquiry-form label{display:flex;flex-direction:column;gap:7px;font-weight:500}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{font:inherit;border:1px solid var(--line);background:#fff;padding:12px;color:var(--ink)}.inquiry-form .full{grid-column:1/-1}.inquiry-form .form-submit{width:max-content;background:var(--ink);color:#fff;border-color:var(--ink);cursor:pointer}@media(max-width:780px){.inquiry-form{grid-template-columns:1fr}.inquiry-form .full{grid-column:auto}}
.book-page .ad-hero{background-image:url('/assets/imported/37d65415efae8522.jpg')}
.book-page .site-header .nav-cta{display:none}
.book-page .book-intro{padding-bottom:8px}
.book-page .book-intro + .section{padding-top:22px}
.book-page .inquiry-form{gap:28px 32px;max-width:980px;margin:auto}
.book-page .inquiry-form label{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);gap:9px}
.book-page .inquiry-form input,.book-page .inquiry-form select,.book-page .inquiry-form textarea{border:1px solid #c9c4ba;background:rgba(255,255,255,.45);padding:14px 15px;border-radius:2px;color:var(--ink);transition:border-color .2s,background .2s}
.book-page .inquiry-form input:focus,.book-page .inquiry-form select:focus,.book-page .inquiry-form textarea:focus{outline:none;border-color:var(--ink);background:#fff}
.book-page .inquiry-form textarea{resize:vertical;min-height:150px}
.book-page .inquiry-form .form-submit{margin-top:4px;padding:14px 22px;letter-spacing:.08em;font-size:.78rem}
.book-page .ad-box{margin-bottom:52px}
.book-page .ad-box{transform:translateY(28px)}
.book-page .ad-box{transform:translateY(12px)}
.book-page .ad-box{margin-left:auto;margin-right:auto;text-align:center}
.book-page .ad-box p{margin-left:auto;margin-right:auto}
.book-page .book-intro{text-align:center}
.book-page .book-intro h1,.book-page .book-intro p{margin-left:auto;margin-right:auto}
.hero-copy{width:75%;text-align:left}
.ad-hero .ad-box{width:75%;margin-left:8vw;margin-right:0;text-align:left}
.book-page .ad-box{width:min(900px,90vw);margin-left:auto;margin-right:auto;text-align:center}
@media(max-width:780px){.hero-copy{width:90%}.ad-hero .ad-box{width:90%;margin-left:24px}.book-page .ad-box{width:90%;margin-left:auto;margin-right:auto}}
.book-page .ad-box{transform:translateY(32px)}
.book-page .book-intro{padding:96px 0 8px}
.book-page .book-intro h1{max-width:1080px;font-size:clamp(2.8rem,5vw,5rem);margin-bottom:12px}
.book-page .book-intro p{max-width:900px;font-size:1rem}
.book-page .book-intro + .section{padding-top:8px}
.book-page .book-intro{text-align:left}
.book-page .book-intro h1,.book-page .book-intro p{margin-left:0;margin-right:0}
.book-page .book-intro{position:relative;min-height:590px;display:flex;align-items:flex-end;background:url('/assets/book-hero.jpg') center 80%/cover;color:#fff;overflow:hidden}
.book-page .book-intro:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.16) 78%)}
.book-page .book-intro .wrap{position:relative;z-index:1}
.book-page .book-intro h1{font-size:clamp(2.8rem,5vw,5rem)}
.book-page .book-intro p{color:rgba(255,255,255,.9)}
.book-page .book-intro + .section{padding-top:28px}
.legal-intro h1{font:500 clamp(3rem,6vw,6rem)/1.03 var(--serif);margin:0 0 20px}.legal-intro p:last-child{max-width:760px;color:var(--muted);font-size:1.15rem}.legal-copy{max-width:850px}.legal-copy h2{font-size:clamp(1.8rem,3vw,2.8rem);margin-top:40px}.legal-copy p{max-width:760px;color:var(--muted)}
.legal-copy{padding-top:120px;padding-bottom:90px}.legal-copy h1{font:500 clamp(2.8rem,5vw,5rem)/1.05 var(--serif);margin:0 0 30px}.legal-copy h2,.legal-copy h3{font-family:var(--serif)}.legal-copy p,.legal-copy li{max-width:820px;color:var(--muted)}.legal-copy ul{padding-left:24px}.legal-copy a{color:var(--ink)}
.legal-page .legal-copy{max-width:1180px}.legal-page .legal-copy> .wrap{max-width:1180px}.legal-page .legal-copy .sqs-html-content{display:grid;grid-template-columns:1fr 1fr;gap:64px}.legal-page .legal-copy .policy-en,.legal-page .legal-copy .policy-fr{min-width:0}.legal-page .legal-copy h1{grid-column:1/-1}.legal-page .legal-copy h4{font:500 1.35rem/1.2 var(--serif);margin:28px 0 10px}.legal-page .legal-copy p,.legal-page .legal-copy li{font-family:var(--sans);font-size:.95rem;line-height:1.55;max-width:none}@media(max-width:780px){.legal-page .legal-copy .sqs-html-content{grid-template-columns:1fr;gap:24px}}
.legal-page .legal-copy{max-width:none}.legal-page .legal-copy>.wrap{width:min(1280px,calc(100% - 96px));max-width:none}.legal-page .legal-copy h1{font:500 clamp(3rem,6vw,6rem)/1.03 var(--serif);margin:0 0 50px}.policy-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:72px;border-top:1px solid var(--line);padding-top:34px}.policy-columns article{min-width:0}.policy-columns h2{font:500 2rem var(--serif);margin:0 0 26px}.policy-columns h3{font:500 1.2rem/1.2 var(--serif);margin:28px 0 10px}.policy-columns p,.policy-columns li{font:400 .98rem/1.55 var(--sans);color:var(--muted)}.policy-columns ul{padding-left:20px}@media(max-width:780px){.legal-page .legal-copy>.wrap{width:calc(100% - 36px)}.policy-columns{grid-template-columns:1fr;gap:44px}}
/* Privacy policy: bilingual columns without a divider */
.legal-page .policy-columns{border-top:0;padding-top:0}
/* Thank-you page */
.thank-page .site-header{position:relative;background:var(--ink);color:#fff;text-shadow:none}
.thank-copy{min-height:70vh;display:flex;align-items:center;text-align:center}
.thank-copy .wrap{max-width:820px}
.thank-copy h1{font:500 clamp(3rem,7vw,6.5rem)/1.02 var(--serif);letter-spacing:-.04em;margin:0 0 26px}
.thank-copy p:not(.eyebrow){max-width:620px;margin:0 auto 32px;color:var(--muted);font-size:1.15rem}
.thank-copy .button{background:var(--ink);color:#fff;border-color:var(--ink)}
.review-button{display:block;width:max-content;margin:28px auto 0}

/* Couples page section rhythm */
.couples-page .section:nth-of-type(1){background:#f7f5f0}
.couples-page .section:nth-of-type(2){background:#ebe8e1}
.couples-page .section:nth-of-type(3){background:#f7f5f0}
.couples-page .section:nth-of-type(4){background:#e4e0d7}
.couples-page .section:nth-of-type(5){background:#f7f5f0}
.couples-page .section:has(.checklist){background:#ebe8e1}
.couples-page .couples-portfolio{background:#e4e0d7}
.couples-page .closing{background:#f7f5f0}
.groups-page main > .section:nth-of-type(2){background:#f7f5f0}
.groups-page main > .section:nth-of-type(3){background:#ebe8e1}
.groups-page main > .section:nth-of-type(4){background:#e4e0d7}
.groups-page .closing{background:#f7f5f0}
.groups-page .ad-hero{background-image:url('/assets/groups-hero.jpg');background-position:center center}
.solo-page .ad-hero{background-image:url('/assets/solo-hero.jpg');background-position:center 52%;background-size:cover;background-repeat:no-repeat}
.solo-page .split img{width:min(68%,360px);height:auto;justify-self:center;object-fit:cover;object-position:center center;background:transparent}
.solo-page .couples-gallery{grid-template-columns:repeat(4,1fr)}
.solo-page .couples-gallery img:nth-child(2),.solo-page .couples-gallery img:nth-child(3){object-position:center top}
.solo-page .section:not(.closing){padding:52px 0}
.solo-page main>.section:nth-of-type(2){background:#f4eee6}
.solo-page main>.section:nth-of-type(3){background:#d8d2c8;color:var(--ink)}
.solo-page main>.section:nth-of-type(3) h2,.solo-page main>.section:nth-of-type(3) h3,.solo-page main>.section:nth-of-type(3) strong{color:var(--ink)}
.solo-page main>.section:nth-of-type(3) p,.solo-page main>.section:nth-of-type(3) span{color:#514e48}
.solo-page main>.section:nth-of-type(3) .checklist li,.solo-page main>.section:nth-of-type(3) .questions p{border-color:#aaa399}
.solo-page main>.section:nth-of-type(4){background:#e5e6e1}
.solo-page .closing{background:#d8d2c8;color:var(--ink)}
.solo-page .closing h2,.solo-page .closing p{color:var(--ink)}
.solo-page .closing .button{background:var(--ink);color:#fff;border-color:var(--ink)}
@media(max-width:780px){.solo-page .split img{width:min(78%,340px)}}
@media(max-width:780px){.solo-page .section:not(.closing){padding:42px 0}}
.groups-page .split img{object-position:center 75%}
.groups-page .couples-gallery{grid-template-columns:repeat(4,1fr)}
@media(max-width:780px){.groups-page .couples-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:430px){.groups-page .couples-gallery{grid-template-columns:1fr}}
.business-page main > .section:nth-of-type(2){background:#f7f5f0}
.business-page main > .section:nth-of-type(3){background:#ebe8e1}
.business-page main > .section:nth-of-type(4){background:#e4e0d7}
.business-page .closing{background:#f7f5f0}
.business-page .carousel-prev,.business-page .carousel-next{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:46px;height:46px;border:1px solid rgba(255,255,255,.8);background:rgba(23,23,20,.62);color:#fff;font-size:28px;line-height:1;cursor:pointer}
.business-page .carousel-prev{left:18px}.business-page .carousel-next{right:18px}
.business-trust h2{font-size:clamp(2.2rem,4vw,3.8rem);max-width:760px}
.business-trust> .wrap>p{display:none}
.business-trust> .wrap:before{content:'Previous Clientele';display:block;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:600;margin:0 0 16px;color:var(--muted)}
.client-logos{display:grid;grid-template-columns:repeat(6,1fr);gap:24px 28px;align-items:center;margin-top:36px}
.client-logos img{width:100%;height:64px;object-fit:contain;filter:none;opacity:1}
@media(max-width:780px){.client-logos{grid-template-columns:repeat(3,1fr);gap:20px}.client-logos img{height:48px}}
.couples-page main > .section:nth-of-type(2){background:#f7f5f0}
.couples-page main > .section:nth-of-type(3){background:#ebe8e1}
.couples-page main > .section:nth-of-type(4){background:#e4e0d7}
.portfolio-hero{position:relative;min-height:700px;height:87vh;background:url('/assets/imported/155cfabee593775d.jpg') center/cover;display:flex;align-items:flex-end;color:#fff;overflow:hidden}.portfolio-hero .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.18) 70%)}.portfolio-hero-copy{position:relative;z-index:1;width:75%;padding:0 6vw 9vh}.portfolio-hero h1{max-width:920px;color:#fff;font:500 clamp(3rem,5.3vw,5.5rem)/1.02 var(--serif);letter-spacing:-.04em;margin:0}.portfolio-hero .lead{max-width:590px;color:#fff;font-size:1.12rem;margin:24px 0 0}.portfolio-menu{display:grid;grid-template-columns:repeat(4,1fr);width:min(900px,100%);margin-top:32px;border-top:1px solid rgba(255,255,255,.55);border-bottom:1px solid rgba(255,255,255,.55)}.portfolio-menu a{display:flex;align-items:center;justify-content:center;min-height:56px;padding:10px 16px;color:#fff;text-align:center;text-decoration:none;font-size:.74rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;border-left:1px solid rgba(255,255,255,.32);transition:background .2s}.portfolio-menu a:first-child{border-left:0}.portfolio-menu a:hover{background:rgba(255,255,255,.12)}@media(max-width:780px){.portfolio-hero{min-height:660px;height:82vh}.portfolio-hero-copy{width:90%;padding:0 24px 48px}.portfolio-hero h1{font-size:3.3rem}.portfolio-menu{grid-template-columns:1fr 1fr;margin-top:28px}.portfolio-menu a{min-height:52px;padding:9px 10px;font-size:.68rem}.portfolio-menu a:nth-child(3){border-left:0;border-top:1px solid rgba(255,255,255,.32)}.portfolio-menu a:nth-child(4){border-top:1px solid rgba(255,255,255,.32)}}
.portfolio-gallery{padding:64px 0}
.portfolio-gallery:nth-of-type(even){background:#ebe8e1}
.portfolio-gallery:nth-of-type(odd){background:#f7f5f0}
.portfolio-gallery h2{max-width:900px;font-size:clamp(2.15rem,3.6vw,3.8rem)}
.portfolio-images{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:34px}
.portfolio-images img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center}
.portfolio-gallery#couples .portfolio-images img:nth-child(4){object-position:center 70%}
.portfolio-gallery#couples .portfolio-images img:nth-child(5){object-position:35% center}
.portfolio-gallery#couples .portfolio-images img:nth-child(6){object-position:center 70%}
.portfolio-gallery#couples .portfolio-images img:nth-child(7){object-position:center 42%}
.portfolio-gallery#couples .portfolio-images img:nth-child(8){object-position:center 70%}
.portfolio-gallery#couples .portfolio-images img:nth-child(10){object-position:30% center}
.portfolio-gallery#couples .portfolio-images img:nth-child(11){object-position:center 70%}
.portfolio-gallery#business .portfolio-images img:nth-child(4){object-position:28% center}
.portfolio-images img{cursor:zoom-in}
.portfolio-lightbox[hidden]{display:none}
.portfolio-lightbox{position:fixed;inset:0;z-index:100;background:rgba(12,12,11,.96);display:grid;grid-template-columns:72px minmax(0,1fr) 72px;align-items:center;color:#fff}
.portfolio-lightbox figure{height:100vh;margin:0;padding:34px 0 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-width:0}
.portfolio-lightbox figure img{display:block;max-width:100%;max-height:calc(100vh - 88px);width:auto;height:auto;object-fit:contain}
.portfolio-lightbox figcaption{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:#d7d3cc}
.portfolio-lightbox button{border:0;background:transparent;color:#fff;cursor:pointer;font:300 3rem/1 var(--sans);width:100%;height:100%}
.portfolio-lightbox button:hover{background:rgba(255,255,255,.06)}
.portfolio-lightbox .lightbox-close{position:absolute;right:18px;top:14px;z-index:2;width:48px;height:48px;font-size:2.2rem}
@media(max-width:620px){.portfolio-lightbox{grid-template-columns:48px minmax(0,1fr) 48px}.portfolio-lightbox figure{padding:60px 0 24px}.portfolio-lightbox button{font-size:2.4rem}.portfolio-lightbox .lightbox-close{right:8px;top:8px}}
.sessions-page .sessions-hero img{object-position:center 72%}
.sessions-page .sessions-intro{background:#f7f5f0}
.sessions-page .sessions-options{background:#ebe8e1;padding:64px 0}
.session-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.session-card{position:relative;display:block;min-height:420px;overflow:hidden;color:#fff;text-decoration:none;background:#393834}
.session-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.session-card:nth-child(3) img{object-position:center 22%}
.session-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.74),rgba(0,0,0,.05) 68%)}
.session-card:hover img{transform:scale(1.025)}
.session-card-copy{position:absolute;z-index:1;left:30px;right:30px;bottom:28px;display:flex;flex-direction:column;align-items:flex-start}
.session-card small{font:500 clamp(1.8rem,3vw,3rem)/1.08 var(--serif);letter-spacing:-.025em;text-transform:none}
.session-card strong{max-width:440px;min-height:2.9em;margin-top:10px;font:400 1rem/1.45 var(--sans)}
.session-card em{margin-top:18px;font-size:.78rem;font-style:normal;border-bottom:1px solid rgba(255,255,255,.75)}
.sessions-page .sessions-included{background:#e4e0d7}
.sessions-page .sessions-included h2{max-width:850px}
.sessions-page .closing{background:#f7f5f0}
@media(max-width:780px){.session-grid{grid-template-columns:1fr}.session-card{min-height:390px}.session-card-copy{left:22px;right:22px;bottom:22px}.session-card strong{min-height:0}.sessions-page .sessions-options{padding:48px 0}}
@media(max-width:900px){.portfolio-images{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.portfolio-gallery{padding:48px 0}.portfolio-images{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:26px}}
.back-to-top{display:inline-block;margin-top:24px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:inherit;text-decoration:none}.back-to-top:hover{text-decoration:underline}
.reviews-page .review-proof{padding:8px 0 16px}.reviews-page .review-proof .review-logo{margin:10px auto 14px}.reviews-page .review-proof .button{margin-top:0}.reviews-page .review-grid{margin-top:34px}
.reviews-page .review-grid .review-proof{grid-column:1/-1;text-align:center;border-top:0;padding:18px 0 10px}
.reviews-page .review-proof .button{background:var(--ink);color:#fff;border-color:var(--ink);padding:13px 20px}
.couples-page .ad-hero{background-image:url('/assets/couples-hero.jpg')}
.couples-page .ad-hero{background-position:center 25%}.couples-page .split img{object-position:center 100%}.couples-page .couples-gallery img:nth-child(1){object-position:center 25%}.couples-page .couples-gallery img:nth-child(3){object-position:center bottom}
.couples-page .experience-image{height:430px;overflow:hidden}.couples-page .experience-image img{display:block;height:100%;transform:scale(1.2);transform-origin:center 72%}
@media(max-width:780px){.couples-page .experience-image{height:330px}}

/* Shared service-page template */
.couples-page,.groups-page,.solo-page,.business-page{background:#f7f5f0}
.couples-page .ad-hero,.groups-page .ad-hero,.solo-page .ad-hero,.business-page .ad-hero{min-height:700px;height:87vh;display:flex;align-items:flex-end}
.couples-page .ad-box,.groups-page .ad-box,.solo-page .ad-box,.business-page .ad-box{padding-bottom:9vh}
.couples-page main>.section,.groups-page main>.section,.solo-page main>.section,.business-page main>.section{padding:64px 0}
.couples-page main>.section:nth-of-type(2),.groups-page main>.section:nth-of-type(2),.solo-page main>.section:nth-of-type(2),.business-page main>.section:nth-of-type(2){background:#f7f5f0}
.couples-page main>.section:nth-of-type(3),.groups-page main>.section:nth-of-type(3),.solo-page main>.section:nth-of-type(3),.business-page main>.section:nth-of-type(3){background:#ebe8e1;color:var(--ink)}
.couples-page main>.section:nth-of-type(4),.groups-page main>.section:nth-of-type(4),.solo-page main>.section:nth-of-type(4),.business-page main>.section:nth-of-type(4){background:#e4e0d7}
.couples-page .closing,.groups-page .closing,.solo-page .closing,.business-page .closing{background:#f7f5f0;color:var(--ink)}
.couples-page .closing h2,.groups-page .closing h2,.solo-page .closing h2,.business-page .closing h2{color:var(--ink)}
.couples-page .closing p,.groups-page .closing p,.solo-page .closing p,.business-page .closing p{color:var(--muted)}
.couples-page .closing .button,.groups-page .closing .button,.solo-page .closing .button,.business-page .closing .button{background:var(--ink);border-color:var(--ink);color:#fff}
.couples-page .couples-gallery,.groups-page .couples-gallery,.solo-page .couples-gallery,.business-page .couples-gallery{gap:12px}
.couples-page .couples-gallery img,.groups-page .couples-gallery img,.solo-page .couples-gallery img,.business-page .couples-gallery img{width:100%;aspect-ratio:4/5;object-fit:cover}
.couples-page .couples-gallery a,.groups-page .couples-gallery a,.business-page .couples-gallery a{display:block;overflow:hidden}
.couples-page .couples-gallery a img,.groups-page .couples-gallery a img,.business-page .couples-gallery a img{display:block;transition:transform .35s ease}
.couples-page .couples-gallery a:hover img,.groups-page .couples-gallery a:hover img,.business-page .couples-gallery a:hover img{transform:scale(1.02)}
.business-page .ad-hero{background-image:url('/assets/imported/5af55952e64c3c70.jpg');background-position:center bottom}
.eiffel-page .ad-hero{background-image:url('/assets/eiffel-hero.jpg');background-position:center 0%}
.eiffel-page .experience-image img{transform:none;object-position:center 45%}
.eiffel-page .couples-gallery{max-width:1120px;margin:28px auto 0;grid-template-columns:repeat(4,minmax(0,1fr))}
.eiffel-page .couples-gallery img{height:280px;aspect-ratio:auto;object-fit:cover}
.eiffel-page .couples-gallery a:first-child img{object-position:center 35%}
.eiffel-page .couples-gallery a:nth-child(2) img{object-position:center 65%}
.eiffel-page .couples-gallery a:nth-child(3) img{object-position:center 58%}
@media(max-width:780px){.eiffel-page .couples-gallery{grid-template-columns:1fr 1fr}.eiffel-page .couples-gallery a:first-child{grid-column:auto}.eiffel-page .couples-gallery img{height:240px}}
@media(max-width:780px){.couples-page .ad-hero,.groups-page .ad-hero,.solo-page .ad-hero,.business-page .ad-hero{min-height:660px;height:82vh}.couples-page .ad-box,.groups-page .ad-box,.solo-page .ad-box,.business-page .ad-box{padding-bottom:48px}.couples-page main>.section,.groups-page main>.section,.solo-page main>.section,.business-page main>.section{padding:48px 0}}

.reviews-page .google-review-button{background:var(--ink);border-color:var(--ink);color:#fff}.reviews-page .google-review-button:hover{background:var(--muted);border-color:var(--muted)}.reviews-page .google-review-button:focus-visible{outline:3px solid #171714;outline-offset:4px}

/* Uniform hero dimensions match the homepage at each breakpoint. */
:root body :is(.hero,.ad-hero,.portfolio-hero){min-height:700px;height:87vh}
@media(max-width:780px){:root body :is(.hero,.ad-hero,.portfolio-hero){min-height:660px;height:82vh}}

.about-page .ad-hero{background-image:url("/assets/about-hero-pontdesarts.jpg");background-position:75% 70%}.about-page .ad-box .button{margin-top:28px}.about-page #about-psip{scroll-margin-top:24px}

.faq-page .ad-hero{background-image:url("/assets/faq-hero-eiffel-boat-v2.jpg");background-position:center 85%}

/* Keep Contact visible in the header on desktop and mobile, including the Contact page. */
.site-header .nav-contact,.book-page .site-header .nav-contact{display:inline-block}

.inquiry-form [hidden]{display:none}

.site-footer .footer-note a{display:inline;font-size:inherit;text-decoration:underline}

/* Mobile layout and navigation audit. */
.mobile-menu{display:none}
:root body .book-intro{min-height:700px;height:87vh;padding-bottom:64px}
@media(max-width:1000px){
 .site-header>nav{display:none}
 .mobile-menu{display:block;position:relative;text-shadow:none}
 .mobile-menu summary{list-style:none;cursor:pointer;border:1px solid currentColor;padding:10px 14px;min-height:44px;font-size:14px}
 .mobile-menu summary::-webkit-details-marker{display:none}
 .mobile-menu[open] summary{background:var(--ink);color:var(--paper)}
 .site-header .mobile-menu nav{position:absolute;right:0;top:calc(100% + 8px);width:min(260px,calc(100vw - 36px));display:flex;flex-direction:column;align-items:stretch;gap:0;padding:8px;background:var(--paper);color:var(--ink);box-shadow:0 8px 24px rgba(0,0,0,.2);max-height:calc(100svh - 100px);overflow-y:auto}
 .site-header .mobile-menu nav a{display:block;padding:12px 16px;min-height:44px;font-size:16px}
 .site-header .mobile-menu nav a:hover,.site-header .mobile-menu nav a:focus-visible{background:#ebe8e1}
}
@media(max-width:780px){
 :root body .book-intro{min-height:660px;height:82vh;padding:100px 0 48px}
 .site-header .brand{font-size:.75rem;letter-spacing:.08em;max-width:calc(100% - 90px)}
 .hero-copy,.portfolio-hero-copy{width:100%;padding:0 24px 48px}
 .ad-hero .ad-box{width:calc(100% - 48px);margin:0 24px 48px}
 .couples-page .ad-box,.groups-page .ad-box,.solo-page .ad-box,.business-page .ad-box{padding-bottom:0}
 .hero h1,.ad-hero .ad-box h1,.portfolio-hero h1,.book-page .book-intro h1{font-size:clamp(2.25rem,8.5vw,3.3rem);overflow-wrap:break-word}
 .split>* ,.intro>* ,.inquiry-form>*{min-width:0}
 .gallery img{display:block;max-width:100%;width:100%}
 .couples-page .couples-gallery,.groups-page .couples-gallery,.solo-page .couples-gallery,.business-page .couples-gallery,.eiffel-page .couples-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
 .book-page .inquiry-form input,.book-page .inquiry-form select,.book-page .inquiry-form textarea{font-size:16px;letter-spacing:normal;width:100%;min-width:0;min-height:48px}
 .inquiry-form .form-submit,.review-button{max-width:100%;white-space:normal}
 .social-links{flex-wrap:wrap;gap:12px}
 .social-links a{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}
 .site-footer p,.legal-copy p{overflow-wrap:anywhere}
}
@media(max-width:430px){
 .couples-page .couples-gallery,.groups-page .couples-gallery,.solo-page .couples-gallery,.business-page .couples-gallery,.eiffel-page .couples-gallery{grid-template-columns:1fr}
 .inquiry-form .form-submit{width:100%}
 .review-button{text-align:center}
}

/* Subject-led crops for mobile; desktop positions stay unchanged. */
@media(max-width:780px){
 .hero img{object-position:50% 40%}
 .sessions-page .sessions-hero img{object-position:50% 50%}
 .couples-page .ad-hero{background-position:76% center}
 .groups-page .ad-hero{background-position:52% center}
 .solo-page .ad-hero{background-position:80% center}
 .business-page .ad-hero{background-position:50% center}
 .reviews-page .ad-hero{background-position:50% center}
 .about-page .ad-hero{background-position:78% center}
 .faq-page .ad-hero{background-position:18% center}
 .book-page .book-intro{background-position:72% center}
 .portfolio-hero{background-position:50% 40%}
 .eiffel-page .ad-hero{background-position:center top;background-size:100% auto;background-repeat:no-repeat;background-color:var(--ink)}
 .route-couple{background-position:50% 40%!important}
 .route-group{background-position:50% 35%!important}
 .route-solo{background-position:50% 35%!important}
 .route-business{background-position:50% 35%!important}
 .portfolio-grid img{object-position:center 35%}
 .couples-page .experience-image img{transform:none;object-position:60% 45%}
 .groups-page .split img{object-position:center 40%}
 .eiffel-page .experience-image img{object-position:60% 45%}
 .couples-page .couples-gallery img,.groups-page .couples-gallery img,.solo-page .couples-gallery img,.business-page .couples-gallery img,.eiffel-page .couples-gallery img{height:auto!important;aspect-ratio:4/5;object-position:center 35%}
 .couples-page .couples-gallery a:nth-child(1) img{object-position:76% center}
 .couples-page .couples-gallery a:nth-child(3) img{object-position:60% center}
 .eiffel-page .couples-gallery a:first-child img{object-position:center 35%}
 .eiffel-page .couples-gallery a:nth-child(2) img{object-position:center 35%}
 .eiffel-page .couples-gallery a:nth-child(3) img{object-position:center 40%}
 .session-card img{object-position:center 35%}
 .session-card:nth-child(3) img{object-position:center 40%}
 .portfolio-images img{object-position:center 35%}
 .portfolio-gallery#couples .portfolio-images img:nth-child(4){object-position:center 50%}
 .portfolio-gallery#couples .portfolio-images img:nth-child(5){object-position:35% center}
 .portfolio-gallery#couples .portfolio-images img:nth-child(6){object-position:center 45%}
 .portfolio-gallery#couples .portfolio-images img:nth-child(8){object-position:center 45%}
 .portfolio-gallery#couples .portfolio-images img:nth-child(10){object-position:30% center}
 .portfolio-gallery#couples .portfolio-images img:nth-child(11){object-position:center 45%}
}
@media(max-width:430px){
 .groups-page .ad-hero{background-position:center top;background-size:100% auto;background-repeat:no-repeat;background-color:var(--ink)}
}

/* Compact mobile heroes; desktop dimensions remain unchanged. */
@media(max-width:780px){
 :root body :is(.hero,.ad-hero,.portfolio-hero,.book-intro){min-height:420px;height:auto;padding-top:88px}
 :root body .book-intro{padding-bottom:24px}
 .hero-copy,.portfolio-hero-copy{padding-bottom:24px}
 .ad-hero .ad-box{margin-bottom:24px}
 .hero h1,.ad-hero .ad-box h1,.portfolio-hero h1,.book-page .book-intro h1{font-size:clamp(1.9rem,7.5vw,2.65rem);line-height:1.08}
 .hero p,.ad-hero .ad-box p,.portfolio-hero .lead,.book-page .book-intro p{font-size:1rem;line-height:1.45;margin-top:16px;margin-bottom:20px}
 .portfolio-menu{margin-top:20px}
 .portfolio-menu a{min-height:44px}
 .about-page .ad-box .button{margin-top:16px}
}

/* Consistent hero page labels and a high-contrast mobile Menu button. */
:root body p.page-label{font:600 .78rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px;color:inherit}
.site-header .mobile-menu summary,.site-header .mobile-menu[open] summary{background:#fff;color:var(--ink);border-color:#fff;text-shadow:none;box-shadow:0 2px 10px rgba(0,0,0,.18);font-weight:600}
.site-header .mobile-menu summary:hover{background:var(--paper);border-color:var(--paper)}
.site-header .mobile-menu summary:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

/* Compact mobile hero content, grouped consistently at the bottom. */
@media(max-width:780px){
 :root body :is(.hero,.ad-hero,.portfolio-hero,.book-intro){height:480px;min-height:480px;padding:88px 0 24px;display:flex;flex-direction:column;justify-content:flex-end}
 :root body :is(.hero-copy,.ad-box,.portfolio-hero-copy,.book-intro>.wrap){position:relative;z-index:1;display:flex;flex-direction:column;gap:12px;width:100%;max-width:none;margin:0;padding:0 24px;transform:none;text-align:left}
 :root body :is(.hero-copy,.ad-box,.portfolio-hero-copy,.book-intro>.wrap)>p.page-label{margin:0}
 :root body :is(.hero-copy,.ad-box,.portfolio-hero-copy,.book-intro>.wrap)>h1{font-size:clamp(1.65rem,7vw,2rem);line-height:1.08;margin:0;max-width:none}
 :root body :is(.hero-copy,.ad-box,.portfolio-hero-copy,.book-intro>.wrap)>p:not(.page-label){font-size:1rem;line-height:1.4;margin:0;max-width:none}
 :root body :is(.hero-copy,.ad-box,.portfolio-hero-copy,.book-intro>.wrap)>.button{align-self:flex-start;margin:4px 0 0;max-width:100%;width:fit-content;white-space:normal}
 .portfolio-hero-copy>.portfolio-menu{margin:4px 0 0;width:100%}
 .portfolio-hero-copy>.portfolio-menu a{min-height:44px;padding:8px}
}

/* Sessions page: mobile subject framing and compact introduction. */
@media(max-width:780px){
 .sessions-page .sessions-hero img{object-position:62% bottom;transform:scale(1.45);transform-origin:62% bottom}
 .sessions-page .sessions-intro .intro{gap:10px}
 .sessions-page .sessions-intro h2{margin-bottom:0}
 .sessions-page .sessions-intro .intro>p{margin-top:0;margin-bottom:0}
 .sessions-page .session-card:nth-child(2) img{object-position:center bottom;transform:scale(1.2);transform-origin:65% 40%}
}

/* Mobile Google proof placement and landmark-led FAQ crop. */
.reviews-page .mobile-google-proof{display:none}
@media(max-width:780px){
 .reviews-page .mobile-google-proof{display:block;grid-column:1/-1;text-align:center}
 .reviews-page .mobile-google-proof .review-logo{margin:8px auto}
 .reviews-page .review-proof>a{display:none}
 .faq-page .ad-hero{background-position:right center}
}

/* Keep the speaker visible in the third business gallery image on mobile. */
@media(max-width:780px){.business-page .couples-gallery img[src*="corp_web-23.jpg"]{object-position:left center}}

.business-page .couples-gallery .business-gallery-caption{display:block;margin-top:10px;font:500 .95rem/1.4 var(--sans);color:var(--ink)}

/* Compact business gallery on phones, with centred captions at every size. */
.business-page .couples-gallery .business-gallery-caption{text-align:center}
@media(max-width:780px){
 .business-page .couples-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
 .business-page .couples-gallery img{height:auto!important;aspect-ratio:4/5}
 .business-page .couples-gallery .business-gallery-caption{font-size:.85rem;margin-top:8px}
}

/* Solo page portrait proportions and paired session photographs. */
.solo-page .couples-gallery a{display:block;min-width:0}
.solo-page .couples-gallery img{display:block;width:100%;height:auto!important;aspect-ratio:2/3;object-fit:cover}
.solo-page .solo-experience-pair{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
.solo-page .split .solo-experience-pair img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;object-position:center}

/* Mobile refinements: lower solo crops, complete landscape heroes, compact galleries. */
@media(max-width:780px){
 .routes .route-solo{background-position:50% 20%!important}
 .portfolio-grid a:nth-child(3) img{object-position:center 76%}
 :root body.groups-page .ad-hero,
 :root body.eiffel-page .ad-hero{height:auto;min-height:0;padding:0;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;background-size:0 0;background-color:var(--ink)}
 :root body.groups-page .ad-hero:before,
 :root body.eiffel-page .ad-hero:before{content:'';display:block;position:relative;flex:none;width:100%;aspect-ratio:3/2;background-image:inherit;background-size:cover;background-position:center;background-repeat:no-repeat}
 :root body.groups-page .ad-hero:after,
 :root body.eiffel-page .ad-hero:after{display:none}
 :root body.groups-page .ad-hero .ad-box,
 :root body.eiffel-page .ad-hero .ad-box{padding:22px 24px 24px;margin:0;width:100%;max-width:none;transform:none}
 .solo-page .couples-gallery,
 .eiffel-page .couples-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
 .solo-page .couples-gallery a,
 .eiffel-page .couples-gallery a{min-width:0;grid-column:auto;overflow:hidden}
 .solo-page .couples-gallery img,
 .eiffel-page .couples-gallery img{display:block;width:100%;height:auto!important;aspect-ratio:2/3;object-fit:cover}
}
