:root{--paper:#f7f5f1;--white:#fff;--ink:#3b3b3b;--olive:#7b6a58;--olive-dark:#5d5348;--line:#ddd6cd;--muted:#716c66;--serif:'Cormorant Garamond','Cormorant Garamond Fallback',Georgia,serif;--sans:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.8}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible{outline:2px solid var(--olive);outline-offset:6px}img{width:100%;height:100%;object-fit:cover;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.03;letter-spacing:-.045em}h2{font-size:clamp(42px,5vw,72px)}h3{font-size:40px}h1 em,h2 em,h3 em{font-weight:400}p{color:var(--muted)}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.19em;text-transform:uppercase;line-height:1.5;margin-bottom:24px}.section{padding:110px max(5.8vw,24px)}.button{border:1px solid transparent;border-radius:100px;min-height:49px;padding:13px 26px;display:inline-flex;align-items:center;justify-content:center;gap:30px;font-size:11px;font-weight:700;letter-spacing:.01em;transition:background .25s,transform .25s;color:var(--ink);line-height:1.5}.button:hover{transform:translateY(-2px)}.button span{font-size:19px;font-weight:400;line-height:1}.button-olive{background:var(--olive);color:white}.button-olive:hover{background:var(--olive-dark)}.button-white{background:var(--paper);color:var(--ink)}.button-white:hover{background:#e8e0d5}.button-light{background:#e7ddcf;color:var(--ink)}.text-link{display:inline-flex;align-items:center;gap:25px;font-size:11px;font-weight:700;line-height:1.5;border:0;border-bottom:1px solid var(--olive);background:none;padding:8px 0;transition:gap .2s}.text-link:hover{gap:35px}.text-link span{font-size:20px;font-weight:400}.skip{position:fixed;left:20px;top:-70px;background:var(--paper);z-index:110;padding:10px 20px}.skip:focus{top:10px}
.header{position:absolute;z-index:50;top:16px;left:16px;right:16px;height:94px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;color:white;transition:background .3s}.brand{display:inline-flex;align-items:center;gap:14px;font-size:24px;font-weight:600;line-height:1;letter-spacing:.18em;flex-shrink:0}.brand-sub{display:block;font-size:8px;letter-spacing:.26em;text-align:center;margin-top:8px}.brand-symbol{display:block;width:31px;height:42px}.brand-symbol svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.2}.desktop-nav{display:flex;gap:30px;font-size:11px;font-weight:500;margin-left:auto;margin-right:54px}.desktop-nav a{position:relative}.desktop-nav a:after{content:'';position:absolute;bottom:-6px;left:0;width:0;height:1px;background:currentColor;transition:width .3s}.desktop-nav a:hover:after{width:100%}.header-actions{display:flex;gap:25px;align-items:center}.lang{font-size:10px;font-weight:700;letter-spacing:.08em}.menu-toggle{width:30px;height:36px;padding:8px 0;border:0;background:none;display:flex;flex-direction:column;justify-content:center;gap:7px;color:inherit}.menu-toggle span{display:block;width:26px;height:1px;background:currentColor;transition:transform .3s}.header.menu-active{position:fixed;top:0;left:0;right:0;background:var(--paper);color:var(--ink)}.menu-active .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.menu-active .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}.menu{position:fixed;inset:0;background:var(--paper);z-index:45;padding:130px 12vw 40px;overflow:auto}.menu[hidden]{display:none}.menu nav{display:flex;flex-direction:column;align-items:flex-start}.menu nav a{font-family:var(--serif);font-size:clamp(30px,4.5vw,60px);line-height:1.35;letter-spacing:-.03em}.menu nav a:hover{color:var(--olive)}.menu small{font-family:var(--sans);font-size:11px;vertical-align:middle;margin-right:20px;color:var(--olive)}.menu-bottom{margin-top:35px;padding-top:25px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:12px}
.hero{position:relative;height:calc(100svh - 32px);min-height:650px;max-height:1050px;margin:16px;border-radius:15px;overflow:hidden;color:white;isolation:isolate}.hero-photo{position:absolute;inset:0;object-position:center 58%;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,27,24,.34),rgba(30,27,24,.2) 25%,rgba(30,27,24,.32) 63%,rgba(30,27,24,.55));z-index:-2}.hero-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:100px 24px 80px}.hero h1{font-size:clamp(72px,8.7vw,130px);line-height:.96;letter-spacing:-.05em}.hero .eyebrow{color:#f7f3ed;letter-spacing:.24em;margin-bottom:27px}.hero-description{font-size:12px;line-height:1.9;color:#faf7f1;margin:27px 0 29px}.hero-bottom{position:absolute;bottom:28px;left:40px;right:40px;display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:.12em}.hero-bottom a{display:flex;gap:24px;align-items:center;letter-spacing:.02em;font-size:10px}.hero-bottom a span{font-size:20px}.intro{text-align:center;padding-top:100px;padding-bottom:115px}.nature-icon{width:57px;height:50px;fill:none;stroke:var(--olive);stroke-width:.8;margin:0 auto 18px}.intro .eyebrow{margin-bottom:25px}.intro h2{color:var(--olive);font-size:clamp(44px,5.6vw,80px)}.intro-copy{max-width:510px;margin:28px auto 23px;font-size:12px;line-height:2}
.split{display:grid;grid-template-columns:1fr 1fr;min-height:620px;margin:0 16px;border-radius:13px;overflow:hidden}.split-photo{position:relative;min-height:520px}.split-photo img{position:absolute;inset:0}.image-caption{position:absolute;bottom:30px;left:30px;color:white;font-size:8px;letter-spacing:.16em}.split-copy{padding:74px clamp(32px,6vw,95px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.split-copy h2{font-size:clamp(38px,4.5vw,64px);margin-bottom:29px}.split-copy p:not(.eyebrow){font-size:12px;line-height:2;max-width:400px;margin-bottom:20px}.split-copy .text-link{margin-top:6px}.about{background:#eae5de}.about .split-photo img{object-position:45% center}.about-facts{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;margin-top:40px;padding-top:25px;border-top:1px solid #d3c8bc;width:100%}.about-facts span{color:var(--muted);font-size:10px}.about-facts strong{display:block;color:var(--olive-dark);font-family:var(--sans);font-weight:400;font-size:18px;line-height:1.4;margin-bottom:6px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:47px}.section-heading .eyebrow{margin-bottom:19px}.section-heading>p{font-size:12px;line-height:1.9;padding-bottom:7px}.ceremony-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:32px}.tabs{display:flex;gap:5px;padding:4px;border:1px solid var(--line);border-radius:40px}.tab{font-size:10px;min-width:102px;padding:9px 18px;border:none;background:none;border-radius:30px;transition:background .3s}.tab.active{background:var(--olive);color:white}.compare-button{font-size:10px}.ceremony-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;align-items:start}.ceremony-card{min-width:0}.card-photo{height:325px;overflow:hidden;border-radius:10px;position:relative}.card-photo img{transition:transform .7s}.ceremony-card:hover .card-photo img{transform:scale(1.04)}.card-badge{position:absolute;top:16px;left:16px;background:var(--paper);border-radius:20px;padding:5px 12px;font-size:8px;font-weight:600;letter-spacing:.04em}.card-meta{display:flex;align-items:center;gap:14px;font-size:9px;color:var(--muted);margin:19px 0 10px}.card-meta span+span:before{content:'·';margin-right:14px}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-title-row h3{font-size:39px;letter-spacing:-.035em}.card-detail{width:28px;height:28px;border:1px solid var(--line);border-radius:100%;background:none;display:grid;place-items:center;line-height:1;color:var(--olive)}.card-description{font-size:11px;line-height:1.9;min-height:43px;margin-top:13px;max-width:330px}.card-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-top:21px;gap:10px}.card-price{font-size:9px;color:var(--muted)}.card-price strong{display:block;font-family:var(--serif);font-weight:500;font-size:28px;line-height:1.2;color:var(--ink)}.card-bottom .button{min-height:40px;padding:11px 18px;gap:15px;font-size:9px}.card-bottom .button span{font-size:16px}.price-note{margin-top:28px;font-size:9px;max-width:650px}.ritual{background:#eae5de;padding-top:95px;padding-bottom:95px}.ritual-heading{text-align:center;max-width:640px;margin:0 auto 58px}.ritual-heading h2{color:var(--olive-dark)}.ritual-heading p:last-child{font-size:12px;line-height:1.9;margin-top:24px}.ritual-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:7vw;align-items:center}.ritual-image{height:540px;border-radius:12px;overflow:hidden;position:relative}.ritual-image img{transition:opacity .3s}.ritual-image-label{position:absolute;left:26px;bottom:22px;color:white;font-size:9px;letter-spacing:.16em}.ritual-steps details{border-top:1px solid #d3c8bc}.ritual-steps details:last-of-type{border-bottom:1px solid #d3c8bc}.ritual-steps summary{display:flex;align-items:center;font-family:var(--serif);font-size:36px;line-height:1.2;list-style:none;cursor:pointer;padding:25px 0;letter-spacing:-.025em}.ritual-steps summary::-webkit-details-marker,.faq summary::-webkit-details-marker{display:none}.step-num{font-family:var(--sans);font-size:9px;letter-spacing:.05em;margin-right:30px;color:var(--olive)}.step-sign{width:16px;height:16px;position:relative;margin-left:auto}.step-sign:before,.step-sign:after{content:'';background:var(--olive);position:absolute;top:7px;left:0;width:16px;height:1px}.step-sign:after{transform:rotate(90deg);transition:transform .3s}details[open] .step-sign:after{transform:rotate(0)}.ritual-steps details p{font-size:11px;padding:0 20px 25px 45px;line-height:2;max-width:425px}.ritual-steps>.text-link{margin-top:33px}.spa{margin-top:16px;background:#f0ebe4}.spa .split-photo img{object-position:62% center}.simple-list{padding:0;margin:4px 0 30px;list-style:none;width:100%;max-width:400px}.simple-list li{padding:11px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font-size:11px}.simple-list li span{font-size:15px;color:var(--olive)}.gift{margin-top:16px;background:var(--olive-dark);color:var(--paper);min-height:570px}.gift p{color:#e9e3da}.gift .split-photo{background:#f0ece6;min-height:450px;display:grid;place-items:center}.gift .split-photo img{object-fit:contain;width:85%;height:85%;position:static;mix-blend-mode:multiply}.gift .split-copy h2{font-size:clamp(38px,4vw,59px)}.gift-types{display:flex;gap:20px;margin:2px 0 30px;font-size:13px;flex-wrap:wrap}.gift-types span:before{content:'✓';margin-right:8px;color:#d8c8b4}.gallery{padding-bottom:95px;overflow:hidden}.gallery .section-heading{margin-bottom:35px}.gallery-controls{display:flex;gap:10px;align-items:center}.gallery-controls>span{font-size:9px;letter-spacing:.08em;margin-right:16px;color:var(--muted)}.circle-button{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;background:none;font-size:18px;line-height:1;transition:background .2s}.circle-button:hover{background:#e9e3da}.gallery-track{display:flex;gap:23px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:5px}.gallery-track::-webkit-scrollbar{display:none}.gallery-item{position:relative;flex:0 0 calc((100% - 46px)/3);height:395px;padding:0;border:0;border-radius:9px;overflow:hidden;scroll-snap-align:start;background:#e3ddd4;text-align:left}.gallery-item:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(30,27,24,.6))}.gallery-item img{transition:transform .7s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item span{position:absolute;bottom:22px;left:22px;z-index:1;color:white;font-family:var(--serif);font-size:28px}.visit{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.visit-info>p:not(.eyebrow){font-size:12px;margin-top:24px}.visit-info dl{margin:30px 0;display:flex;flex-direction:column;gap:17px}.visit-info dl div{display:grid;grid-template-columns:70px 1fr;font-size:11px}.visit-info dt{color:var(--muted)}.visit-info dd{margin:0}.visit-right{padding-top:12px}.visit-right h3{font-size:45px;line-height:1.1;margin-bottom:40px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:11px;font-weight:600;cursor:pointer;padding:22px 0}.faq summary span{font-weight:400;font-size:20px;color:var(--olive)}.faq details[open] summary span{transform:rotate(45deg)}.faq p{font-size:11px;padding:0 24px 24px 0;line-height:2}.faq p a{text-decoration:underline}.closing{height:590px;margin:0 16px 16px;border-radius:12px;overflow:hidden;position:relative;text-align:center;color:white;display:grid;place-items:center;isolation:isolate}.closing>img{position:absolute;inset:0;z-index:-2;object-position:center 65%}.closing:after{content:'';position:absolute;inset:0;background:#302b2478;z-index:-1}.closing p{color:white}.closing h2{font-size:clamp(55px,6.5vw,90px);margin-bottom:35px}.footer{padding:65px max(5.8vw,24px) 25px;background:#d8d8d4}.footer-main{display:grid;grid-template-columns:1.1fr 1.2fr 1fr 1.1fr;gap:30px;padding-bottom:60px;align-items:start}.footer .brand{color:var(--olive-dark);font-size:21px}.footer .brand-symbol{width:26px;height:37px}.footer .brand-sub{font-size:7px}.footer-main p{font-size:10px;line-height:2}.footer-main nav{display:flex;flex-direction:column;gap:7px;font-size:10px}.footer-phone{font-size:13px;font-weight:400;white-space:nowrap}.footer-main div>p{margin-top:10px}.footer-bottom{border-top:1px solid #bfbfba;padding-top:23px;display:flex;justify-content:space-between;gap:20px;font-size:8px;color:var(--muted)}
dialog{border:0;color:var(--ink);background:var(--paper);padding:0}dialog::backdrop{background:rgba(30,27,24,.64);backdrop-filter:blur(5px)}.info-dialog{width:min(670px,calc(100% - 32px));max-height:calc(100svh - 40px);border-radius:15px;overflow:auto;overscroll-behavior:contain}.dialog-close{position:absolute;top:20px;right:20px;z-index:2;background:var(--paper);font-family:var(--sans);font-size:26px}.dialog-body{padding:56px 48px 45px}.dialog-body>.eyebrow{margin-bottom:17px;padding-right:30px}.dialog-body h2{font-size:50px;padding-right:20px;margin-bottom:24px}.dialog-body>p{font-size:12px;margin-bottom:20px}.dialog-body .button{margin-top:12px}.dialog-image{height:210px;width:100%;object-fit:cover}.dialog-body ul{font-size:12px;color:var(--muted);padding-left:20px}.dialog-body li{padding:4px 0}.booking-form label{display:block;font-size:10px;font-weight:700;margin:20px 0 8px}.booking-form select{width:100%;border:1px solid #d3c8bc;background:var(--paper);border-radius:8px;padding:13px;color:var(--ink);font-size:12px}.booking-summary{background:#eae5de;border-radius:10px;padding:22px;margin:22px 0}.booking-summary>div{display:flex;justify-content:space-between;gap:20px;font-size:11px}.booking-summary strong{font-family:var(--serif);font-weight:500;font-size:34px;line-height:1.4}.booking-summary p{font-size:10px;margin-top:9px}.booking-contact{font-size:10px!important;margin-top:20px}.booking-contact a{text-decoration:underline}.compare-wrap{overflow:auto}.compare-table{border-collapse:collapse;width:100%;min-width:450px;font-size:10px;line-height:1.8}.compare-table th,.compare-table td{padding:13px 8px;text-align:left;border-bottom:1px solid var(--line)}.compare-table th{font-weight:600;color:var(--olive-dark)}.compare-table td:first-child{font-weight:700}.compare-dialog{width:min(850px,calc(100% - 32px))}.lightbox{width:100%;height:100%;max-width:none;max-height:none;background:transparent;overflow:hidden}.lightbox figure{margin:0;position:absolute;inset:55px 90px 45px;display:flex;flex-direction:column;align-items:center;justify-content:center}.lightbox figure img{object-fit:contain;max-height:calc(100svh - 140px);width:100%;height:100%;min-height:0}.lightbox figcaption{color:white;flex-shrink:0;padding-top:15px;font-size:12px}.lightbox .circle-button{background:var(--paper);border:0}.lightbox-prev,.lightbox-next{position:absolute;top:50%;z-index:2}.lightbox-prev{left:24px}.lightbox-next{right:24px}
@media(min-width:1600px){.section{padding-left:max(8vw,calc((100vw - 1400px)/2));padding-right:max(8vw,calc((100vw - 1400px)/2))}.card-photo{height:390px}}
@media(max-width:1000px){.header{padding:0 25px}.desktop-nav{gap:20px;margin-right:30px}.header-actions{gap:20px}.section{padding-top:85px;padding-bottom:85px}.split-copy{padding:50px 35px}.split{min-height:550px}.split-photo{min-height:500px}.about-facts{gap:23px}.about-facts strong{font-size:16px}.card-photo{height:260px}.card-title-row h3{font-size:33px}.card-bottom{align-items:flex-start}.card-bottom .button{padding:11px 15px;gap:9px}.ritual-layout{gap:5vw}.ritual-image{height:500px}.gallery-item{height:340px}.footer-main{grid-template-columns:1fr 1fr;gap:35px}.visit{gap:7vw}.closing{height:520px}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* The gift card combines the club's original mark with the new visual identity. */
.gift .split-photo{background:#e5dbce;padding:50px;perspective:1000px}.gift-card-art{width:100%;max-width:430px;aspect-ratio:1.52;background:#faf8f4;border:1px solid #d9cfc2;border-radius:5px;box-shadow:12px 24px 45px #493d3026;transform:rotate(-7deg);padding:28px 32px;display:flex;flex-direction:column;align-items:center;justify-content:space-between}.gift-card-art>span{font-size:7px;letter-spacing:.2em;align-self:flex-start;color:var(--olive-dark)}.gift .gift-card-art img{width:95%;height:66%;object-fit:contain;mix-blend-mode:multiply}.gift .gift-card-art p{font-family:var(--serif);color:var(--olive-dark);font-size:26px;line-height:1}
.ceremony-cards[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.ceremony-cards[data-count="2"] .card-photo{height:390px}.ceremony-cards[data-count="1"]{grid-template-columns:1fr;max-width:430px;margin-inline:auto}.ceremony-cards[data-count="1"] .card-photo{height:390px}

/* Comfortable reading sizes across both layouts. */
.hero-description{font-size:14px}.desktop-nav{font-size:12px}.intro-copy,.split-copy p:not(.eyebrow),.section-heading>p,.ritual-heading p:last-child,.visit-info>p:not(.eyebrow){font-size:14px}.card-description{font-size:13px;min-height:50px}.ritual-steps details p,.faq p{font-size:13px}.simple-list li,.faq summary,.visit-info dl div{font-size:12px}.card-meta{font-size:10px}.card-bottom .button{font-size:11px}.price-note{font-size:10px}.footer-main p,.footer-main nav{font-size:11px}

/* Stable proportions for browser previews and full-page design exports. */
.hero{height:clamp(650px,56vw,900px)}

/* Original white Scandi Club logo; the viewBox removes transparent margins. */
.header .brand-logo{display:block;width:210px;height:auto;aspect-ratio:976/306;overflow:hidden;flex-shrink:0}.header.menu-active .brand-logo{filter:brightness(0);opacity:.8}

@media(min-width:761px) and (max-width:900px){.header .brand-logo{width:170px}.header .desktop-nav a{white-space:nowrap}}

/* Audience selector approved in the Scandi design mockup. */
.ceremony-toolbar.format-selector{display:block;margin-bottom:44px}
.format-selector-head{display:flex;align-items:center;justify-content:space-between;gap:16px 30px;margin-bottom:20px;flex-wrap:wrap}
.format-selector-head>p{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--olive-dark);line-height:1.5}
.format-selector .compare-button{margin:0;padding:5px 0;font-size:12px;gap:12px;flex-shrink:0}
.format-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.format-option{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;min-height:190px;padding:26px 30px;text-align:left;color:var(--ink);background:rgba(255,255,255,.18);border:1px solid #d8d0c6;border-radius:18px;transition:background .2s,border-color .2s,box-shadow .2s}
.format-icon{display:block;flex-shrink:0;width:50px;height:41px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;color:var(--olive-dark);margin-bottom:15px}
.format-title{display:block;font-family:var(--sans);font-weight:600;font-size:24px;line-height:1.3;letter-spacing:-.04em}
.format-guests{display:block;margin-top:6px;font-size:16px;line-height:1.4;color:var(--muted)}
.format-check{position:absolute;right:25px;top:25px;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--paper);color:var(--olive-dark);opacity:0;transition:opacity .2s}
.format-check svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.format-option:hover{border-color:var(--olive);background:#f0ebe4;box-shadow:0 5px 18px #3b3b3b08}
.format-option.active{background:var(--olive);border-color:var(--olive);color:var(--paper)}
.format-option.active .format-icon,.format-option.active .format-guests{color:inherit}
.format-option.active .format-guests{opacity:.9}
.format-option.active .format-check{opacity:1}
.format-option:focus-visible{outline:2px solid var(--olive-dark);outline-offset:5px}
@media(max-width:1000px){.format-option{padding:23px 24px;min-height:180px}.format-title{font-size:22px}.format-guests{font-size:15px}.format-check{right:21px;top:22px}}

/* Square corners for buttons and button-style links at every screen size. */
button,.button,.tab,.card-detail,.circle-button,.gallery-item,.format-option{border-radius:0}

/* Header navigation and the simplified hero caption. */
.header-social{font-size:12px;font-weight:500;white-space:nowrap}
.header-social:hover{text-decoration:underline;text-underline-offset:6px}
.header .lang{display:inline}
.hero-bottom{justify-content:center;text-align:center}
.hero-bottom>span{display:block;font-family:var(--sans);font-size:14px;font-weight:400;line-height:1.9;letter-spacing:normal;color:#faf7f1}

/* Align the wordmark with navigation; the tree extends above its letters. */
.header .brand-logo{transform:translateY(-16%)}
.footer .brand-logo{display:block;width:170px;height:auto;aspect-ratio:976/306;overflow:hidden;flex-shrink:0;filter:brightness(0);opacity:.77}

.header .desktop-nav,.header .header-actions{align-items:center}
.header .desktop-nav a,.header .header-social,.header .lang{line-height:1}
.header{display:grid;grid-template-columns:auto minmax(160px,1fr) auto auto;column-gap:24px}
.header-phone{display:flex;align-items:center;justify-content:flex-end;white-space:nowrap;font-size:12px;font-weight:400;line-height:1}
.header-phone:hover{text-decoration:underline;text-underline-offset:5px}
.header .desktop-nav{margin:0;gap:26px}
.header .desktop-nav [aria-current="page"]:after{width:100%}
@media(max-width:1100px){.header{grid-template-columns:auto minmax(160px,1fr) auto;height:auto;min-height:118px;padding:16px 28px;row-gap:20px}.header .desktop-nav{grid-column:1/-1;grid-row:2;justify-content:center;gap:34px}.header-actions{grid-column:3;grid-row:1}.header .brand{grid-column:1;grid-row:1}.header-phone{grid-column:2;grid-row:1}}

/* Equal space around the ceremony button between the heading and forest caption. */
.hero-content{display:grid;grid-template-rows:minmax(0,1.35fr) auto minmax(24px,1fr) auto minmax(24px,1fr) auto;justify-items:center;align-items:center;padding:100px 24px 28px}
.hero-content>h1{grid-row:2}
.hero-content>.hero-description{grid-row:3;margin:27px 0 0}
.hero-cta{grid-row:4;background:transparent;border-color:#faf7f1;color:#faf7f1;font-family:var(--sans);font-size:13px;font-weight:400;line-height:1.9;letter-spacing:normal}
.hero-cta:hover{background:transparent;border-color:#fff;color:#fff}
.about .about-cta{background:transparent;border:1px solid var(--ink);color:var(--ink);font-family:var(--sans);font-size:13px;font-weight:400;line-height:1.9;letter-spacing:normal;padding:11px 28px;margin-top:6px}
.hero-content>.hero-bottom{position:static;grid-row:6;width:100%}
@media(min-width:761px){
  .hero[aria-labelledby="hero-title"] .hero-content{max-height:calc(100svh - 32px)}
  .hero[aria-labelledby="hero-title"] .hero-bottom{transform:translateY(-24px)}
}

/* Dark gray text in the introduction block. */
.intro,.intro h2,.intro p,.intro .text-link{color:#3b3b3b}
.about .split-copy,.about .split-copy h2,.about .split-copy p,.about .text-link,.about-facts span,.about-facts strong{color:#3b3b3b}
.about .image-caption{left:24px;right:24px;text-align:center}
.intro .nature-icon{width:90px;height:auto;aspect-ratio:104/80;stroke:#3b3b3b;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

@media(min-width:761px){.intro-copy{max-width:960px}}

/* Dark gray ceremony text and a warm light gray selected format. */
.ceremonies{--ink:#3b3b3b;--muted:#3b3b3b;color:var(--ink)}
.ceremonies .format-selector-head>p,.ceremonies .format-icon,.ceremonies .format-check,.ceremonies .card-detail{color:var(--ink)}
.ceremonies .format-option:hover{background:#eeede9;border-color:#c9c8c3}
.ceremonies .format-option.active{background:#e6e5e1;border-color:#c9c8c3;color:var(--ink)}
.ceremonies .format-option.active .format-guests{opacity:1}

.ceremony-cards[data-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:42px}

/* Compact square photos for ceremonies for two and four guests. */
.ceremony-cards[aria-labelledby="tab-company"],.ceremony-cards[aria-labelledby="tab-couple"]{max-width:860px;margin-inline:auto}
.ceremony-cards[aria-labelledby="tab-company"] .card-photo,.ceremony-cards[aria-labelledby="tab-couple"] .card-photo{height:auto;aspect-ratio:1}
.card-badge{border-radius:0}
.card-bottom .card-book{background:transparent;border-color:var(--ink);color:var(--ink);border-radius:0;font-family:var(--sans);font-size:13px;font-weight:400;line-height:1.9;letter-spacing:normal;min-width:124px;padding:11px 28px}
.ceremony-card .card-title-row h3{font-family:var(--sans);font-size:30px;font-weight:400;line-height:1.25;letter-spacing:.01em}
.ceremony-card .card-price strong{font-family:var(--sans);font-size:26px;font-weight:400;line-height:1.3;letter-spacing:.01em}
.ceremony-card .card-bottom{border-top:0}

/* A personal bath master accompanies the guest through the ceremony. */
.master{background:#eae5de;color:#3b3b3b;padding-top:70px;padding-bottom:70px}
.master p{color:inherit}
.master-content{min-width:0}
.master-heading{max-width:700px;text-align:left;margin:0 0 26px}
.master-heading h2{font-size:clamp(42px,4.2vw,58px)}
.master-heading>p:last-child{font-size:13px;line-height:1.8;margin-top:18px}
.master-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(32px,5vw,72px);align-items:center;max-width:1180px;margin-inline:auto}
.master-video-frame{position:relative;aspect-ratio:9/16;width:100%;max-width:420px;margin-inline:auto;overflow:hidden;border-radius:10px;background:#e0d8ce}
.master-video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;background:#2b2824}
.master-copy>p{font-size:13px;line-height:1.8;margin-bottom:22px}
.master-points{list-style:none;padding:0;margin:0;display:grid;gap:17px}
.master-points li{display:grid;grid-template-columns:24px 1fr;gap:16px;align-items:start}
.master-point-number{font-size:10px;line-height:2.3;letter-spacing:.04em;color:#746c62}
.master-points h3{font-family:var(--sans);font-size:17px;font-weight:400;line-height:1.4;letter-spacing:-.01em;margin-bottom:6px}
.master-points p{font-size:13px;line-height:1.8}
.master-cta{margin-top:24px;background:transparent;border-color:#3b3b3b;color:#3b3b3b;font-size:13px;font-weight:400;letter-spacing:normal;padding-inline:28px}
.master-cta:hover{background:transparent}
.gift{background:#f0efec;color:#3b3b3b;border:1px solid #e0ded9}
.gift p,.gift-types span:before{color:#3b3b3b}
.gift .split-photo{background:transparent;perspective:none}
.gift .split-photo>img{position:static;width:100%;height:auto;max-width:500px;object-fit:contain;mix-blend-mode:normal;border:1px solid #e5e3de;box-shadow:0 14px 36px rgba(35,35,35,.07)}
.gift-phone{background:transparent;border-color:currentColor;color:inherit;font-size:13px;font-weight:400;letter-spacing:normal;padding-inline:28px}
.gift-phone:hover{background:transparent}
.corporate{margin-top:16px;background:#f0efec;color:#3b3b3b}
.corporate p{color:inherit}
.corporate .split-copy h2{font-size:clamp(38px,4vw,59px)}
.corporate-phone{background:transparent;border-color:currentColor;color:inherit;font-size:13px;font-weight:400;letter-spacing:normal;padding-inline:28px;margin-top:10px}
.corporate-phone:hover{background:transparent}
.corporate-offer{display:flex;align-items:center;gap:16px;max-width:400px;margin-bottom:20px}
.corporate-offer .corporate-gift-icon{width:58px;height:58px;flex:0 0 58px;object-fit:contain;transform:translateY(-6px)}
.corporate .corporate-offer p{margin:0;flex:1;min-width:0}
.gallery .section-heading{display:block}
.gallery .gallery-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;overflow:visible;margin:0;padding:0;scroll-snap-type:none}
.gallery .gallery-item{width:100%;min-width:0;height:auto;aspect-ratio:1;border-radius:0}
.gallery .gallery-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gallery .gallery-item:after{display:none}
.benefits{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:7vw;margin:0 16px 16px;background:#eeece7;border-radius:12px}
.benefits-heading h2{font-size:clamp(40px,4.5vw,64px);line-height:1.05;margin:0 0 22px}
.benefits-heading .eyebrow{margin-bottom:20px}
.benefits-intro{max-width:360px;font-size:13px;line-height:1.9;color:var(--muted)}
.benefits-heading>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center 65%;border-radius:8px;margin-top:30px}
.benefits-list{list-style:none;margin:0;padding:0}
.benefits-list li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:18px;border-top:1px solid #d1ccc4;padding:21px 0}
.benefits-list li:last-child{border-bottom:1px solid #d1ccc4}
.benefit-number{font-size:11px;line-height:2;color:var(--muted)}
.benefits-list h3{font-family:var(--sans);font-size:17px;font-weight:400;line-height:1.4;letter-spacing:-.01em;margin:0 0 8px}
.benefits-list p{font-size:13px;line-height:1.85;color:var(--muted);margin:0}

.visit{grid-template-areas:"info questions" "contact more";row-gap:0}
.visit-info{grid-area:info}
.visit-right{grid-area:questions;display:flex;flex-direction:column}
.visit-right .faq{margin-top:auto}
.visit-right .faq details:last-child{border-bottom:0}
.visit-faq-more{grid-area:more}
.contact-channels{grid-area:contact;margin:0 0 30px;padding-top:24px;border-top:1px solid var(--line);scroll-margin-top:110px}
.visit-info dl div{grid-template-columns:90px minmax(0,1fr);column-gap:24px}
.visit .visit-route{width:min(201px,calc((100% - 8px)/2));margin:20px 0 28px}
.contact-channels h3{font-family:var(--sans);font-size:18px;font-weight:400;line-height:1.4;margin:0 0 10px}
.contact-channels .contact-intro{font-size:13px;line-height:1.8;color:var(--muted);max-width:410px;margin:0 0 22px}
.contact-group+.contact-group{margin-top:22px}
.contact-channels .contact-label{font-size:11px;line-height:1.5;letter-spacing:.04em;color:var(--muted);margin:0 0 10px}
.contact-phone{width:min(201px,calc((100% - 8px)/2));white-space:nowrap}
.contact-messengers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:410px}
.visit .visit-route,.contact-phone,.contact-messengers a{display:flex;align-items:center;justify-content:center;max-width:100%;min-height:44px;padding:10px 12px;background:transparent;border:1px solid var(--ink);border-radius:0;color:var(--ink);font-size:12px;font-weight:400;line-height:1.5;letter-spacing:normal;text-align:center;text-decoration:none;transition:background .2s}
.visit .visit-route:hover,.contact-phone:hover,.contact-messengers a:hover{background:#eae7e1}
.visit-route:focus-visible,.contact-messengers a:focus-visible,.contact-phone:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.faq p a{text-decoration:underline;text-underline-offset:3px}

@media(max-width:1000px){.master-layout{gap:30px}}
@media(max-width:900px){.master{padding-top:52px;padding-bottom:52px}.master-layout{grid-template-columns:1fr;grid-template-areas:"heading" "video" "copy";gap:28px;max-width:620px}.master-content{display:contents}.master-heading{grid-area:heading;margin:0}.master-heading h2{font-size:46px}.master-video-frame{grid-area:video;max-width:360px}.master-copy{grid-area:copy}.master-points li{gap:12px}}

@media(max-width:1000px){.about-facts strong{font-size:16px}}

.about-facts>span:last-child strong{white-space:nowrap}

.home-faq{display:grid;grid-template-columns:1fr;width:min(1000px,calc(100% - 48px));margin-inline:auto;padding:55px 0;gap:24px}
.home-faq h2{font-size:clamp(30px,3vw,38px);line-height:1.15}
.home-faq .faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:12px;align-items:stretch}
.home-faq .faq details{background:#eeece7;border:0;padding:0 20px}
.home-faq .faq details:last-child{border-bottom:0}
.home-faq .faq summary{padding:18px 0;min-height:64px;font-size:13px;font-weight:500;line-height:1.65;gap:18px}
.home-faq .faq summary span{flex-shrink:0;font-size:20px;color:var(--ink)}
.home-faq .faq p{font-size:13px;line-height:1.8;padding:0 22px 20px 0}

.language-switch{position:relative;display:flex;align-items:center;flex-shrink:0;white-space:nowrap}
.language-switch select{appearance:none;-webkit-appearance:none;display:block;width:52px;min-height:36px;border:0;border-radius:0;background:transparent;color:inherit;padding:8px 18px 8px 6px;font-family:var(--sans);font-size:11px;font-weight:600;line-height:1.2;cursor:pointer}
.language-switch option{background:var(--paper);color:var(--ink)}
.language-switch svg{position:absolute;right:4px;top:50%;transform:translateY(-50%);pointer-events:none}
.language-switch select:focus-visible{outline:1px solid currentColor;outline-offset:3px}

/* Keep navigation together and use two deliberate rows on small screens. */
.header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:clamp(14px,2vw,28px);height:94px;min-height:0;padding:0 clamp(20px,2.5vw,40px);row-gap:0}
.header .brand{grid-column:1;grid-row:1;order:initial}
.header .brand-logo{width:clamp(150px,16vw,210px)}
.header-phone{grid-column:2;grid-row:1;order:initial;flex:initial;font-size:12px}
.header .desktop-nav{display:flex;grid-column:2;grid-row:1;order:initial;flex:initial;min-width:0;margin:0;justify-content:center;gap:clamp(16px,2vw,30px);font-size:12px;white-space:nowrap}
.header .desktop-nav a{white-space:nowrap;flex-shrink:0}
.header .header-actions{display:flex;grid-column:3;grid-row:1;order:initial;flex:initial;gap:clamp(12px,1.5vw,24px);white-space:nowrap}
.header .header-social{font-size:12px;line-height:1}
@media(max-width:900px) and (min-width:761px){.header{grid-template-columns:auto 1fr auto;height:auto;min-height:110px;padding:12px 24px;row-gap:8px}.header .brand-logo{width:160px}.header .header-actions{grid-column:3}.header .desktop-nav{grid-column:1/-1;grid-row:2;gap:32px}}

.mobile-menu-toggle{display:none}

@media(prefers-reduced-motion:reduce){.mobile-menu-toggle span{transition:none}}
/* Full-screen mobile hero, with compact landscape photos further down. */


/* Additional contact is visible in the mobile footer. */
.footer-instagram{display:none}

/* Keep the mobile footer intact; compact the desktop footer. */
.footer-copyright-desktop { display: none; }
.footer-contact-desktop { display: none; }
@media (min-width: 761px) {
  .footer { --ink: #000; --muted: #000; color: #000; padding-top: 24px; padding-bottom: 28px; }
  .footer-main {
    grid-template-columns: 1.1fr 1.2fr 1fr 1.1fr;
    grid-template-rows: repeat(3, auto);
    align-items: start;
    column-gap: 30px;
    row-gap: 7px;
    padding-bottom: 0;
  }
  .footer-main > .brand { grid-column: 1; grid-row: 1 / 4; }
  .footer-main > p, .footer-main > nav, .footer-main > div { display: contents; }
  .footer-main :is(p, a:not(.brand), .footer-slogan-text, .footer-copyright-desktop) {
    font-family: var(--sans);
    font-size: 11px;
    font-weight: 400;
    line-height: 2;
    margin: 0;
  }
  .footer-slogan-text { grid-column: 2; grid-row: 1; }
  .footer-main nav a { grid-column: 3; }
  .footer-main nav a[href$="services.html"] { grid-row: 1; }
  .footer-main nav a[href$="public-offer.html"] { grid-row: 2; }
  .footer-main nav a[href$="visiting-rules.html"] { grid-row: 3; }
  .footer-main .footer-phone { grid-column: 4; grid-row: 1; }
  .footer-main > div > p { display: block; grid-column: 4; grid-row: 2; }
  .footer-bottom { display: none; }
  .footer-contact-mobile { display: none; }
  .footer-contact-desktop { display: block; grid-column: 4; grid-row: 3; width: fit-content; }
  .footer-copyright-desktop {
    display: block;
    grid-column: 2;
    grid-row: 3;
    color: var(--muted);
  }
}
