/* MaryJay — premium, warm and vibrant revision v4. Additive overrides for safe rollback. */
:root{
  --forest:#145b4b;--forest-deep:#103f35;--forest-ink:#0c342b;
  --mint:#d7efe3;--mint-light:#f2fbf5;--warm:#f8f2e9;
  --cream:#fffaf3;--gold:#bc8552;--text:#233a32;--muted:#62746a;
  --border:#e7ede6;--shadow:0 20px 56px rgba(29,73,57,.1);
  --peach:#f8dfcd;--coral:#d69475;--aqua:#80c4b6;
  --radius:25px;
}
body{background:#fffefb;color:var(--text);font-size:16px}
.shell{width:min(100% - 70px,1224px)}
.header{height:88px;box-shadow:0 7px 28px rgba(35,83,59,.07);border-bottom:1px solid rgba(34,79,59,.09);background:rgba(255,255,253,.975)}
.header-inner{gap:14px}
.brand{gap:10px}.brand img{width:52px;height:52px;filter:drop-shadow(0 1px 0 #ffffff)}
.brand-name{font-size:36px;letter-spacing:-1.6px;color:#143d32}.brand-caption{letter-spacing:2.6px;font-size:9px}
.main-nav{gap:19px;margin-right:7px}.main-nav a{font-size:12.5px;font-weight:700;color:#365548}
.main-nav a.active:after{height:3px;background:#d49b73;bottom:3px}
.lang-switch{border-color:#d7e9dc;background:#f4fbf5;min-height:41px;padding:6px 11px;gap:7px}
.lang-btn{font-size:12px}.lang-btn.is-active{color:#095b44}.header-actions{gap:8px}
.header-whatsapp{background:#eaf7ee;border-color:#cfe7d6;box-shadow:0 3px 12px rgba(5,96,49,.035)}
.header-whatsapp .ico{color:#158447;width:20px;height:20px}
.header-phone{border-color:#e9ded4;background:#fff9f2}.header-phone .ico{color:#bd8652}
/* Hero: editorial layout, inviting colour and carefully framed real photography. */
.hero{background:
 radial-gradient(circle at 7% 96%,rgba(196,232,212,.45),transparent 32%),
 radial-gradient(circle at 92% 0%,rgba(246,216,197,.55),transparent 40%),
 linear-gradient(116deg,#fffefa 0%,#fff7f0 46%,#eef7ee 100%);
}
.hero:before{content:"";position:absolute;top:0;right:0;width:24%;height:100%;background:radial-gradient(ellipse at 75% 45%,rgba(127,192,161,.18),transparent 62%);pointer-events:none}
.hero-wrap{grid-template-columns:1.01fr 1fr;min-height:640px;gap:54px;padding-top:43px;padding-bottom:91px}
.hero-text{padding-bottom:14px}
.hero-welcome{display:inline-flex;align-items:center;gap:10px;margin:0 0 22px;padding:8px 16px 8px 11px;border-radius:100px;color:#30634c;background:#eaf7ec;border:1px solid #cde8d4;font-size:12px;font-weight:750;letter-spacing:.3px}
.welcome-dot{width:13px;height:13px;border-radius:50%;display:inline-block;background:#ecab80;box-shadow:0 0 0 4px #fbe4d4}
.hero .eyebrow{color:#a76f47;letter-spacing:2.25px;font-size:11px}
.hero h1{font-size:clamp(54px,5.15vw,78px);line-height:1.07;letter-spacing:-2.8px;color:#193b31;margin:22px 0 23px;max-width:650px}
.hero h1 em{color:#bb7953}
.hero-text>p{font-size:17px;line-height:1.85;max-width:530px;color:#526c5d;margin-bottom:28px}
.hero-cta{gap:13px}.hero-cta .btn-primary{background:#14634f;box-shadow:0 13px 29px rgba(14,80,60,.17)}
.btn{min-height:54px;border-radius:999px;font-weight:800;letter-spacing:.03px}
.btn-primary{background:#14634f;box-shadow:0 10px 20px rgba(22,93,72,.17)}
.btn-primary:hover{background:#0c4d3d;box-shadow:0 14px 29px rgba(22,93,72,.2)}
.btn-outline{border:1.5px solid #b7d6c4;background:#fff;color:#135d47}
.btn-outline:hover{background:#effaf1}
.hero-perks{margin-top:33px;gap:20px;color:#365e4c}
.hero-perks .ico{color:#c78754;border-color:#dca476}
.hero-media{align-items:center;min-height:550px}
.hero-media::before{width:93%;height:93%;left:5%;top:7%;border-radius:50% 44% 22% 22% / 28% 31% 16% 16%;transform:rotate(5deg);background:linear-gradient(135deg,#bfdbc3,#ecf2d9 70%,#f4dec8)}
.hero-photo-wrap{width:91%;height:565px;border-radius:47% 47% 18% 18% / 28% 28% 9% 9%;border:7px solid rgba(255,255,255,.85);box-shadow:0 28px 55px rgba(25,71,52,.14)}
.hero-photo-wrap img{object-position:center 38%;transform:none}
.photo-sticker{width:168px;min-height:112px;right:-2%;bottom:10px;transform:rotate(-5deg);border:2px solid #f1dcc4;background:#fff9ef;box-shadow:0 13px 38px rgba(36,72,54,.12);color:#265641;font-size:14px}
.photo-sticker .ico{color:#cd8b61}
.hero-wave{height:62px}
/* Section headings and editorial details */
.section{padding:96px 0}
.eyebrow{color:#b6794c;font-size:11px;letter-spacing:2.3px}
.section-lead h2,.center-heading h2,.values-section h2{font-size:clamp(38px,3.75vw,54px);letter-spacing:-1.8px;color:#1e4738}
.section-lead p{font-size:15px;color:#657c6b}
.section-services{position:relative;background:linear-gradient(180deg,#fffefb,#fffbf7 93%)}
.section-services:before{content:"";position:absolute;pointer-events:none;left:0;top:100px;width:10px;height:200px;background:linear-gradient(#9fcfbd,#efbf9e);border-radius:0 20px 20px 0;opacity:.8}
.section-lead{margin-bottom:36px}
.services-grid{gap:22px}
.service-card{border:1px solid #e0e8de;border-radius:24px;box-shadow:0 11px 31px rgba(53,79,55,.065);overflow:hidden;background:#fff;transform:translateY(0)}
.service-card:hover{transform:translateY(-7px);box-shadow:0 19px 43px rgba(40,93,65,.14)}
.service-card img{height:205px;object-fit:cover;filter:none}
.service-card:nth-child(2) img,.service-card:nth-child(3) img{object-position:center 60%}
.service-body{position:relative;padding:22px 24px 25px}
.service-body:before{content:"";position:absolute;left:24px;top:0;width:52px;height:4px;background:#b5dbca;border-radius:0 0 10px 10px}
.service-card:nth-child(2) .service-body:before,.service-card:nth-child(5) .service-body:before{background:#edc2a2}
.service-card:nth-child(3) .service-body:before,.service-card:nth-child(6) .service-body:before{background:#b0c9c4}
.service-card:nth-child(1) .service-body,.service-card:nth-child(4) .service-body{background:linear-gradient(180deg,#f7fcf8,#fff 51%)}
.service-card:nth-child(2) .service-body,.service-card:nth-child(5) .service-body{background:linear-gradient(180deg,#fff8f2,#fff 51%)}
.service-card:nth-child(3) .service-body,.service-card:nth-child(6) .service-body{background:linear-gradient(180deg,#f4f9f8,#fff 51%)}
.service-no{font-size:10px;letter-spacing:1.5px;color:#b47950}
.service-card h3{font-size:26px;color:#214939;margin:11px 0 10px}
.service-card p{color:#63766b;min-height:70px}
.text-link{color:#146b50;font-size:13px;margin-top:19px;gap:7px}.text-link:hover{color:#9e6239}
.section-fineprint{max-width:930px;padding:14px 22px;border-radius:18px;background:#f4f8f2;color:#567363}
/* Charming next-steps strip: no stock photos, no image repetitions */
.journey{position:relative;overflow:hidden;background:#dff3e7;padding:72px 0;border-block:1px solid #cbe5d2}
.journey:before{content:"";position:absolute;width:480px;height:480px;border-radius:50%;background:rgba(246,197,167,.42);right:-150px;bottom:-330px;pointer-events:none}
.journey:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;border:55px solid rgba(255,255,255,.26);left:-115px;top:-185px;pointer-events:none}
.journey-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.02fr 1fr;gap:90px;align-items:center}
.journey-lead .eyebrow{color:#326a57}
.journey-lead h2{font:normal clamp(42px,3.9vw,59px)/1.1 var(--serif);letter-spacing:-1.65px;margin:15px 0 17px;color:#164637}
.journey-lead h2 em{color:#b77450;font-style:normal}
.journey-lead p{color:#466658;font-size:16px;max-width:475px;margin:0 0 25px}
.journey-steps{display:grid;gap:12px}
.journey-step{background:#fffffff0;border:1px solid #d8e9d8;border-radius:22px;padding:17px 22px;display:grid;grid-template-columns:62px 1fr;align-items:center;gap:16px;box-shadow:0 11px 28px #397e5520}
.journey-step:nth-child(2){transform:translateX(15px)}
.journey-step .step-num{width:55px;height:55px;border-radius:18px;display:grid;place-items:center;background:#f9e2d1;color:#ae7048;font:normal 26px var(--serif)}
.journey-step:nth-child(2) .step-num{background:#dcece9;color:#346e65}
.journey-step:nth-child(3) .step-num{background:#deefda;color:#37744f}
.journey-step h3{font:normal 23px var(--serif);margin:0 0 3px;color:#1b4c3c}
.journey-step p{font-size:13px;color:#688075;margin:0;line-height:1.45}
/* About feels more intimate and human */
.about-section{background:linear-gradient(120deg,#fff9f3 0%,#fff8ef 49%,#f4f8ef 100%)}
.about-grid{grid-template-columns:.86fr 1fr;gap:95px}
.about-image{height:580px}
.about-image:before{content:"";position:absolute;inset:-20px 25px 17px -18px;border:2px solid rgba(214,156,113,.5);border-radius:42px 195px 42px 42px;pointer-events:none}
.about-image img{border-radius:38px 186px 38px 38px;object-position:center 31%;box-shadow:0 27px 55px rgba(77,83,46,.17)}
.about-chip{right:-19px;bottom:18px;padding:13px 19px;border:1px solid #e5dec8;color:#a36f51;box-shadow:0 16px 31px rgba(30,61,39,.12)}
.about-content .eyebrow{color:#b47a54}
.about-content h2{font-size:clamp(52px,5vw,69px);line-height:1.04;color:#173e31}
.about-content h2 em{color:#b87853}
.about-content h3{font-size:24px;color:#1f6a50}
.about-content p{font-size:16px;line-height:1.83;color:#637468}
.about-facts span{border-color:#cee6d7;background:#f5fbf7;color:#27644a}
/* Locations: colour with clarity, not fictional photos */
.section-locations{background:#fff;position:relative}
.section-locations .center-heading{max-width:750px}
.locations-grid{gap:27px}
.location-card{border-radius:26px;min-height:285px;box-shadow:0 16px 40px rgba(43,85,59,.1);border-color:#e3ece4;grid-template-columns:45% 55%}
.location-illustration{padding:25px 22px}
.location-dordrecht:before{background:linear-gradient(155deg,#70ac97,#216b56 78%)}
.location-ambacht:before{background:linear-gradient(145deg,#7bbab6,#3c7e80 85%)}
.location-illustration:after{width:180px;height:180px;top:-35px;right:-70px;border-width:40px}
.location-pin{background:#ffffff40}
.location-copy{padding:23px 24px}
.location-copy h3{color:#184b3a;font-size:25px}
.location-copy p{font-size:14px;line-height:1.68;color:#698075}
.btn-small{border-color:#bedacc;background:#f4fbf6;color:#236c51}
.btn-small:hover{background:#e6f5ec}
.practice-photo-line{max-width:880px;border:1px solid #e0ebe1;border-radius:22px;overflow:hidden;background:#f4faf5;box-shadow:0 13px 29px rgba(42,92,62,.07)}
.practice-photo-line img{object-fit:cover}
.practice-photo-line p{color:#5c7466}
/* Dark emerald benefits, high-contrast sophisticated typography */
.values-section{overflow:hidden;position:relative;background:linear-gradient(127deg,#114b3b,#1e7658 64%,#21665b);color:#fff;padding:75px 0 80px}
.values-section:before,.values-section:after{display:none!important}
.values-section .eyebrow{color:#f3c9a6}
.values-section h2{color:#fff;font-size:clamp(38px,3.75vw,52px);margin-bottom:32px}
.values-grid{gap:20px}
.value-item{background:rgba(255,255,255,.105);border:1px solid rgba(255,255,255,.18);border-radius:21px;padding:21px 20px;display:flex;align-items:center;gap:14px}
.value-icon{background:#f9e4d5;border-color:transparent;color:#9c673d;width:60px;height:60px;flex-shrink:0;border-radius:19px}
.value-icon .ico{color:#a8734c}
.value-item h3{color:#fff;font-size:21px}
.value-item p{color:#deefe4;font-size:13px}
/* Booking: attractive contrast and a form that feels intentional */
.booking-section{background:radial-gradient(circle at 7% 100%,#f2e1d3,transparent 36%),linear-gradient(120deg,#fff8ee,#f5faf5)}
.booking-grid{gap:30px;grid-template-columns:.65fr .86fr 1.05fr;align-items:center}
.booking-image{height:520px;border-radius:38px 38px 155px 38px;overflow:hidden;box-shadow:0 20px 45px rgba(53,86,63,.14)}
.booking-image img{height:100%;width:100%;object-fit:cover;object-position:center 45%}
.booking-copy h2{font-size:clamp(43px,3.3vw,52px);letter-spacing:-1.5px}
.booking-copy h2 em{color:#b87952}
.booking-copy p{line-height:1.8;color:#65766b}
.booking-form{background:#fff;border:1px solid #e5e7dd;padding:30px 28px;border-radius:28px;box-shadow:0 22px 52px rgba(42,85,57,.12)}
.booking-form h3{color:#224f3b;font-size:25px;margin-bottom:22px}
.form-grid input,.form-grid select{background:#fcfdf9;border:1px solid #dce7dc;border-radius:11px}
.form-grid input:focus,.form-grid select:focus{border-color:#79b592;box-shadow:0 0 0 3px #dcefe1}
.btn-submit{background:#14644f}
/* CTA and footer */
.contact-strip{background:linear-gradient(110deg,#cdeadc,#e6f4e8);color:#14543e;padding:40px 0}
.contact-strip h2{color:#185a45}.contact-strip .eyebrow{color:#926b4a}
.btn-light{background:#145d49;color:#fff}.btn-light:hover{background:#0d4a3a}
.btn-light-outline{color:#145d49;border-color:#619f80;background:transparent}.btn-light-outline:hover{background:#f3faf4}
.footer{background:linear-gradient(145deg,#0d392f,#0d332c);color:#e7f7ec}
.footer-top{padding:64px 0 52px}
.footer h3{letter-spacing:.3px}
.footer-brand p{max-width:320px;color:#bdd8c9}
.footer-bottom{border-color:#42705e;color:#b4d1c2}
.suria-credit{color:#edd1b0}
.whatsapp-float{background:#158551;box-shadow:0 9px 30px rgba(8,94,57,.35);border:2px solid #dbf3e1;min-height:54px}
.whatsapp-float:hover{background:#0f7746}
.whatsapp-float .ico{width:23px;height:23px;color:#fff;stroke:none;fill:currentColor}
.header-whatsapp .ico,.hero-cta .btn-outline .ico,.btn-submit .ico,.contact-strip .btn-light-outline .ico{stroke:none;fill:currentColor}
/* Full visual protection for PDF-like responsive views */
@media(max-width:1240px){
 .header{height:76px}.shell{width:min(100% - 46px,1140px)}
 .main-nav{gap:13px}.main-nav a{font-size:12px}
 .header-actions{gap:6px}.header-whatsapp span{display:none}.header-whatsapp{width:42px;height:42px;justify-content:center;padding:9px}
 .hero-wrap{gap:26px}.hero-photo-wrap{height:530px}.booking-grid{grid-template-columns:.6fr .85fr 1fr;gap:20px}
}
@media(max-width:1180px){
 .main-nav{top:75px}
 .journey-inner{gap:45px}
 .hero-wrap{grid-template-columns:1fr 1fr}
 .services-grid{gap:16px}
}
@media(max-width:880px){
 .shell{width:min(100% - 38px,760px)}
 .hero-wrap{padding-top:34px;min-height:0;gap:20px}
 .hero h1{font-size:clamp(43px,5.8vw,59px)}
 .hero-photo-wrap{height:460px}
 .hero-media{min-height:450px}
 .hero-welcome{font-size:11px;padding:7px 12px}
 .journey-inner{grid-template-columns:1fr;gap:28px}
 .journey-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
 .journey-step,.journey-step:nth-child(2){transform:none;display:block;padding:16px}
 .journey-step .step-num{margin-bottom:10px;width:44px;height:44px;font-size:22px}
 .journey-step h3{font-size:20px}
 .booking-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:24px}
 .booking-image{grid-row:span 2;height:100%;max-height:700px}
 .booking-form{grid-column:2}
 .values-grid{grid-template-columns:1fr;gap:11px}
 .values-section .center-heading{margin-bottom:20px}
 .value-item{padding:15px 18px}
}
@media(max-width:620px){
 html{scroll-padding-top:74px}
 .shell{width:min(100% - 32px,560px)}
 .header{height:72px}.header-inner{gap:6px}.brand img{width:41px;height:41px}.brand-name{font-size:25px;letter-spacing:-1.1px}.brand-caption{font-size:6.5px;letter-spacing:1.5px}
 .header-actions{gap:5px;margin-left:auto}.header-phone{display:none}
 .lang-switch{padding:5px 7px;gap:4px;min-height:38px}.lang-btn{font-size:11px;min-width:20px}
 .header-whatsapp{width:39px;height:39px;min-width:39px;padding:8px}
 .menu-toggle{width:40px;height:40px;min-width:40px}
 .main-nav{top:71px;max-height:calc(100dvh - 71px)}
 .hero-wrap{display:flex;flex-direction:column;gap:18px;padding-top:33px;padding-bottom:70px}
 .hero-text{width:100%}.hero-welcome{margin-bottom:16px;font-size:11px}
 .hero h1{font-size:clamp(42px,10.8vw,59px);margin:14px 0 19px;letter-spacing:-1.9px}
 .hero-text>p{font-size:15px;margin-bottom:21px;line-height:1.75}
 .hero-cta{gap:9px}.hero-cta .btn{padding:12px 16px;font-size:12px;min-height:47px}
 .hero-perks{gap:10px;margin-top:23px;font-size:11px}
 .hero-media{height:auto;min-height:0;padding:8px 0 0}
 .hero-media:before{width:85%;height:93%;top:8%;left:7%}
 .hero-photo-wrap{height:440px;width:89%;margin-inline:auto;border-width:5px;box-shadow:0 24px 40px rgba(28,73,52,.13)}
 .photo-sticker{width:116px;min-height:91px;right:-1%;bottom:-12px;font-size:11px}
 .hero-wave{height:42px}
 .section{padding:68px 0}
 .section-services:before{display:none}
 .section-lead h2,.center-heading h2{font-size:clamp(35px,9.2vw,44px)}
 .section-lead p{font-size:14px}
 .services-grid{gap:13px}
 .service-card{border-radius:17px}
 .service-card img{height:118px}
 .service-body{padding:16px 13px 18px}
 .service-body:before{left:13px;width:36px;height:3px}
 .service-no{font-size:9px;letter-spacing:.5px}
 .service-card h3{font-size:20px;line-height:1.13;min-height:43px}
 .service-card p{font-size:12px;min-height:92px;line-height:1.55}
 .text-link{font-size:11px;gap:3px}
 .journey{padding:60px 0}
 .journey-lead h2{font-size:43px}
 .journey-lead p{font-size:14px}
 .journey-steps{grid-template-columns:1fr;gap:12px}
 .journey-step,.journey-step:nth-child(2){display:grid;grid-template-columns:53px 1fr;padding:14px;gap:11px}
 .journey-step .step-num{margin:0;width:49px;height:49px}
 .journey-step h3{font-size:21px}
 .about-grid{gap:32px}.about-image{height:450px}.about-image:before{inset:-11px 18px 11px -8px}
 .about-content h2{font-size:clamp(45px,10vw,56px)}.about-content h3{font-size:22px}
 .location-card{grid-template-columns:39% 61%;min-height:216px;border-radius:19px}
 .location-illustration{padding:16px 13px}.location-copy{padding:17px 14px}
 .location-copy h3{font-size:20px}.location-copy p{font-size:12px}
 .values-section{padding:62px 0}
 .values-section h2{font-size:38px}.values-grid{gap:12px}
 .value-item h3{font-size:20px}
 .booking-grid{display:flex;flex-direction:column;align-items:stretch;gap:22px}
 .booking-image{height:280px;border-radius:26px 26px 95px 26px;max-height:none;flex:unset;align-self:auto}
 .booking-copy h2{font-size:43px}
 .booking-form{padding:24px 18px;border-radius:21px}
 .booking-form h3{font-size:23px}
 .contact-strip{padding:32px 0}
 .contact-strip .btn{padding:11px 15px;font-size:12px}
 .footer-top{padding:50px 0 31px}
 .whatsapp-float{width:54px;height:54px;padding:12px;right:14px;bottom:calc(15px + env(safe-area-inset-bottom))}
 .back-to-top{bottom:calc(80px + env(safe-area-inset-bottom))}
}
@media(max-width:390px){
 .shell{width:min(100% - 24px,360px)}.header-inner{gap:4px}
 .brand{gap:5px}.brand img{width:36px;height:36px}.brand-name{font-size:22px}.brand-caption{font-size:6px;letter-spacing:1.1px}
 .header-actions{gap:3px}.lang-switch{padding:5px 5px;gap:3px;min-height:35px}
 .lang-btn{font-size:10px;min-width:18px}.header-whatsapp{width:37px;height:37px;min-width:37px}.menu-toggle{width:38px;height:38px;min-width:38px}
 .hero-cta .btn{padding:11px 12px;font-size:11px}
 .hero-photo-wrap{height:400px}.service-body{padding:14px 10px 16px}.service-card h3{font-size:18px}
 .location-copy{padding:14px 10px}.location-copy h3{font-size:18px}
}
@media(prefers-reduced-motion:reduce){.journey-step:nth-child(2){transform:none!important}}

/* Bilingual privacy pages share the same updated visual language. */
.privacy-page{background:linear-gradient(180deg,#fffaf4,#fff 340px)}
.privacy-page .legal-container{padding-top:76px;padding-bottom:92px}
.privacy-page .legal-container h1{color:#1a5843;letter-spacing:-1.3px}
.privacy-page .legal-intro{border-color:#d7a078;background:#fff1e6;color:#6d5948;border-radius:0 16px 16px 0}
.privacy-page .legal-container h2{color:#175e47}
.privacy-page .legal-container .btn-primary{background:#14634f}
.privacy-page .header{height:84px}
.privacy-page .privacy-lang{background:#ecf7ef;border:1px solid #d2e6d5;border-radius:50px;padding:6px 11px;gap:7px}
@media(max-width:620px){
 .hero .eyebrow{display:block;max-width:100%;margin-top:2px;line-height:1.65;letter-spacing:1.65px}
 .hero-welcome{margin-bottom:11px}
 .privacy-page .header{height:70px}
 .privacy-page .header-inner{gap:7px}
 .privacy-page .privacy-header-actions{gap:7px}
 .privacy-page .privacy-lang{padding:5px 7px;font-size:11px;gap:5px}
 .privacy-page .privacy-header-actions .btn{padding:6px 10px;min-height:36px;font-size:11px}
 .privacy-page .legal-container{padding-top:48px;padding-bottom:65px}
 .privacy-page .legal-container h1{font-size:42px}
}
@media(max-width:380px){
 .privacy-page .header-inner{gap:5px}
 .privacy-page .brand-name{font-size:21px}
 .privacy-page .brand img{width:35px;height:35px}
 .privacy-page .brand-caption{font-size:5px}
 .privacy-page .privacy-header-actions{gap:4px}
 .privacy-page .privacy-header-actions .btn{padding:6px 7px;font-size:10px}
 .privacy-page .privacy-lang{padding:5px 6px}
}
