:root{--navy:#172330;--navy2:#23303c;--cream:#f8f5ef;--paper:#fffdf9;--gold:#c7ac82;--gold-light:#e2cba6;--ink:#20262a;--muted:#616569}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{margin:0;color:var(--ink);font-family:'DM Sans',sans-serif;background:var(--cream);-webkit-font-smoothing:antialiased}h1,h2,h3,blockquote,.brand>span{font-family:'Playfair Display',Georgia,serif;font-weight:400}h1,h2,h3,p{margin-top:0}h2{font-size:clamp(2rem,3.1vw,3.7rem);line-height:1.14;letter-spacing:-.03em;margin-bottom:22px}h2 em,h1 em{font-weight:400}p{line-height:1.7}a{color:inherit;text-decoration:none}button,select,input{font:inherit}.container{max-width:1290px;margin:auto;padding-left:5%;padding-right:5%}.site-header{background:var(--navy);color:#f7f1e8;position:sticky;top:0;z-index:20;box-shadow:0 2px 14px #0002}.header-inner{height:76px;max-width:1500px;margin:auto;padding:0 4%;display:flex;align-items:center;gap:26px;justify-content:space-between}.brand{display:flex;flex-direction:column;white-space:nowrap}.brand>span{font-size:26px;letter-spacing:-.04em}.brand small{font-size:8px;letter-spacing:2px;margin-top:2px;color:#dbc8ac}.main-nav{display:flex;gap:clamp(14px,2vw,32px)}.main-nav a,footer nav a{font-family:'Playfair Display',serif;font-size:13px;transition:color .2s}.main-nav a:hover,footer nav a:hover{color:var(--gold-light)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:45px;padding:12px 29px;border-radius:5px;font-family:'Playfair Display',serif;font-size:14px;cursor:pointer;transition:transform .2s,background .2s;border:1px solid transparent}.button:hover{transform:translateY(-2px)}.button-gold{background:linear-gradient(115deg,#d3bc96,#e6cda5);color:#20242a}.button-outline{background:transparent;color:#fff7ea;border-color:#c8ae87}.header-cta{min-width:124px}.menu-toggle{display:none;background:transparent;border:0;color:white;font-size:28px}.eyebrow{font-size:10px;letter-spacing:3.1px;font-weight:600;margin-bottom:17px}.eyebrow.light{color:#e2cba6}.gold-line{height:1px;width:46px;background:var(--gold);margin:22px 0}.hero{height:min(690px,78vw);min-height:560px;position:relative;color:white;display:flex;align-items:center;overflow:hidden}.hero-photo,.hero-shade,.booking-photo,.philosophy-photo{position:absolute;inset:0}.hero-photo{background:url('assets/lina-hero.jpeg') center 52%/cover}.hero-shade{background:linear-gradient(90deg,rgba(13,23,33,.89),rgba(13,23,33,.56) 38%,transparent 80%),linear-gradient(0deg,#14202d60,transparent 55%)}.hero-content{position:relative;width:100%;z-index:1}.hero h1{font-size:clamp(3.4rem,6.2vw,6.5rem);line-height:1.04;letter-spacing:-.045em;margin-bottom:14px}.hero-content>p:not(.eyebrow){max-width:410px;font-size:15px;font-weight:300}.hero-actions{display:flex;gap:13px;margin-top:25px}.hero-signature{display:block;letter-spacing:2.9px;font-size:9px;margin-top:38px;color:#e8dfd2}.hero-quote{position:absolute;right:5%;bottom:8%;font:italic 20px/1.6 'Playfair Display',serif;text-align:center;text-shadow:0 2px 8px #0008}.section-cream{background:var(--paper)}.about{display:grid;grid-template-columns:26% 1fr 24%;min-height:410px}.about-image{min-height:410px;overflow:hidden}.about-image img{height:100%;width:100%;object-fit:cover;object-position:center 48%}.about-copy{padding:50px clamp(25px,4vw,70px)}.about-copy p:not(.eyebrow){font-size:14px;line-height:1.75;color:#53575b;max-width:690px}.about-copy h2{margin-bottom:15px}.script-note{display:block;margin-top:18px;color:#806c57;font:italic 21px 'Playfair Display',serif}.about-quote{padding:90px 14px 25px;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;background:radial-gradient(ellipse at right,#f3e9db,transparent 70%)}.quote-mark{font-size:70px;font-family:Georgia;color:var(--gold);line-height:.2}.about-quote blockquote{font:italic 20px/1.65 'Playfair Display',serif}.lotus{font-size:50px;color:var(--gold)}.gallery-section{display:grid;grid-template-columns:21% 79%;background:var(--cream);min-height:310px}.gallery-intro{padding:38px 14% 28px 20%}.gallery-intro h2{font-size:clamp(2.3rem,3vw,3.6rem)}.gallery-intro p:not(.eyebrow){font-size:13px;color:#595c5c}.gallery-intro small{font-size:10px;color:#827d74}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:7px 7px 7px 0;min-width:0}.gallery-grid button{padding:0;overflow:hidden;border:0;cursor:zoom-in;background:#ded7d0;min-height:235px}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.gallery-grid button:hover img{transform:scale(1.05)}.philosophy{position:relative;background:var(--navy);color:#fff;min-height:355px}.philosophy-photo{width:30%;background:linear-gradient(90deg,transparent 60%,var(--navy)),url('assets/lina-black-white.jpeg') center/cover}.philosophy-inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 185px 210px;gap:35px;align-items:center;min-height:355px;padding-left:31%}.philosophy-main{padding:36px 0}.philosophy-main p:not(.eyebrow){font-size:13px;line-height:1.8;color:#e8e8e5}.philosophy-main h2{font-size:clamp(2rem,3vw,3.1rem)}.values{padding:5px 0 5px 25px;border-left:1px solid #ad9a7c;list-style:none;line-height:2.6;font-size:13px}.values li span{color:var(--gold);display:inline-block;font-size:20px;min-width:28px}.philosophy-quote{border-left:1px solid #ad9a7c;padding-left:25px;font:italic 18px/1.8 'Playfair Display',serif}.rituals{display:grid;grid-template-columns:19% 1fr;gap:28px;padding:62px 4% 65px}.rituals-heading p:not(.eyebrow){font-size:13px;max-width:240px;color:#676765}.rituals-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ritual-card{background:#fff;border:1px solid #e7ded2;display:flex;flex-direction:column;border-radius:5px;overflow:hidden;box-shadow:0 12px 30px #1c28300a}.ritual-card img{height:170px;width:100%;object-fit:cover;object-position:center 38%}.ritual-body{padding:23px 23px 19px;display:flex;flex:1;flex-direction:column}.ritual-body h3{font-size:24px;margin-bottom:12px}.ritual-body>p{font-size:13px;line-height:1.7;color:#676562;flex:1}.ritual-footer{text-align:center}.ritual-footer strong{display:block;font:17px 'Playfair Display',serif;background:#e8d2ad;border-radius:40px;padding:7px 12px;max-width:160px;margin:14px auto}.ritual-footer a{font-size:12px;color:#80664a;border-bottom:1px solid #c4ac8a;padding-bottom:3px}.pricing{background:linear-gradient(110deg,#f0eae1,#f9f7f3 50%,#f0eae1);padding:45px 4%;display:grid;grid-template-columns:23% 1fr 22%;gap:30px;align-items:center}.pricing-heading h2{font-size:clamp(1.8rem,2.5vw,3rem)}.pricing-heading p:last-child{font-size:13px;color:#73716f}.pricing-cards{display:grid;grid-template-columns:repeat(3,1fr);background:#fff9;border:1px solid #e3d8c8}.pricing-cards a{display:flex;flex-direction:column;align-items:center;padding:24px 10px;border-right:1px solid #ddd1c0;gap:8px;transition:background .2s}.pricing-cards a:hover{background:#ecddc4}.pricing-cards a:last-child{border:0}.pricing-cards span{font:15px 'Playfair Display',serif;text-align:center}.pricing-cards strong{font:24px 'Playfair Display',serif}.pricing-cards small{font:13px 'Playfair Display',serif;color:#6c655d}.pricing-trust{list-style:none;border-left:1px solid var(--gold);padding-left:23px;line-height:2.2;font:13px 'Playfair Display',serif}.booking{position:relative;background:var(--navy);color:white;min-height:460px;display:flex;align-items:center}.booking-photo{background:linear-gradient(90deg,#172330 8%,#172330dc 34%,#17233033 70%,#172330a3),url('assets/lina-reclining.jpeg') center 47%/cover}.booking-content{position:relative;z-index:1;width:100%;padding-top:45px;padding-bottom:45px}.booking-content h2{font-size:clamp(2.7rem,4.1vw,4.8rem)}.booking-content>p:not(.eyebrow){font-size:14px;max-width:510px}.booking-form{width:min(100%,490px);display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-top:25px}.booking-form label{font-size:11px;letter-spacing:.3px}.booking-form label:first-child,.booking-form #service,.booking-form button,.form-note{grid-column:1/-1}.booking-form select,.booking-form input{width:100%;min-width:0;color:#29343d;background:#fffbf5;border:1px solid #c6b89f;padding:12px 13px;border-radius:3px;min-height:44px}.booking-form button{margin-top:8px}.form-note{font-size:11px!important;color:#ddd4c7}.booking-quote{position:absolute;right:5%;bottom:20%;font:italic 22px/1.7 'Playfair Display',serif;text-align:center}.site-header a:focus-visible,.button:focus-visible,.gallery-grid button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}footer{background:var(--navy);color:#e8dfd4;border-top:1px solid #c4ab8544}.footer-inner{max-width:1500px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:24px 4%}footer nav{display:flex;flex-wrap:wrap;gap:18px}footer .brand>span{font-size:24px}.footer-right{text-align:right;display:flex;flex-direction:column;gap:9px;font:12px 'Playfair Display',serif;color:#c6ab85}.footer-right small{color:#a1a8af;font-size:10px}#lightbox{border:0;background:#101921ee;max-width:min(94vw,1000px);max-height:94vh;padding:22px;box-shadow:0 0 0 100vmax #000b}#lightbox::backdrop{background:#000c}#lightbox img{max-height:80vh;max-width:80vw;object-fit:contain;display:block}.lightbox-close{position:absolute;top:0;right:0;color:white;background:transparent;border:0;font-size:35px;cursor:pointer}@media(max-width:1100px){.main-nav{gap:12px}.main-nav a{font-size:12px}.header-cta{display:none}.about{grid-template-columns:30% 1fr}.about-quote{display:none}.philosophy-inner{grid-template-columns:1fr 180px;padding-left:33%;gap:18px}.philosophy-quote{display:none}.rituals{grid-template-columns:1fr}.rituals-heading h2 br{display:none}.pricing{grid-template-columns:1fr 2fr}.pricing-trust{grid-column:1/-1;display:flex;justify-content:center;gap:24px;padding:0;border:0;margin:0}}@media(max-width:760px){html{scroll-padding-top:70px}.header-inner{height:70px}.menu-toggle{display:block;margin-left:auto}.main-nav{display:none;position:absolute;left:0;right:0;top:70px;background:#172330;flex-direction:column;padding:20px 8%;gap:0;box-shadow:0 16px 20px #0004}.main-nav.open{display:flex}.main-nav a{padding:13px 0;font-size:15px;border-bottom:1px solid #ffffff15}.hero{height:660px;min-height:0;align-items:flex-end}.hero-photo{background-position:57% center}.hero-shade{background:linear-gradient(0deg,#101c29 3%,#101c29d9 42%,#101c2920 100%)}.hero-content{padding-bottom:44px}.hero h1{font-size:clamp(3.3rem,12vw,5rem)}.hero-content>p:not(.eyebrow){font-size:14px;max-width:360px}.hero-quote{display:none}.hero-actions{flex-wrap:wrap}.hero-signature{margin-top:27px;letter-spacing:2px}.about{grid-template-columns:1fr}.about-image{height:390px;min-height:0}.about-copy{padding:36px 7%}.gallery-section{display:block}.gallery-intro{padding:40px 7% 22px}.gallery-grid{grid-template-columns:repeat(3,1fr);padding:0;gap:4px}.gallery-grid button{min-height:170px;height:43vw}.philosophy-photo{width:100%;opacity:.18;background:linear-gradient(90deg,var(--navy),transparent),url('assets/lina-black-white.jpeg') center/cover}.philosophy-inner{display:block;padding:46px 7%}.philosophy-main{padding:0}.values{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;margin:20px 0 0}.rituals{padding:44px 6%;gap:10px}.rituals-cards{grid-template-columns:1fr}.ritual-card img{height:240px}.ritual-body{padding:21px}.pricing{grid-template-columns:1fr;padding:40px 6%;gap:16px}.pricing-cards{grid-template-columns:1fr}.pricing-cards a{border-right:0;border-bottom:1px solid #ddd1c0;padding:17px}.pricing-trust{grid-column:1;display:grid;grid-template-columns:1fr 1fr;font-size:12px;gap:4px}.booking{min-height:620px}.booking-photo{background:linear-gradient(90deg,#172330ee,#172330aa),url('assets/lina-reclining.jpeg') center/cover}.booking-content{padding:44px 7%}.booking-quote{display:none}.footer-inner{flex-direction:column;text-align:center;gap:22px}.footer-right{text-align:center}footer nav{justify-content:center}.booking-form{gap:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Lina Tantra — descriptions longues et cohérentes */
.ritual-card .ritual-body p{line-height:1.66;}
.ritual-card h3{letter-spacing:.025em;}
.ritual-card img{object-fit:cover;object-position:center;}

.contact-number{font-size:14px!important;color:#f1e7d9}.contact-number a{color:#e2cba6;text-decoration:underline;text-underline-offset:3px}.footer-right a{color:#e2cba6}

/* Conversion, première visite et expérience mobile */
.button-whatsapp{background:#eef3eb;color:#173b31;border:1px solid #e1e9df;font-family:'DM Sans',sans-serif;font-weight:600}.button-whatsapp:hover{background:#ffffff}.first-visit{padding:75px 0 70px}.first-visit-inner{max-width:1250px}.first-visit-head{text-align:center;max-width:760px;margin:0 auto 33px}.first-visit-head p:last-child{color:#64615d;font-size:15px}.first-visit-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.first-visit-steps article{border:1px solid #e7ddce;background:#fff;padding:29px 26px 24px}.first-visit-steps span{font-family:'Playfair Display',serif;font-size:26px;color:#a98b61}.first-visit-steps h3{font-size:23px;margin:14px 0 13px}.first-visit-steps p{font-size:14px;color:#585a59;line-height:1.7}.first-visit-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:30px}.first-visit-bottom p{font-size:13px;max-width:690px;margin:0;color:#4c514e}.first-visit-bottom .button{white-space:nowrap}.mobile-whatsapp{display:none} .contact-number a{color:#e5c995;text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){.hero-actions{gap:9px}.hero-actions .button{padding:10px 14px;font-size:13px}.first-visit{padding:50px 0 46px}.first-visit-steps{grid-template-columns:1fr;gap:12px}.first-visit-steps article{padding:22px}.first-visit-bottom{display:block}.first-visit-bottom .button{margin-top:18px}.mobile-whatsapp{display:flex;align-items:center;justify-content:center;position:fixed;bottom:calc(12px + env(safe-area-inset-bottom, 0px));left:16px;right:16px;min-height:52px;background:#e0c399;color:#182431;box-shadow:0 6px 22px #0006;border-radius:7px;font:600 15px 'DM Sans',sans-serif;z-index:35;text-decoration:none}body{padding-bottom:78px}.booking-form{grid-template-columns:1fr}.booking-form label,.booking-form select,.booking-form input,.booking-form button,.form-note{grid-column:1/-1}.gallery-grid button{min-height:130px}}
@media(min-width:761px) and (max-width:1050px){.first-visit-bottom{flex-wrap:wrap}}


/* Original photographs: full frames, responsive editorial patchwork. */
.hero-photo{background-image:url('assets/lina-hero-20261016.jpeg');background-position:right center;background-size:contain;background-repeat:no-repeat;background-color:var(--navy)}
.about-image{display:flex;align-items:center;background:var(--cream)}
.about-image img{display:block;height:auto;max-height:100%;object-fit:contain}
.gallery-section{grid-template-columns:minmax(200px,21%) minmax(0,1fr);align-items:start;padding:45px 0}
.gallery-intro{position:sticky;top:100px}
.gallery-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:4px;grid-auto-flow:dense;gap:10px;padding:0 24px 0 0;align-items:start}
.gallery-grid button{grid-column:span 2;min-height:0;height:auto;background:transparent;line-height:0;border-radius:2px;align-self:start}
.gallery-grid button.landscape{grid-column:span 4}
.gallery-grid img{display:block;width:100%;height:auto;object-fit:contain;transition:filter .25s}
.gallery-grid button:hover img{transform:none;filter:brightness(1.04)}
@media(max-width:1000px){.gallery-section{display:block}.gallery-intro{position:static;padding:10px 7% 24px}.gallery-grid{padding:0 20px}}
@media(max-width:760px){
 .hero{height:auto;min-height:850px;padding-top:255px}
 .hero-photo{background-size:100% auto;background-repeat:no-repeat;background-position:center top;background-color:var(--navy)}
 .hero-shade{background:linear-gradient(0deg,#101c29 0%,#101c29 59%,#101c29c9 68%,transparent 82%)}
 .hero-content{padding-top:30px}
 .about-image{height:auto;max-height:none;justify-content:center;padding:20px}
 .about-image img{width:auto;max-width:100%;max-height:520px}
 .gallery-section{padding:30px 0}
 .gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 12px}
 .gallery-grid button,.gallery-grid button:nth-child(n){height:auto;min-height:0;grid-column:span 2}
 .gallery-grid button.landscape{grid-column:span 4}
}


/* Questions utiles et confort sur les petits écrans. */
.faq{padding:65px 0;border-top:1px solid #e7ddce}
.faq-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(28px,6vw,80px);align-items:start}
.faq-heading>p:last-child{font-size:14px;color:var(--muted);max-width:350px}
.faq-list{border-top:1px solid #d8c8b1;min-width:0}
.faq-list details{border-bottom:1px solid #d8c8b1}
.faq-list summary{position:relative;list-style:none;padding:23px 38px 23px 0;cursor:pointer;font-family:'Playfair Display',Georgia,serif;font-size:19px;line-height:1.4}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'+';position:absolute;right:8px;top:20px;font:26px Georgia,serif;color:#806c57}
.faq-list details[open]>summary::after{content:'−'}
.faq-list summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.faq-answer{padding:0 28px 24px 0;font-size:14px;color:#53575b;line-height:1.75}
.faq-answer p{margin-bottom:12px}.faq-answer p:last-child{margin-bottom:0}
.faq-text-link{color:#80664a;text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){
 .first-visit-bottom .button{white-space:normal;max-width:100%;text-align:center;overflow-wrap:anywhere}
 .faq{padding:42px 0}.faq-inner{grid-template-columns:minmax(0,1fr);gap:12px;padding-left:7%;padding-right:7%}
 .faq-list summary{font-size:18px;padding-top:20px;padding-bottom:20px}.faq-answer{padding-right:8px}
 body.gallery-in-view .mobile-whatsapp,body:has(#lightbox[open]) .mobile-whatsapp{display:none}
}
