:root{--paper:#f5f2ec;--ink:#0b0b0b;--hero:#0f0c09;--milk:#fbf6ee;--gold:#c09848;--line:#d9d2c5;--muted:#676158;--error:#8e362f;--success:#36664e;color-scheme:light;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid #8c651e;outline-offset:4px}[hidden]{display:none!important}.skip-link{position:absolute;left:16px;top:-80px;z-index:5;background:var(--paper);padding:12px}.skip-link:focus{top:10px}.site-header{max-width:1320px;margin:auto;padding:14px 48px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--line)}.brand{display:flex}.brand img{width:103px;height:auto}.header-right{display:flex;align-items:center;gap:28px}.header-right>span,.eyebrow{font-family:Lato,Arial,sans-serif;font-size:11px;letter-spacing:2.2px;font-weight:700}.header-right>span{color:var(--muted)}.language-switch{display:flex;border:1px solid var(--line)}.language-switch button{border:0;background:transparent;padding:12px 14px;min-height:44px;font-size:12px;color:var(--muted)}.language-switch button[aria-pressed="true"]{background:var(--ink);color:var(--milk)}.preview-notice{text-align:center;border-bottom:1px solid var(--line);padding:11px 20px;color:#66512f;background:#eee5d3;font-size:12px;line-height:1.6}main{max-width:1320px;margin:auto;padding:30px 48px 0}.hero{background:var(--hero);color:var(--milk);padding:52px 54px;display:grid;grid-template-columns:1.65fr 1fr;gap:64px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:550px;height:550px;border:1px solid #c0984826;border-radius:50%;right:-270px;top:-240px;box-shadow:0 0 0 55px #c0984808,0 0 0 110px #c0984806;pointer-events:none}.eyebrow{margin:0 0 15px;color:#9a783a}.hero .eyebrow{color:var(--gold)}h1,h2,h3,p{margin-top:0}h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(40px,4.7vw,65px);line-height:1.12;font-weight:400;letter-spacing:-1.7px;margin-bottom:22px}h1 em{font-weight:400;color:#d1ae6b}.hero-subtitle{font-size:16px;line-height:1.7;margin-bottom:11px}.hero-note{color:#b7aea1;font-size:13px;line-height:1.8;max-width:460px;margin:0}.journey{list-style:none;padding:4px 0 0;margin:0;align-self:center;z-index:1}.journey li{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid #c0984838}.journey li:first-child{padding-top:0}.journey li:last-child{border-bottom:0;padding-bottom:0}.journey li>span{font-family:'Playfair Display',Georgia,serif;color:var(--gold);font-size:25px}.journey strong{font-size:13px;font-weight:500;display:block;line-height:1.6}.journey small{display:block;font-size:11px;color:#b7aea1;margin-top:5px;line-height:1.6}.services-section,.booking-section{padding:52px 0 26px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:27px}h2{font-family:'Playfair Display',Georgia,serif;font-size:34px;font-weight:400;letter-spacing:-.5px;margin-bottom:12px;line-height:1.25}.section-heading p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.8;margin:0}.search-field{width:270px;flex-shrink:0}.search-field label{font-size:11px;font-weight:600;display:block;margin-bottom:10px}.search-field input{width:100%;background:#fbf8f2;border:1px solid #bcb2a2;padding:13px 15px;font-size:13px;min-height:46px;border-radius:0;appearance:none}.categories{display:flex;gap:8px;flex-wrap:wrap}.categories button{background:transparent;border:1px solid var(--line);padding:11px 16px;min-height:44px;font-size:12px;color:var(--muted)}.categories button[aria-pressed="true"]{background:var(--ink);color:var(--milk);border-color:var(--ink)}.result-count{font-size:11px;color:var(--muted);margin:20px 0 18px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.service-card{background:#fbf8f2;border:1px solid var(--line);padding:25px 24px;display:flex;flex-direction:column;min-height:244px;position:relative;transition:border-color .18s,background .18s}.service-card:hover{border-color:#b99b5e;background:#fffdf8}.service-category{font-family:Lato,Arial,sans-serif;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:#806737;margin-bottom:18px}.service-card h3{font-family:'Playfair Display',Georgia,serif;font-size:23px;font-weight:400;margin-bottom:10px;line-height:1.3}.service-card p{font-size:12px;line-height:1.8;color:var(--muted);margin-bottom:20px}.service-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:auto;padding-top:10px}.service-meta{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:5px}.service-select{min-height:44px;border:0;border-bottom:1px solid #a07a36;padding:8px 0;background:transparent;font-family:Lato,Arial,sans-serif;font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--ink);display:flex;align-items:center;gap:14px;text-transform:uppercase}.service-select span{font-size:20px;line-height:1}.button{display:inline-block;min-height:44px;padding:15px 23px;font-family:Lato,Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;text-align:center;text-decoration:none;background:var(--gold);color:#120f0b;border:1px solid var(--gold);border-radius:0;line-height:1.5}.button.secondary{background:transparent;border-color:#b5a993;color:var(--ink)}.notice{padding:16px 20px;margin-top:24px;border:1px solid #bd928a;background:#fcf0ed;color:var(--error);font-size:13px;line-height:1.7}.notice button{background:transparent;border:0;text-decoration:underline;padding:8px;margin-left:8px;color:inherit;min-height:44px}.empty-state{grid-column:1/-1;border:1px solid var(--line);padding:44px;text-align:center;color:var(--muted);line-height:1.8}.calendar-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;display:flex;justify-content:space-between;gap:28px;font-size:11px;color:var(--muted);line-height:1.8}.calendar-note span{max-width:48%}.calendar{width:100%;min-height:100px;margin-top:20px}.calendar iframe{border:0;width:100%!important;min-height:650px}.calendar-loading{padding:75px 20px;text-align:center;font-size:13px;color:var(--muted)}.spinner{display:inline-block;width:25px;height:25px;border:2px solid #ded5c5;border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:14px}.calendar-failure{padding:38px 22px;text-align:center;border:1px solid #c7ad82;background:#f1eadb;margin-top:20px}.calendar-failure h3{font-weight:500;font-size:17px}.calendar-failure p{font-size:13px;line-height:1.8;color:var(--muted)}.direct-booking{text-align:center;font-size:12px;margin:28px 0 0}.direct-booking small{display:block;color:var(--muted);font-size:11px;margin-top:10px;line-height:1.8}.receipt{max-width:820px;margin:46px auto;padding:42px;border:1px solid #cbbd9f;background:#fbf8f2;text-align:center}.receipt .receipt-icon{width:48px;height:48px;display:grid;place-items:center;border:1px solid #92ac98;color:var(--success);margin:0 auto 22px;font-size:25px}.receipt>p{color:var(--muted);font-size:14px;line-height:1.8}.receipt .button{margin:10px 0}.receipt-steps{list-style:none;text-align:left;padding:0;margin:28px 0;border-top:1px solid var(--line)}.receipt-steps li{padding:15px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:12px;line-height:1.6}.receipt-steps span{color:var(--muted)}.receipt-steps strong{font-weight:500;color:var(--success)}.receipt .secondary-actions{margin-top:22px}.care-note{border-top:1px solid var(--line);padding:32px 0;display:flex;gap:24px;align-items:center}.care-mark{color:var(--gold);font-size:27px}.care-note h2{font-size:23px;margin-bottom:8px}.care-note p{font-size:12px;line-height:1.8;color:var(--muted);max-width:650px;margin:0}.care-note>a{font-size:12px;margin-left:auto;white-space:nowrap}footer{border-top:1px solid var(--line);max-width:1224px;margin:auto;padding:26px 0 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}footer>span{font:700 12px Lato,Arial,sans-serif;letter-spacing:2.8px}footer p{font-family:'Playfair Display',Georgia,serif;font-size:17px;color:var(--muted);margin:0}footer small{font-size:9px;letter-spacing:1.4px;color:var(--muted)}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}@media(max-width:1000px){.hero{padding:38px;gap:35px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header{padding:12px 30px}main{padding:25px 30px 0}footer{margin:0 30px;flex-wrap:wrap}.care-note{flex-wrap:wrap}.care-note>a{margin-left:50px}}@media(max-width:650px){.site-header{padding:10px 20px;gap:12px}.brand img{width:85px}.header-right{gap:10px}.header-right>span{display:none}.language-switch button{padding:10px 12px}main{padding:18px 20px 0}.hero{padding:30px 25px;grid-template-columns:1fr;gap:27px}h1{font-size:43px;letter-spacing:-1.2px}.hero-subtitle{font-size:14px}.hero-note{font-size:12px}.journey{padding:0}.journey li{padding:13px 0}.journey li>span{font-size:21px}.journey strong{font-size:12px}.journey small{font-size:10px}.services-section,.booking-section{padding-top:36px}.section-heading{display:block;margin-bottom:22px}h2{font-size:29px}.search-field{width:100%;margin-top:25px}.section-heading>.button{margin-top:20px}.categories{gap:6px}.categories button{font-size:11px;padding:10px 12px}.service-grid{grid-template-columns:1fr}.service-card{min-height:215px;padding:24px}.service-card h3{font-size:25px}.calendar-note{display:block}.calendar-note span{display:block;max-width:none}.calendar-note span+span{margin-top:8px}.calendar iframe{min-height:720px}.receipt{padding:32px 22px;margin-top:34px}.receipt h2{font-size:31px}.care-note{gap:17px;align-items:flex-start;padding:28px 0}.care-note>div{flex:1;min-width:230px}.care-note>a{margin-left:42px}footer{margin:0 20px;display:block;padding-top:26px}footer p{margin:14px 0}footer small{display:block;font-size:9px;line-height:1.8}}
