:root{--ink:#302523;--rose:#a96d63;--gold:#c89b76;--blush:#f2d8d1;--cream:#fff9f6;--border:#e7cec6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}h1,h2,h3,p{margin-top:0}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:12px;font-weight:700;color:var(--rose)}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,6vw,96px);position:sticky;top:0;z-index:30;background:rgba(255,250,248,.95);backdrop-filter:blur(14px);border-bottom:1px solid #ead7d1}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:52px;height:52px;border:1px solid #dabbb2;border-radius:50%;display:grid;place-items:center;background:#fff;overflow:hidden}.brand-mark img{width:46px;height:46px;object-fit:contain}.brand strong{display:block;font:italic 600 25px Georgia,serif;line-height:1}.brand small{font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:#806862}.nav{display:flex;gap:28px;font-size:14px}.nav a:hover{color:var(--rose)}.header-cta,.primary,.submit{background:var(--ink);color:#fff;border:0;border-radius:99px;padding:14px 23px;cursor:pointer}.menu-button{display:none;border:0;background:none;font-size:26px}.hero{min-height:calc(100vh - 88px);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6vw;padding:70px clamp(22px,7vw,110px);background:radial-gradient(circle at 15% 25%,#f4d8d0,transparent 35%),linear-gradient(135deg,#fffaf8,#f9e7e1)}h1{font:500 clamp(52px,6vw,90px)/.97 Georgia,serif;letter-spacing:-.05em}h1 em{display:block;color:var(--rose);font-weight:400}.lead{font-size:19px;color:#6f5a54;max-width:620px;border-left:2px solid var(--gold);padding-left:20px}.hero-actions{display:flex;gap:28px;align-items:center;margin:35px 0}.trust{display:flex;gap:22px;flex-wrap:wrap;color:#715e58;font-size:14px}.logo-stage{position:relative;min-height:620px;display:grid;place-items:center}.halo{position:absolute;width:92%;aspect-ratio:1;border:1px dashed rgba(169,109,99,.3);border-radius:50%;animation:spin 35s linear infinite}.logo-frame{width:min(90%,510px);aspect-ratio:1/1.08;border:1px solid #dfbeb5;border-radius:50% 50% 28px 28px;background:rgba(255,255,255,.72);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 35px 80px rgba(98,58,50,.16);z-index:1}.logo-frame img{width:58%}.logo-name{font:italic 500 52px Georgia,serif;color:#77514b;margin-top:-18px}.logo-caption{text-transform:uppercase;letter-spacing:.4em;font-size:10px;color:#9b746a}.floating-card{position:absolute;z-index:2;bottom:48px;left:0;background:rgba(255,255,255,.92);padding:16px 20px;border:1px solid #dfc3bb;border-radius:5px 18px 18px;display:grid}.floating-card small{color:#7b6862}.luxury-strip{height:70px;background:#382a27;color:#ead2ca;display:flex;justify-content:center;align-items:center;gap:clamp(18px,4vw,58px);text-transform:uppercase;letter-spacing:.3em;font-size:12px}.luxury-strip i{color:var(--gold)}.services,.journey{padding:110px clamp(22px,7vw,110px);background:#fff}.section-heading{text-align:center;max-width:660px;margin:0 auto 55px}.section-heading h2,.about h2,.booking h2,.gallery h2{font:500 clamp(40px,4vw,60px)/1.08 Georgia,serif}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1200px;margin:auto}.service-card{position:relative;min-height:340px;padding:36px;background:linear-gradient(145deg,#fffaf6,#f4dcd5);border:1px solid var(--border);border-radius:4px 56px 4px 4px}.service-card:nth-child(2){transform:translateY(20px)}.service-icon{width:70px;height:70px;border:1px solid #c99588;border-radius:50%;display:grid;place-items:center;color:var(--rose);font-size:34px}.service-card .number{position:absolute;right:30px;top:30px;color:#b68a80;font:italic 18px Georgia,serif}.service-card h3{font:500 28px Georgia,serif;margin-top:30px}.service-card p{color:#79645f}.service-card a{position:absolute;bottom:30px;font-weight:700;font-size:14px}.about{display:grid;grid-template-columns:.4fr 1.2fr .7fr;gap:5vw;align-items:center;padding:105px clamp(22px,9vw,140px);background:linear-gradient(120deg,#edcbc1,#f7e8e2)}.about-logo{width:150px;height:150px;border:1px solid #bd867c;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.3)}.about-logo img{width:118px}.about-points{display:grid;gap:16px}.about-points span{border-bottom:1px solid #d3aaa0;padding-bottom:12px}.about-points strong{display:block;color:var(--rose);font:500 24px Georgia,serif}.journey-grid{max-width:1080px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid #dfc5bc}.journey-grid article{padding:38px}.journey-grid article+article{border-left:1px solid #dfc5bc}.journey-grid b{font:italic 40px Georgia,serif;color:#d3aaa0}.journey-grid h3{font:500 25px Georgia,serif}.gallery{padding:110px clamp(22px,7vw,110px);background:linear-gradient(145deg,#2d2321,#43312d);color:#fff}.gallery-heading{max-width:1200px;margin:0 auto 45px;display:flex;justify-content:space-between;align-items:end;gap:25px}.gallery-heading p:last-child{color:#cbb7b1}.gallery-filters{display:flex;gap:7px;padding:6px;border:1px solid #ffffff25;border-radius:99px}.gallery-filters button{border:0;background:none;color:#dfcbc5;padding:9px 16px;border-radius:99px;cursor:pointer}.gallery-filters .active{background:var(--blush);color:var(--ink)}.gallery-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:245px;gap:16px}.gallery-item{position:relative;overflow:hidden;border:1px solid #ffffff28;border-radius:3px 32px 3px 3px;background:#ba8075;color:#fff;padding:0;text-align:left}.gallery-item.featured{grid-column:span 2;grid-row:span 2}.gallery-item img,.gallery-item video{width:100%;height:100%;object-fit:cover}.gallery-item.placeholder img{object-fit:contain;padding:55px;opacity:.55;background:linear-gradient(145deg,#c89488,#9b655d)}.gallery-item>span:last-child{position:absolute;left:0;right:0;bottom:0;padding:55px 20px 18px;background:linear-gradient(transparent,#251512cf);display:grid}.gallery-item small{text-transform:uppercase;letter-spacing:.16em}.gallery-item strong{font:500 20px Georgia,serif}.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:65px;height:65px;border-radius:50%;background:#ffffffcc;color:#77534c;display:grid;place-items:center}.gallery-note{text-align:center;color:#ceb9b3;margin-top:25px}.booking{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;padding:110px clamp(22px,9vw,140px);background:radial-gradient(circle at 8% 18%,#e9bfb3aa,transparent 31%),linear-gradient(135deg,#fffaf7,#f8e6df)}.booking-intro>p{color:#725e58}.booking-note{margin-top:35px;padding:18px;border-left:2px solid var(--gold);background:#ffffff70;display:grid}.booking-form{background:#ffffffd9;border:1px solid #dcbcb3;padding:clamp(25px,4vw,48px);border-radius:28px;display:grid;gap:18px;box-shadow:0 24px 60px #70463e20}.booking-form label{display:grid;gap:7px;font-size:14px;font-weight:700}.booking-form label small{font-weight:400;color:#8b746e}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-form input,.booking-form select,.booking-form textarea{width:100%;border:1px solid #dfc8c1;background:#fff;padding:13px 14px;border-radius:10px}.submit{background:linear-gradient(135deg,#915b52,#b97a6e)}.form-message{display:none;padding:10px;border-radius:9px;margin:0}.form-message.success,.form-message.error{display:block}.form-message.success{background:#e4f4e9;color:#276645}.form-message.error{background:#fae9e7;color:#962d2d}footer{padding:60px clamp(22px,7vw,110px) 30px;display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}footer>p,footer>small{text-align:right;color:#806c66}.footer-links{display:flex;justify-content:flex-end;gap:20px;flex-wrap:wrap;font-size:14px}.media-modal[hidden]{display:none}.media-modal{position:fixed;inset:0;z-index:100;background:#1c1210dc;display:grid;place-items:center;padding:22px}.modal-card{width:min(940px,100%);background:#fff;border-radius:22px;overflow:hidden;position:relative}.modal-content{height:min(70vh,620px);background:#201816}.modal-content img,.modal-content video{width:100%;height:100%;object-fit:contain}.modal-card h3{padding:18px 25px;margin:0}.modal-close{position:absolute;right:15px;top:15px;z-index:2;border:0;border-radius:50%;width:44px;height:44px;font-size:26px;cursor:pointer}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.header-cta{display:none}.menu-button{display:block}.nav{display:none;position:absolute;top:88px;left:0;right:0;padding:25px;background:#fffaf8;flex-direction:column}.nav.open{display:flex}.hero{grid-template-columns:1fr}.logo-stage{min-height:540px}.service-grid,.journey-grid{grid-template-columns:1fr}.service-card:nth-child(2){transform:none}.journey-grid article+article{border-left:0;border-top:1px solid #dfc5bc}.about{grid-template-columns:1fr}.gallery-heading{align-items:start;flex-direction:column}.gallery-grid{grid-template-columns:repeat(2,1fr)}.booking{grid-template-columns:1fr}footer{grid-template-columns:1fr}footer>p,footer>small{text-align:left}.footer-links{justify-content:flex-start}}
@media(max-width:560px){h1{font-size:49px}.hero-actions{flex-direction:column;align-items:start}.logo-stage{min-height:470px}.logo-name{font-size:40px}.gallery-grid{grid-template-columns:1fr}.gallery-item.featured{grid-column:auto;grid-row:auto}.form-row{grid-template-columns:1fr}.luxury-strip{justify-content:flex-start;overflow:hidden;padding-left:20px;white-space:nowrap}.gallery-filters{width:100%;justify-content:center}}

.service-icon svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.service-icon circle{fill:#fff6f2;stroke:currentColor}

.prices{padding:110px clamp(22px,7vw,110px);background:radial-gradient(circle at 100% 0,#f2cfc688,transparent 28%),linear-gradient(145deg,#fff9f6,#f6dfd8)}.prices-heading{max-width:1200px;margin:0 auto 48px;display:flex;align-items:end;justify-content:space-between;gap:30px}.prices-heading h2{font:500 clamp(40px,4vw,60px)/1.08 Georgia,serif;margin-bottom:12px}.prices-heading p:last-child{color:#79645f;max-width:590px}.price-cta{flex:0 0 auto;border:1px solid #b77a6f;border-radius:99px;padding:12px 22px;color:#8e5a51;font-weight:700}.price-columns{max-width:1200px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}.price-column{display:grid;gap:26px}.price-group{background:rgba(255,255,255,.82);border:1px solid #e2c4bc;border-radius:4px 38px 4px 4px;padding:30px;box-shadow:0 18px 45px rgba(94,54,47,.08)}.price-group h3{display:flex;align-items:center;gap:12px;font:500 25px Georgia,serif;margin-bottom:22px}.price-group h3 span{width:38px;height:38px;border-radius:50%;background:#b7786d;color:#fff;display:grid;place-items:center;font:700 12px Arial,sans-serif}.price-group ul{list-style:none;margin:0;padding:0}.price-group li{display:grid;grid-template-columns:1fr auto;gap:20px;padding:11px 0;border-bottom:1px dotted #d8bbb3;align-items:start}.price-group li:last-child{border:0}.price-group li span{color:#604d48}.price-group strong{color:#9b6258;white-space:nowrap;font-size:16px}.price-note{text-align:center;color:#806963;margin:28px auto 0;font-style:italic}.prices:target{scroll-margin-top:88px}

@media(max-width:900px){.prices-heading{align-items:start;flex-direction:column}.price-columns{grid-template-columns:1fr}.price-column{gap:18px}}
@media(max-width:560px){.price-group{padding:22px 18px}.price-group h3{font-size:22px}.price-group li{gap:12px;font-size:14px}.price-group strong{font-size:15px}}

.find-us{padding:110px clamp(22px,7vw,110px);background:#fff}.find-us-card{max-width:1200px;margin:auto;display:grid;grid-template-columns:.72fr 1.28fr;min-height:510px;border:1px solid var(--border);border-radius:5px 44px 5px 5px;overflow:hidden;box-shadow:0 24px 60px rgba(98,58,50,.11)}.find-us-copy{padding:clamp(34px,5vw,68px);background:linear-gradient(145deg,#fffaf7,#f2d8d1);display:flex;flex-direction:column;justify-content:center}.find-us-copy h2{font:500 clamp(40px,4vw,60px)/1.08 Georgia,serif;margin-bottom:18px}.find-us-copy>p:not(.eyebrow){color:#725e58}.find-us-copy address{font-style:normal;display:grid;gap:5px;margin:20px 0 28px;padding-left:18px;border-left:2px solid var(--gold)}.find-us-copy address strong{font:500 25px Georgia,serif;color:var(--rose)}.find-us-copy address span{color:#5d4b46}.directions{font-weight:700;color:#8d584f}.map-wrap{min-height:510px;background:#ead5ce}.map-wrap iframe{display:block;width:100%;height:100%;min-height:510px;border:0}.find-us:target{scroll-margin-top:88px}

@media(max-width:900px){.find-us-card{grid-template-columns:1fr}.map-wrap,.map-wrap iframe{min-height:390px}}
@media(max-width:560px){.find-us{padding:70px 18px}.find-us-copy{padding:34px 24px}.map-wrap,.map-wrap iframe{min-height:330px}}

@media(max-width:1180px) and (min-width:901px){.nav{gap:16px;font-size:13px}.site-header{padding-inline:28px}.header-cta{padding-inline:18px}}

.footer-contact{display:grid;justify-items:end;gap:7px;text-align:right;color:#806c66}.footer-contact a{display:flex;align-items:center;gap:8px;color:var(--rose);font-weight:700}.footer-contact a svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.footer-contact a:hover{text-decoration:underline}
@media(max-width:900px){.footer-contact{justify-items:start;text-align:left}}

.gallery-item .play:last-child{left:50%;right:auto;top:50%;bottom:auto;transform:translate(-50%,-50%);width:65px;height:65px;padding:0;background:#ffffffdd;color:#77534c;display:grid;place-items:center;border-radius:50%;font-size:22px}

.time-field{border:0;padding:0;margin:0;min-width:0}.time-field legend{font-size:14px;font-weight:700;padding:0 0 7px}.time-parts{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center}.time-parts>span{font-size:20px;color:var(--rose)}.time-parts label{min-width:0}.time-parts select{min-width:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
