@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#17323a;--ink2:#354b51;--muted:#708085;--sand:#f6f5f0;--line:#dfe4e2;--teal:#245c5c;--accent:#c07c55;--cream:#fffefb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%}.wrap{max-width:1240px;margin:0 auto;padding:0 30px}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid #e6e9e6;backdrop-filter:blur(12px)}.header-inner{height:84px;display:flex;align-items:center;gap:36px}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:52px;height:52px;border-radius:50%;background:var(--ink);color:#f9f5e9;display:grid;place-content:center;font:800 17px Manrope,sans-serif;letter-spacing:-1.7px;position:relative}.mark-small{font-size:11px;vertical-align:middle;color:#d9a78a}.mark-dot{color:#db9a71}.brand-text{display:flex;flex-direction:column;letter-spacing:1.7px;white-space:nowrap;line-height:1.35}.brand-text b{font-size:13px}.brand-text small{font-size:9px;font-weight:700;color:var(--muted);letter-spacing:1.8px}.header-nav{display:flex;gap:29px;margin-left:auto}.header-nav a{font-size:12px;font-weight:700;transition:color .2s}.header-nav a:hover,.subtle-link:hover{color:var(--accent)}.header-contact{border:1px solid var(--ink);padding:11px 18px;border-radius:3px;font-weight:700;font-size:12px}.header-contact:hover{background:var(--ink);color:white}.menu-toggle{display:none;background:none;border:none;font-size:25px;cursor:pointer}.mobile-nav{display:none}.hero{background:var(--sand);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr .93fr;gap:56px;min-height:564px;align-items:center;padding-top:53px;padding-bottom:57px}.eyebrow,.section-kicker{font-size:11px;font-weight:800;letter-spacing:2.5px;color:var(--teal)}.eyebrow{display:flex;align-items:center;gap:13px}.eyebrow-line{height:1px;background:var(--accent);width:34px}.eyebrow-sun{color:var(--accent);font-size:18px}.hero h1{font:800 clamp(49px,6.15vw,82px)/1.13 Manrope,Arial,sans-serif;letter-spacing:-4.5px;margin:22px 0 26px}.hero h1 em,h2 em{font-style:normal;color:#9a785f}.hero-lead{font-weight:800;font-size:20px;margin:0 0 4px}.hero-detail{font-size:15px;max-width:390px;color:#68787a;margin:0;line-height:1.8}.hero-actions{display:flex;gap:25px;align-items:center;margin:30px 0 49px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:19px;border:0;cursor:pointer;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--ink);color:white;font-weight:700;font-size:13px;padding:16px 22px;min-height:49px}.btn-primary span{font-size:20px;line-height:1}.subtle-link{font-weight:700;font-size:13px}.hero-meta{display:flex;flex-wrap:wrap;gap:19px;font-weight:700;color:#899295;font-size:10px;letter-spacing:1px}.hero-art{height:445px;position:relative;overflow:hidden;background:#d7e8ef;border-radius:10px}.sky-orb{position:absolute;border-radius:50%;background:#f0cf98;width:190px;height:190px;left:50%;top:72px;transform:translateX(-50%);box-shadow:0 0 0 25px #e9dfbb55}.sun-rim{position:absolute;top:72px;left:50%;width:190px;height:190px;border-radius:50%;transform:translateX(-50%);border:1px solid #fbe5c6}.mountain{position:absolute;clip-path:polygon(0 100%,35% 15%,60% 68%,75% 37%,100% 100%);width:120%;bottom:115px;height:245px}.mountain-back{left:-31%;background:#83aca4}.mountain-front{left:25%;bottom:106px;height:194px;background:#648c87}.sea{position:absolute;width:120%;left:-10%;border-radius:50% 50% 0 0}.sea-back{background:#6da09c;height:141px;bottom:55px;transform:rotate(-5deg)}.sea-front{background:#3e7d7c;height:112px;bottom:5px;transform:rotate(4deg)}.shore{position:absolute;width:115%;height:76px;left:-10%;bottom:-31px;transform:rotate(-8deg);background:#e9d5b4;border-radius:50%}.hero-art-image{width:100%;height:100%;display:block;object-fit:contain;object-position:center center;background:#d7e8ef}.hero-photo-caption{position:absolute;right:24px;bottom:22px;display:flex;flex-direction:column;align-items:flex-end;text-align:right;color:var(--ink);background:rgba(246,245,240,.88);padding:10px 14px;border-radius:8px;box-shadow:0 10px 24px rgba(23,50,58,.12)}.hero-photo-title{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:25px;line-height:1.05;color:var(--teal)}.hero-photo-subtitle{margin-top:4px;font:700 13px/1.2 Manrope,Arial,sans-serif;letter-spacing:1.2px;color:var(--ink2)}.intro-strip{background:#eaf0ec;border-top:1px solid #dce6df;border-bottom:1px solid #dce6df}.intro-strip .wrap{min-height:65px;display:flex;align-items:center;justify-content:space-between;gap:15px}.intro-strip .wrap div{font-size:10px;font-weight:800;letter-spacing:2px;color:#657e78}.catalog-section,.terms-section{padding-top:93px;padding-bottom:107px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:34px}.section-heading h2{font:800 clamp(35px,4.1vw,51px)/1.22 Manrope,sans-serif;letter-spacing:-2.6px;margin:14px 0 9px}.section-heading p{color:#81908f;font-size:14px;margin:0}.item-count{color:#87928f;font-size:12px;font-weight:700}.category-tabs{display:flex;gap:9px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:21px;margin-bottom:30px}.tab{border:1px solid #dee5e0;background:white;color:#526663;font-weight:700;font-size:13px;padding:13px 21px;cursor:pointer;transition:.2s}.tab:hover{border-color:var(--ink)}.tab.active{background:var(--ink);color:white;border-color:var(--ink)}.catalog-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 22px}.catalog-heading h3{font:800 21px Manrope,sans-serif;margin:0}.catalog-heading span{font-size:12px;color:#7e918b}.products-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.product-card{border:1px solid #e5e9e7;background:white;display:flex;flex-direction:column;min-width:0;transition:transform .2s,box-shadow .2s}.product-card:hover{transform:translateY(-3px);box-shadow:0 14px 45px #17323a0d}.product-photo{background:#f0f3ef;height:245px;position:relative;overflow:hidden;cursor:pointer}.product-photo>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.product-photo:hover>img{transform:scale(1.035)}.product-label{position:absolute;top:14px;left:14px;background:white;padding:6px 10px;letter-spacing:1.4px;font-weight:800;font-size:9px;color:#56766a}.photo-counter{position:absolute;right:13px;bottom:13px;background:#172c2dcc;color:white;padding:6px 9px;font-size:11px}.photo-fallback{width:100%;height:100%;display:grid;place-content:center;text-align:center;gap:13px;background:linear-gradient(145deg,#e5eae5,#d4e0db);color:#6b8a81}.photo-fallback .symbol{font:500 70px Arial}.photo-fallback small{letter-spacing:2px;font-size:10px;font-weight:700}.product-content{padding:23px 22px 20px;display:flex;flex-direction:column;flex:1}.product-code{font-size:10px;color:#87978f;letter-spacing:1.5px;font-weight:700}.product-name{font:800 19px/1.35 Manrope,sans-serif;letter-spacing:-.5px;margin:8px 0 10px}.product-desc{color:#788684;font-size:13px;line-height:1.7;min-height:61px;margin:0 0 14px}.product-features{padding:0;margin:0 0 17px;list-style:none;font-size:12px;color:#526b63}.product-features li{padding:3px 0}.product-features li:before{content:'✓';color:#4d7e71;margin-right:8px;font-weight:900}.pricing{background:#f7f8f5;padding:13px 13px 6px;margin-top:auto}.price-title{font-size:10px;letter-spacing:1.6px;font-weight:800;color:#71817b;margin-bottom:6px}.price-row{display:flex;justify-content:space-between;gap:6px;align-items:baseline;border-top:1px solid #e5e8e3;padding:8px 0;font-size:12px}.price-row strong{font-size:13px;color:#2b4743;white-space:nowrap}.price-row strong.unset{color:#a17764;font-weight:700;font-size:12px}.product-book{display:flex;justify-content:space-between;align-items:center;gap:9px;background:var(--ink);color:white;margin-top:14px;padding:13px 14px;font-weight:800;font-size:12px}.product-book:hover{background:#286068}.product-book span:last-child{font-size:20px;font-weight:400}.more-photos{display:block;color:#71827b;background:none;border:none;padding:10px 0 0;cursor:pointer;font-size:11px;text-decoration:underline;text-underline-offset:3px}.no-products{padding:60px 20px;text-align:center;color:var(--muted);border:1px dashed var(--line)}.how-section{background:#eef3ef;padding:86px 0 93px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:50px}.step{border-top:1px solid #b4c7ba;padding-top:23px}.step>span{font:800 12px Manrope;letter-spacing:1px;color:#a77d66}.step h3{font:800 17px Manrope;margin:21px 0 11px}.step p{font-size:13px;color:#788983;line-height:1.8;margin:0}.terms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.term-card{border:1px solid #e4e9e5;padding:28px;min-height:225px}.term-icon{font-size:31px;color:#9b785d}.term-card h3{font:800 17px Manrope;margin:19px 0 10px}.term-card p{color:#82908d;font-size:13px;line-height:1.8;margin:0}.contact-section{background:#193c43;color:white;padding:90px 0}.contact-layout{display:grid;grid-template-columns:1fr .85fr;gap:95px;align-items:center}.section-kicker.light{color:#d7b599}.contact-section h2{font:800 clamp(38px,4.1vw,54px)/1.2 Manrope;letter-spacing:-2px;margin:18px 0 19px}.contact-section h2 em{font-style:normal;color:#d2ad91}.contact-section p{font-size:14px;color:#bed1d1;max-width:460px;line-height:1.8}.contact-links{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:33px}.contact-link{display:flex;align-items:center;justify-content:space-between;gap:10px;color:white;border:1px solid #507078;padding:12px 14px;font-size:12px;font-weight:800}.contact-link:hover{background:#2c5660}.contact-link.disabled{color:#88a5a9;cursor:default}.address-panel{background:#fff;color:var(--ink)}.map-graphic{position:relative;overflow:hidden;height:225px;background:linear-gradient(125deg,#d4e7df,#afcec7)}.map-grid{position:absolute;inset:-50px;background:repeating-linear-gradient(30deg,transparent 0 49px,#f7f5e38a 50px 52px,transparent 53px 98px),repeating-linear-gradient(120deg,transparent 0 49px,#f7f5e38a 50px 52px,transparent 53px 98px);transform:rotate(15deg)}.map-pin{position:absolute;top:55px;left:52%;font-size:54px;color:#bb7d5d}.map-card{position:absolute;left:23px;bottom:18px;padding:12px 17px;background:white;box-shadow:0 5px 15px #17323a20;display:flex;flex-direction:column}.map-card small{font-size:9px;letter-spacing:1.3px;color:#879691}.map-card strong{font:800 18px Manrope}.map-card span{font-size:11px;color:#82948b}.address-content{padding:26px 25px}.address-content>span{font-size:10px;letter-spacing:1.5px;color:#789089;font-weight:700}.address-content p{color:#617b77;margin:8px 0 16px}.address-content a{font-size:12px;color:#2f6662;font-weight:800;text-decoration:underline;text-underline-offset:4px}footer{background:#132f36;color:#bdced0}.footer-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:15px}.footer-brand{font:800 20px Manrope;letter-spacing:-1px;color:white}.footer-brand i{font-style:normal;color:#cba58b}.footer-brand span{color:#cba58b}.footer-inner>span,.footer-inner>a:last-child{font-size:12px}.gallery-dialog{border:0;padding:0;width:min(850px,95vw);max-height:92vh;background:white;color:var(--ink);box-shadow:0 30px 110px #0007}.gallery-dialog::backdrop{background:#14252bd9}.dialog-close{position:absolute;right:13px;top:8px;font-size:28px;background:#fff;border:0;z-index:3;cursor:pointer;width:39px;height:39px}.dialog-image-wrap{display:flex;align-items:center;justify-content:center;position:relative;height:min(65vh,570px);background:#edf1ed}.dialog-image-wrap img{width:100%;height:100%;object-fit:contain}.gallery-prev,.gallery-next{position:absolute;background:#ffffffdd;border:0;font-size:38px;cursor:pointer;width:43px;height:53px}.gallery-prev{left:8px}.gallery-next{right:8px}.dialog-bottom{padding:19px 25px;display:flex;justify-content:space-between;gap:20px;align-items:center}.dialog-bottom>div:first-child{display:flex;flex-direction:column}.dialog-bottom strong{font-size:15px}.dialog-bottom span{font-size:12px;color:#889490}.dialog-thumbnails{display:flex;gap:6px;overflow-x:auto;max-width:50%}.dialog-thumbnails button{width:44px;height:44px;border:2px solid transparent;padding:0;cursor:pointer;background:#d9e4db;flex-shrink:0}.dialog-thumbnails button.selected{border-color:#244f50}.dialog-thumbnails img{width:100%;height:100%;object-fit:cover}@media(max-width:1000px){.header-nav{gap:16px}.hero-grid{gap:25px}.hero h1{letter-spacing:-2.7px}.products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-layout{gap:30px}}@media(max-width:700px){.wrap{padding:0 19px}.header-inner{height:69px}.brand-mark{height:44px;width:44px}.header-nav,.header-contact{display:none}.menu-toggle{display:block;margin-left:auto}.mobile-nav.open{display:flex;flex-direction:column;background:white;padding:5px 20px 18px;gap:15px;border-bottom:1px solid var(--line)}.mobile-nav a{font-size:14px;font-weight:700;padding:4px 0}.hero-grid{grid-template-columns:1fr;padding-top:53px;padding-bottom:0;gap:40px}.hero h1{font-size:clamp(45px,12vw,70px);margin:19px 0 15px}.hero-lead{font-size:18px}.hero-actions{margin:25px 0 26px}.hero-meta{gap:10px 18px;font-size:9px}.hero-art{height:auto;min-height:300px;max-height:none;border-radius:8px;margin:0 18px}.hero-art-image{height:auto;max-height:72vh;min-height:240px;object-fit:contain}.hero-photo-caption{right:14px;bottom:14px;padding:8px 11px}.hero-photo-title{font-size:20px}.hero-photo-subtitle{font-size:11px}.intro-strip .wrap{flex-wrap:wrap;justify-content:center;padding:16px 12px;gap:8px 20px;min-height:auto}.intro-strip .wrap div{font-size:8px;letter-spacing:1px}.catalog-section,.terms-section{padding-top:64px;padding-bottom:70px}.section-heading h2{font-size:37px;letter-spacing:-1.8px}.item-count{display:none}.category-tabs{flex-wrap:nowrap;overflow:auto;margin-left:-19px;margin-right:-19px;padding-left:19px;padding-right:19px;scrollbar-width:none}.tab{white-space:nowrap;padding:12px 16px}.products-grid{grid-template-columns:1fr;gap:19px}.product-photo{height:280px}.product-desc{min-height:auto}.steps{grid-template-columns:repeat(2,1fr);gap:30px 20px}.terms-grid{grid-template-columns:1fr}.term-card{min-height:auto;padding:22px}.how-section{padding:65px 0}.contact-section{padding:66px 0}.contact-layout{grid-template-columns:1fr;gap:30px}.contact-links{gap:9px}.footer-inner{min-height:130px;flex-wrap:wrap;padding-top:24px;padding-bottom:24px}.footer-inner>span{width:100%;order:3}.gallery-dialog{width:97vw}.dialog-bottom{padding:13px;flex-wrap:wrap}.dialog-thumbnails{max-width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Language flags */
.language-switcher{display:flex;align-items:center;gap:2px;margin-left:auto;flex-shrink:0}.lang-option{border:1px solid transparent;background:transparent;padding:5px 4px;border-radius:6px;cursor:pointer;font-size:20px;line-height:1.3;filter:saturate(.8);transition:background .15s,transform .15s}.lang-option:hover,.lang-option:focus-visible{background:#edf2f0;transform:translateY(-1px)}.lang-option.selected{background:#e5eeea;border-color:#adcac1;filter:none}.header-inner{gap:20px}.header-nav{gap:18px}@media(max-width:1160px){.header-nav{display:none}.language-switcher{margin-left:auto}}@media(max-width:680px){.header-inner{height:auto;min-height:75px;flex-wrap:wrap;justify-content:space-between;gap:6px 10px;padding-top:10px;padding-bottom:8px}.brand{flex:1 1 auto}.header-contact{display:none}.language-switcher{order:3;width:100%;justify-content:center;margin:0}.lang-option{font-size:21px;padding:3px 9px}.menu-toggle{margin-left:auto}.brand-text small{font-size:9px}}

/* Site refinements: image flags, supplied logo and slightly larger navigation */
.brand-logo{display:block;width:190px;height:auto;max-height:67px;object-fit:contain;object-position:left center}
.footer-logo{display:block;width:165px;height:auto;object-fit:contain}
.footer-brand{display:inline-flex;align-items:center;background:#f6f3eb;padding:5px 9px;border-radius:3px}
.header-nav a{font-size:13px}
.mobile-nav a{font-size:15px}
.lang-option{display:inline-flex;align-items:center;justify-content:center;min-width:39px;min-height:36px;padding:5px 4px;filter:none}
.lang-option img{display:block;width:30px;height:20px;object-fit:cover;border:1px solid #00000020;border-radius:2px}
.lang-option.selected{background:#e5eeea;border-color:#adcac1}
@media(max-width:700px){.brand-logo{width:156px;max-height:55px}.lang-option{min-width:38px;padding:4px}}

/* v4: in-card image carousel and rental rate selector */
.product-media{height:260px;position:relative;overflow:hidden;background:#edf2ed}
.product-main-image{width:100%;height:100%;object-fit:cover;display:block}
.product-media .product-label{position:absolute;top:15px;left:15px;z-index:2}
.photo-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;border:1px solid #d9dfdb;background:rgba(255,255,255,.94);width:38px;height:44px;font-size:30px;line-height:1;color:var(--ink);cursor:pointer;border-radius:2px}
.photo-arrow.photo-left{left:11px}.photo-arrow.photo-right{right:11px}
.photo-arrow:disabled{opacity:.3;cursor:default}.photo-arrow:not(:disabled):hover{background:#fff;box-shadow:0 2px 10px #0002}
.photo-position{position:absolute;bottom:12px;right:12px;background:#fffdf2e8;padding:2px 9px;font-size:11px;font-weight:700;color:var(--ink)}
.pricing-select{border-top:1px solid #d7ded7;padding:17px 0 10px;margin-top:15px}
.pricing-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.pricing-amount{min-width:0}.chosen-price{font-size:clamp(20px,2.1vw,27px);line-height:1.3;font-weight:500;color:var(--ink);white-space:nowrap}.chosen-price.unset{font-size:18px}
.price-subtitle{font-size:12px;color:#6c817f;margin-top:7px}
.rental-period{border:1px solid #d6dbd7;background:#f7f6f1;color:#1b2f32;padding:10px 12px;min-width:115px;max-width:45%;font-size:13px;cursor:pointer;border-radius:0}
.deposit-line{margin-top:18px;font-size:12px;color:#647c79}.deposit-line strong{font-weight:500;color:#536f6a;white-space:nowrap}
@media(max-width:700px){.product-media{height:280px}}

/* v5: consistent row alignment and comfortable pricing panel */
.products-grid{align-items:stretch;grid-auto-rows:auto}
.product-card{height:100%;min-height:0;display:flex;flex-direction:column}
.product-content{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}
.product-features{margin-bottom:18px}
.pricing.pricing-select{margin-top:auto;background:#f7f8f5;border:1px solid #e3e7e3;padding:18px 16px 17px;min-width:0}
.pricing-top{align-items:center;gap:14px;flex-wrap:wrap}
.pricing-amount{flex:1 1 145px;min-width:0}
.chosen-price{display:block;max-width:100%;font-size:clamp(20px,2vw,26px);white-space:normal;overflow-wrap:normal;line-height:1.4}
.price-subtitle{margin-top:4px}
.rental-period{flex:0 0 auto;max-width:100%;min-width:110px;padding:10px 12px}
.deposit-line{margin-top:13px;line-height:1.55;overflow-wrap:anywhere}
.deposit-line strong{white-space:normal}
.product-book{margin-top:12px;min-height:52px;flex-shrink:0;font-size:14px;padding:14px 16px}
@media(max-width:700px){.pricing.pricing-select{padding:17px 15px}}

/* v6.1: refined typographic brand closer to the supplied sample */
.type-logo{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;white-space:nowrap;color:#0a3d41;line-height:1;text-rendering:geometricPrecision}
.type-logo-word{font-family:Arial Black,Montserrat,Manrope,Arial,sans-serif;font-size:44px;font-weight:900;letter-spacing:-4.1px;line-height:.9}
.type-logo-amp{color:#c97c51;display:inline-block;transform:translateY(-1px);margin:0 .5px}
.type-logo-sub{margin-top:8px;padding-left:3px;font-family:Manrope,Arial,sans-serif;font-size:11px;font-weight:900;letter-spacing:4.6px;line-height:1.15;color:#0a3d41}
.footer-brand{background:none;padding:0;border-radius:0;letter-spacing:normal}
.footer-brand .type-logo{align-items:flex-start;color:#f7f1e5}
.footer-brand .type-logo-word{font-size:38px;color:#f7f1e5}
.footer-brand .type-logo-sub{font-size:9px;letter-spacing:3.9px;color:#f7f1e5;padding-left:3px}
@media(max-width:900px){.brand .type-logo-word{font-size:38px}.brand .type-logo-sub{font-size:10px;letter-spacing:4px}}
@media(max-width:700px){.brand .type-logo-word{font-size:34px;letter-spacing:-3.1px}.brand .type-logo-sub{font-size:8.7px;letter-spacing:3.35px;margin-top:6px}.footer-brand .type-logo-word{font-size:32px}.footer-brand .type-logo-sub{font-size:7.8px;letter-spacing:3.1px}}

/* v8: category subtitles immediately after titles; preserve original typography */
.catalog-heading{justify-content:flex-start;align-items:baseline;gap:9px;flex-wrap:wrap}
.catalog-heading span::before{content:"–";margin-right:9px;color:inherit}

/* v9: booking date modal */
.booking-dialog{border:0;border-radius:8px;padding:0;width:min(420px,calc(100vw - 32px));max-width:100%;box-shadow:0 24px 90px #102d345c;color:var(--ink)}
.booking-dialog::backdrop{background:#09272ba8}
.booking-form{display:flex;flex-direction:column;gap:14px;padding:28px;position:relative}
.booking-form h3{font:800 23px Manrope,sans-serif;margin:0 30px 0 0}
.booking-form p{margin:0;font-size:14px;color:#58706e}
.booking-form label{font-size:13px;font-weight:700}
.booking-form input{width:100%;min-height:48px;border:1px solid #c7d1cd;border-radius:4px;background:white;color:var(--ink);padding:9px 12px;font:inherit;font-size:16px;color-scheme:light}
.booking-close{position:absolute;right:16px;top:14px;border:0;background:transparent;font-size:29px;cursor:pointer}
.booking-submit{min-height:48px;border:0;background:#173f39;color:white;padding:12px;font-size:15px;font-weight:700;cursor:pointer}
.booking-form .booking-error{color:#b33131;font-size:13px}

/* v10: location eyebrow: same size and font, spacing matched to reference */
.hero .eyebrow{letter-spacing:3px;flex-wrap:wrap;gap:13px}
.hero .eyebrow-line{flex:0 0 34px}
@media(max-width:700px){.hero .eyebrow{letter-spacing:2px;gap:10px}.hero .eyebrow-line{flex-basis:24px}}

/* v12: centered vertical dividers between desktop navigation items */
.header-nav {
  gap: 0;
  align-items: center;
}
.header-nav a + a::before {
  content: "|";
  display: inline-block;
  margin: 0 14px;
  color: #a3adaa;
  font-weight: 400;
  pointer-events: none;
}

/* v16: two English-only statements aligned to opposite edges */
.intro-strip .wrap{justify-content:space-between;gap:24px}
.intro-strip .wrap>div:first-child{text-align:left}
.intro-strip .wrap>div:last-child{text-align:right;margin-left:auto}
@media(max-width:700px){.intro-strip .wrap{justify-content:space-between;flex-wrap:wrap;gap:10px 20px}.intro-strip .wrap>div{flex:0 1 auto;max-width:100%}.intro-strip .wrap>div:last-child{margin-left:auto}}

/* v19: invariant English tagline, styled like the provided sample */
.hero-lead{font-family:Georgia,"Times New Roman",serif;font-size:27px;font-style:italic;font-weight:400;letter-spacing:0;line-height:1.3;color:#687d82}
@media(max-width:700px){.hero-lead{font-size:25px}}

/* v24: more breathing room between English slogan and localized description */
.hero-lead{margin-bottom:19px}

/* v25: responsive hero image */
.sky-orb,.sun-rim,.mountain,.sea,.shore,.hero-art-caption{display:none}

/* v26: improved hero readability and full image visibility */
@media(min-width:701px){.hero-art{height:auto;min-height:0}.hero-art-image{height:auto;max-height:700px;object-fit:contain}}


/* v27: shorter hero image and stylized wave in lower-right corner */
.hero-art{
  min-height: 0;
  background: transparent;
}
.hero-art-image{
  width: 100%;
  height: 100%;
  max-height: 560px;
  min-height: 0;
  object-fit: cover;
  object-position: center center;
  border-radius: 10px;
}
.hero-wave{
  position: absolute;
  right: -2%;
  bottom: -1px;
  width: 82%;
  height: 34%;
  background: linear-gradient(180deg, rgba(230,213,186,.96) 0%, rgba(222,202,170,.98) 100%);
  clip-path: path('M0,130 C100,90 210,78 335,60 C470,40 600,20 760,22 C840,24 912,34 980,54 L980,240 L0,240 Z');
  border-bottom-right-radius: 10px;
  z-index: 2;
  pointer-events: none;
}
.hero-wave::before,
.hero-wave::after{
  content: "";
  position: absolute;
  right: 6%;
  bottom: 14%;
  width: 85%;
  height: 42%;
  border-top: 2px solid rgba(36,92,92,.22);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  transform: rotate(-6deg);
}
.hero-wave::after{
  right: 15%;
  bottom: 24%;
  width: 58%;
  height: 28%;
  border-top-color: rgba(36,92,92,.12);
}
.hero-photo-caption{
  right: 20px;
  bottom: 22px;
  z-index: 3;
  background: rgba(246,245,240,.94);
  border-radius: 8px;
  box-shadow: 0 10px 24px rgba(23,50,58,.12);
}
@media (min-width: 701px){
  .hero-art{
    height: auto;
  }
  .hero-art-image{
    max-height: 560px;
  }
}
@media (max-width: 1000px){
  .hero-art-image{
    max-height: 500px;
  }
  .hero-wave{
    width: 88%;
    height: 31%;
  }
}
@media (max-width: 700px){
  .hero-art{
    margin: 0 18px;
    border-radius: 8px;
  }
  .hero-art-image{
    max-height: 430px;
    border-radius: 8px;
  }
  .hero-wave{
    width: 100%;
    height: 26%;
    right: 0;
  }
  .hero-photo-caption{
    right: 12px;
    bottom: 14px;
    padding: 7px 10px;
  }
}


/* v28: smaller hero with left-bottom external wave */
.hero-grid{
  grid-template-columns: 1fr 0.88fr;
  gap: 44px;
  min-height: 0;
}
.hero-art{
  height: auto;
  min-height: 0;
  overflow: visible;
  position: relative;
}
.hero-art-image{
  width: 100%;
  height: auto;
  max-height: 470px;
  object-fit: cover;
  object-position: center center;
  border-radius: 8px;
  position: relative;
  z-index: 1;
}
.hero-wave{
  position: absolute;
  left: -44%;
  bottom: -8px;
  width: 66%;
  height: 26%;
  background: linear-gradient(180deg, rgba(228,212,186,.98) 0%, rgba(220,200,169,.98) 100%);
  clip-path: path('M0,132 C86,128 130,110 174,90 C216,70 264,55 322,47 C402,36 476,41 554,58 C610,70 663,84 716,108 L716,240 L0,240 Z');
  border-radius: 0 120px 0 0;
  z-index: 2;
  pointer-events: none;
  box-shadow: 0 -1px 0 rgba(36,92,92,.08) inset;
}
.hero-wave::before,
.hero-wave::after{
  content: "";
  position: absolute;
  left: 12%;
  bottom: 18%;
  width: 72%;
  height: 26%;
  border-top: 2px solid rgba(36,92,92,.20);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  transform: rotate(-4deg);
}
.hero-wave::after{
  left: 24%;
  bottom: 33%;
  width: 48%;
  height: 18%;
  border-top-color: rgba(36,92,92,.12);
}
.hero-photo-caption{
  right: 18px;
  bottom: 18px;
  z-index: 3;
}
@media (min-width: 701px){
  .hero-art-image{
    max-height: 470px;
  }
}
@media (max-width: 1100px){
  .hero-grid{
    grid-template-columns: 1fr .84fr;
    gap: 34px;
  }
  .hero-art-image{
    max-height: 430px;
  }
  .hero-wave{
    left: -36%;
    width: 62%;
    height: 24%;
  }
}
@media (max-width: 700px){
  .hero-grid{
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .hero-art{
    margin: 0 18px;
  }
  .hero-art-image{
    max-height: 320px;
    width: 100%;
    object-fit: cover;
  }
  .hero-wave{
    left: -12%;
    width: 58%;
    height: 23%;
    bottom: -6px;
  }
  .hero-photo-caption{
    right: 12px;
    bottom: 12px;
  }
}


/* v29: remove decorative wave, keep current hero height, show full image */
.hero-grid{
  grid-template-columns: 1fr 0.88fr;
  gap: 44px;
  min-height: 0;
}
.hero-art{
  position: relative;
  overflow: hidden;
  height: 470px;
  min-height: 0;
  background: #d7e8ef;
  border-radius: 8px;
}
.hero-art-image{
  width: 100%;
  height: 100%;
  max-height: none;
  min-height: 0;
  object-fit: contain;
  object-position: center center;
  border-radius: 8px;
  display: block;
  background: #d7e8ef;
}
.hero-wave,
.hero-wave::before,
.hero-wave::after{
  display: none !important;
}
.hero-photo-caption{
  right: 18px;
  bottom: 18px;
  z-index: 3;
}
@media (max-width: 1100px){
  .hero-grid{
    grid-template-columns: 1fr .84fr;
    gap: 34px;
  }
  .hero-art{
    height: 430px;
  }
}
@media (max-width: 700px){
  .hero-grid{
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .hero-art{
    height: 320px;
    margin: 0 18px;
  }
  .hero-art-image{
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .hero-photo-caption{
    right: 12px;
    bottom: 12px;
  }
}


/* v30: remove side fields around hero image, keep only image bounds */
.hero-art{
  background: transparent;
  width: fit-content;
  max-width: 100%;
  justify-self: end;
  display: flex;
  align-items: stretch;
  height: 470px;
  overflow: visible;
  border-radius: 0;
}
.hero-art-image{
  width: auto;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  background: transparent;
  flex: 0 0 auto;
  display: block;
}
.hero-photo-caption{
  right: 12px;
  bottom: 12px;
}
@media (max-width: 1100px){
  .hero-art{height: 430px;}
}
@media (max-width: 700px){
  .hero-art{
    width: 100%;
    height: auto;
    justify-self: stretch;
    display: block;
    margin: 0 18px;
  }
  .hero-art-image{
    width: 100%;
    height: auto;
    max-height: 320px;
    object-fit: contain;
  }
}

/* v33: same text appearance with linked contact phrase */
.step p .how-contact-link{font:inherit;font-weight:700;color:inherit;text-decoration:none;transition:color .2s ease;}
.step p .how-contact-link:hover,.step p .how-contact-link:focus-visible{color:var(--accent);}
#contactLinks{scroll-margin-top:125px;}

/* v34: map destination of the pickup link */
#pickupLocation{scroll-margin-top:120px}

/* v35: preserve three paragraphs in the security-deposit description */
#depositText{white-space:pre-line}

/* v36: linked pickup point in rental conditions */
.term-card p .terms-location-link{font:inherit;font-weight:700;color:inherit;text-decoration:none;transition:color .2s ease;}
.term-card p .terms-location-link:hover,.term-card p .terms-location-link:focus-visible{color:var(--accent);}
.terms-paragraph-break{display:block;height:0;margin-top:12px;}

/* Preserve paragraph breaks in product descriptions. */
.product-desc{white-space:pre-line;}

/* v41: keep line breaks and indentation of drill specifications and accessories */
.product-features li{white-space:pre-wrap;}

/* v47 — preserve line breaks in detailed product specifications. */
.product-desc{white-space:pre-line;}
