:root{--black:#090909;--charcoal:#11110f;--cream:#f1ede4;--paper:#e8e1d4;--gold:#d9a91d;--gold-light:#f2cf65;--line:rgba(255,255,255,.14);--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--cream);font-family:var(--sans);font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.skip-link{position:fixed;top:-100px;left:1rem;z-index:99;background:var(--gold);color:#000;padding:.7rem 1rem}.skip-link:focus{top:1rem}.site-header{position:fixed;z-index:20;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:22px clamp(24px,5vw,76px);transition:.3s}.site-header.scrolled{padding-top:12px;padding-bottom:12px;background:rgba(8,8,8,.9);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand img{width:116px;height:72px;object-fit:contain}.site-header nav{display:flex;align-items:center;gap:32px;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.site-header nav>a:not(.nav-book){opacity:.75}.site-header nav>a:hover{opacity:1;color:var(--gold-light)}.nav-book{border:1px solid var(--gold);padding:11px 19px}.menu-toggle{display:none;background:none;border:0;padding:10px}.menu-toggle span{display:block;width:26px;height:1px;background:#fff;margin:7px}.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:150px clamp(24px,8vw,130px) 90px;background:url('../images/luecha-hero.png') center/cover no-repeat}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.63) 44%,rgba(0,0,0,.06) 76%),linear-gradient(0deg,rgba(0,0,0,.48),transparent 45%)}.hero-content{position:relative;max-width:760px}.eyebrow,.section-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.28em;color:var(--gold-light);font-weight:600}.hero h1,.section h2,.booking-banner h2{font:500 clamp(4rem,8vw,8rem)/.84 var(--serif);letter-spacing:-.04em;margin:24px 0 32px}.hero h1 em,.section h2 em{font-weight:400;color:var(--gold-light)}.hero-copy{max-width:540px;font-size:1.05rem;color:rgba(255,255,255,.7);font-weight:300}.hero-actions{display:flex;align-items:center;gap:36px;margin-top:44px}.button{display:inline-block;padding:16px 25px;font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;font-weight:600;transition:.25s}.button-gold{background:var(--gold);color:#090909}.button-gold:hover{background:var(--gold-light);transform:translateY(-2px)}.text-link{font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:6px}.text-link span{margin-left:9px;color:var(--gold)}.scroll-note{position:absolute;right:5vw;bottom:40px;font-size:.62rem;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.45);writing-mode:vertical-rl}.scroll-note span{display:inline-block;height:55px;border-left:1px solid var(--gold);margin-top:14px}.section{padding:clamp(90px,12vw,180px) clamp(24px,8vw,130px)}.section-label{display:flex;gap:16px;align-items:center}.section-label span{color:rgba(255,255,255,.35)}.intro{background:var(--cream);color:#191816}.intro .section-label{color:#98720b}.intro-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:10vw;align-items:start}.intro h2,.section-heading h2,.price-intro h2,.visit h2{font-size:clamp(3.2rem,6vw,6.5rem)}.intro h2 em{color:#a77b0d}.intro-copy{padding-top:55px;color:#5b574e}.intro-copy .lead{font:500 1.7rem/1.35 var(--serif);color:#24211d}.since{border-top:1px solid #cec6b7;margin-top:48px;padding-top:25px;display:flex;align-items:center;gap:24px}.since strong{font:500 3.2rem var(--serif);color:#a77b0d}.since span{font-size:.65rem;text-transform:uppercase;letter-spacing:.16em}.treatments{background:var(--charcoal)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px}.section-heading p{max-width:360px;color:#979287;margin-bottom:35px}.treatment-list{margin-top:55px;border-top:1px solid var(--line)}.treatment{display:grid;grid-template-columns:80px minmax(0,1fr) 50px;gap:25px;padding:40px 0;border-bottom:1px solid var(--line);align-items:start;transition:.3s}.treatment:hover{padding-left:18px;background:linear-gradient(90deg,rgba(217,169,29,.05),transparent)}.treatment .number{color:var(--gold);font-size:.7rem;letter-spacing:.15em;padding-top:12px}.treatment h3{font:500 clamp(2rem,4vw,3.8rem) var(--serif);margin:0}.treatment p{max-width:660px;margin:8px 0 0;color:#99958d;font-weight:300}.lotus{color:var(--gold);font-size:1.4rem;padding-top:12px}.prices{background:var(--paper);color:#181612;display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}.prices .section-label{color:#8d6907}.price-intro p{max-width:450px;color:#696358}.price-card{background:#121210;color:#eee;padding:clamp(30px,5vw,65px)}.price-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:21px 0}.price-row span{color:#c2bdb3}.price-row strong{font:500 1.8rem var(--serif);color:var(--gold-light);white-space:nowrap}.price-row.muted{margin-top:22px}.price-card>p{font-size:.8rem;color:#88847c;margin:25px 0}.button-dark{border:1px solid var(--gold);color:var(--gold-light)}.button-dark:hover{background:var(--gold);color:#111}.booking-banner{text-align:center;padding:clamp(90px,13vw,180px) 24px;background:linear-gradient(rgba(0,0,0,.58),rgba(0,0,0,.75)),url('../images/luecha-hero.png') center 65%/cover fixed}.booking-banner h2{font-size:clamp(4rem,9vw,8rem);margin-bottom:20px}.booking-phone{display:inline-flex;gap:22px;align-items:center;font:400 clamp(1.7rem,4vw,3.7rem) var(--serif);color:var(--gold-light);border-bottom:1px solid var(--gold);padding-bottom:8px}.booking-banner>p:last-child{color:#aaa59b;font-size:.85rem}.visit{display:grid;grid-template-columns:1.05fr .95fr;gap:10vw;background:#0b0b0a}.visit h2{margin-bottom:40px}.visit address{font-style:normal;font:400 1.6rem/1.5 var(--serif);margin-bottom:30px}.gold{color:var(--gold-light);border-color:#6e581c}.visit-details{border-top:1px solid var(--line)}.visit-details>div{padding:30px 0;border-bottom:1px solid var(--line)}.visit-details h3{font:500 1.5rem var(--serif);margin:0 0 13px}.visit-details p,.visit-details dl{color:#949087;font-size:.88rem;margin:0}.visit-details dl div{display:flex;justify-content:space-between}.visit-details dd{margin:0;color:#d5d0c6}footer{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:38px;padding:35px clamp(24px,5vw,76px);border-top:1px solid var(--line);font-size:.66rem;text-transform:uppercase;letter-spacing:.15em;color:#777}footer img{width:72px;height:52px;object-fit:contain}footer>a:hover{color:var(--gold-light)}.to-top{border:1px solid #34332f;width:42px;height:42px;display:grid;place-items:center;font-size:1rem}.mobile-book{display:none}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:850px){.site-header{padding:14px 22px}.brand img{width:92px;height:60px}.menu-toggle{display:block;z-index:2}.site-header nav{position:absolute;top:0;right:0;width:min(82vw,360px);height:100vh;background:#111;flex-direction:column;align-items:flex-start;padding:110px 35px;transform:translateX(100%);transition:.3s;font-size:.85rem}.site-header nav.open{transform:none}.nav-book{margin-top:12px}.hero{min-height:94svh;padding:130px 24px 90px;background-position:62% center}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.45)),linear-gradient(0deg,rgba(0,0,0,.7),transparent)}.hero h1{font-size:clamp(3.5rem,17vw,5.8rem)}.hero-actions{align-items:flex-start;flex-direction:column;gap:24px}.scroll-note{display:none}.intro-grid,.prices,.visit{grid-template-columns:1fr;gap:45px}.intro-copy{padding-top:0}.section-heading{display:block}.section-heading p{margin:0}.treatment{grid-template-columns:42px 1fr}.treatment .lotus{display:none}.booking-banner{background-attachment:scroll}footer{grid-template-columns:1fr auto;padding-bottom:90px}footer img{display:none}footer p{grid-column:1/2}footer>a:not(.to-top){grid-column:1/2}.to-top{grid-column:2;grid-row:1/3}.mobile-book{display:block;position:fixed;z-index:15;left:12px;right:12px;bottom:12px;text-align:center;background:var(--gold);color:#090909;padding:14px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;box-shadow:0 10px 35px #000}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Bildkort för behandlingar */
.treatment-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,38px);border-top:0}
.treatment{display:flex;min-width:0;flex-direction:column;gap:0;padding:0 0 30px;border:1px solid var(--line);background:#0d0d0c;overflow:hidden}
.treatment:hover{padding-left:0;transform:translateY(-6px);border-color:rgba(217,169,29,.5);background:#0d0d0c}
.treatment-image{position:relative;aspect-ratio:4/3;margin:0;overflow:hidden;background:#181713}
.treatment-image::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,9,9,.42),transparent 55%);pointer-events:none}
.treatment-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease}
.treatment:hover .treatment-image img{transform:scale(1.035)}
.treatment-copy{padding:28px 28px 8px}
.treatment h3{font-size:clamp(2rem,3vw,3rem)}
.treatment p{font-size:.9rem}
.treatment .lotus{margin:auto 28px 0;padding-top:14px}
@media(max-width:900px){.treatment-list{grid-template-columns:1fr}.treatment{display:grid;grid-template-columns:minmax(180px,.8fr) 1.2fr;align-items:stretch;padding:0}.treatment-image{height:100%;aspect-ratio:auto}.treatment .lotus{display:none}.treatment-copy{padding:30px}.treatment:hover{transform:none}}
@media(max-width:600px){.treatment{display:flex}.treatment-image{aspect-ratio:4/3}.treatment-copy{padding:24px}.treatment h3{font-size:2.25rem}}

/* Responsivt masonry-galleri och lightbox */
.gallery-section{background:var(--cream);color:#191816}.gallery-section .section-label{color:#98720b}.gallery-section .section-heading p{color:#696358}.gallery-section h2 em{color:#a77b0d}.masonry-gallery{columns:3 280px;column-gap:18px;margin-top:55px}.gallery-item{position:relative;display:block;width:100%;margin:0 0 18px;padding:0;border:0;background:#171612;cursor:zoom-in;overflow:hidden;break-inside:avoid}.gallery-item img{width:100%;height:auto;transition:transform .55s ease,opacity .55s ease}.gallery-item span{position:absolute;right:16px;bottom:16px;display:grid;width:42px;height:42px;place-items:center;background:rgba(9,9,9,.78);color:var(--gold-light);font-size:1.1rem;opacity:0;transform:translateY(6px);transition:.3s}.gallery-item:hover img{transform:scale(1.025);opacity:.88}.gallery-item:hover span,.gallery-item:focus-visible span{opacity:1;transform:none}.gallery-empty{margin-top:45px;color:#696358}.lightbox[hidden]{display:none}.lightbox{position:fixed;z-index:100;inset:0;display:grid;grid-template-columns:minmax(50px,1fr) minmax(0,1200px) minmax(50px,1fr);align-items:center;background:rgba(0,0,0,.94);padding:clamp(18px,4vw,55px)}.lightbox img{grid-column:2;max-width:100%;max-height:88vh;margin:auto;object-fit:contain}.lightbox-close,.lightbox-nav{position:absolute;border:1px solid rgba(255,255,255,.25);background:rgba(10,10,10,.7);color:#fff;cursor:pointer}.lightbox-close{z-index:2;right:24px;top:24px;width:48px;height:48px;font-size:2rem;line-height:1}.lightbox-nav{top:50%;width:52px;height:68px;font-size:2.5rem;transform:translateY(-50%)}.lightbox-prev{left:24px}.lightbox-next{right:24px}.lightbox button:hover,.lightbox button:focus-visible{border-color:var(--gold);color:var(--gold-light)}body.lightbox-open{overflow:hidden}footer p a{color:#aaa}footer p a:hover{color:var(--gold-light)}
@media(max-width:650px){.masonry-gallery{columns:2 135px;column-gap:10px}.gallery-item{margin-bottom:10px}.gallery-item span{display:none}.lightbox{grid-template-columns:42px minmax(0,1fr) 42px;padding:12px}.lightbox-prev{left:8px}.lightbox-next{right:8px}.lightbox-close{right:10px;top:10px}.lightbox-nav{width:40px;height:56px}}
