:root{--navy:#102A43;--ink:#17212B;--muted:#52616B;--blue:#255E85;--sky:#DCEBF1;--rose:#E9D8DE;--sage:#DCE7E1;--line:#C7D4DA;--gold:#B78D57;--white:#fff;--plum:#7A4860}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Arial,sans-serif;font-size:16px;line-height:1.5;background:#fafbfa}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.site-header{height:88px;padding:0 max(20px,calc((100% - 1280px)/2));display:flex;align-items:center;gap:34px;border-bottom:1px solid var(--line);background:var(--white);position:relative;z-index:3}.brand{display:flex;align-items:center;min-height:44px;gap:11px;font-size:9px;line-height:1.15;letter-spacing:1.4px;font-weight:bold;color:var(--navy)}.brand-mark{font:700 24px Georgia,serif;letter-spacing:-2px}.site-header nav{display:flex;gap:28px;margin-left:auto}.site-header nav a,.header-phone{display:inline-flex;align-items:center;min-height:44px;font-size:13px}.header-phone{font-weight:bold;color:var(--navy)}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:52px;padding:0 24px;border-radius:28px;background:var(--navy);color:#fff;border:1px solid var(--navy);font-size:13px;font-weight:bold;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#173B55;transform:translateY(-2px)}.button-small{min-height:44px;padding:0 20px}.menu-toggle,.mobile-nav{display:none}.section-wrap{max-width:1280px;margin:auto;padding-left:40px;padding-right:40px}.hero{min-height:650px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding-top:72px;padding-bottom:90px}.eyebrow{margin:0 0 20px;color:var(--blue);font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:bold}.hero h1,h2{font:400 clamp(42px,5vw,76px)/1.04 Georgia,serif;letter-spacing:-2px;color:var(--navy);margin:0}.hero-lead{max-width:460px;margin:30px 0;font-size:18px;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:28px}.text-link{display:inline-flex;align-items:center;min-height:44px;font-size:13px;font-weight:bold;text-decoration:underline;text-underline-offset:4px}.text-link span{display:inline-block;margin-left:6px;transition:transform .2s}.text-link:hover span{transform:translateX(4px)}.hero-note{display:flex;align-items:center;gap:14px;margin-top:70px;padding-top:20px;border-top:1px solid var(--line);max-width:460px;color:var(--muted);font-size:12px}.hero-note strong{color:var(--ink);font-size:13px}.note-icon{color:var(--gold);font-size:25px}.hero-art{height:500px;border-radius:220px 220px 26px 26px;background:var(--sky);position:relative;overflow:hidden}.art-orb{position:absolute;border-radius:50%;background:var(--rose);filter:blur(1px)}.orb-one{width:360px;height:360px;right:14%;top:14%;background:#b9d0d8}.orb-two{width:230px;height:230px;left:10%;bottom:8%;background:var(--rose)}.art-line{position:absolute;width:180%;height:100px;border:2px solid rgba(122,72,96,.5);border-radius:50%;transform:rotate(-38deg);top:47%;left:-30%}.art-label{position:absolute;right:22px;bottom:24px;color:var(--navy);font:italic 22px Georgia,serif}.route{padding-top:80px;padding-bottom:110px;border-top:1px solid var(--line)}h2{font-size:48px;letter-spacing:-1px}.steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);padding:0;margin:55px 0 0}.steps li{padding:24px 38px 10px 0;border-top:1px solid var(--navy)}.steps li+li{padding-left:38px;border-left:1px solid var(--line)}.step-number,.card-index{font-size:11px;color:var(--plum);letter-spacing:1px}.steps h3{font:400 26px Georgia,serif;margin:32px 0 10px;color:var(--navy)}.steps p,.direction-card p{color:var(--muted);max-width:260px;font-size:14px}.directions{padding-bottom:120px}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:20px}.direction-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:55px}.direction-card{min-height:330px;padding:28px;border-radius:18px;display:flex;flex-direction:column;align-items:flex-start}.direction-card.sky{background:var(--sky)}.direction-card.rose{background:var(--rose)}.direction-card.sage{background:var(--sage)}.direction-card h3{font:400 34px/1.05 Georgia,serif;color:var(--navy);margin:55px 0 14px}.direction-card .text-link{margin-top:auto}.approach{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;padding-top:90px;padding-bottom:120px;border-top:1px solid var(--line)}.approach-art{height:480px;border-radius:240px 240px 20px 20px;background:var(--rose);position:relative;overflow:hidden;color:var(--navy);font:italic 28px/1.1 Georgia,serif;padding:35px}.approach-circle{position:absolute;width:420px;height:420px;border:1px solid var(--plum);border-radius:50%;left:12%;top:12%}.approach-art span{position:absolute;right:28px;bottom:30px}.principles{list-style:none;padding:0;margin:48px 0 0}.principles li{display:flex;gap:22px;padding:20px 0;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}.principles b{color:var(--plum);font-size:11px}.principles strong{color:var(--ink)}.booking{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;padding-top:100px;padding-bottom:120px}.booking h2{margin-bottom:28px}.booking-copy>p:not(.eyebrow){color:var(--muted);max-width:460px}.booking form{margin-top:32px;max-width:500px}.booking label{display:block;margin-bottom:16px;color:var(--muted);font-size:12px}.booking input:not([type=checkbox]){display:block;width:100%;margin-top:7px;padding:14px 0;border:0;border-bottom:1px solid var(--line);background:transparent;font:16px Arial;color:var(--ink)}.consent{display:flex!important;align-items:flex-start;gap:8px;min-height:44px;margin:24px 0!important}.consent input{margin-top:3px;accent-color:var(--navy)}.form-message{min-height:24px;color:var(--blue);font-size:13px}.contact-card{padding:42px;border-radius:18px;background:var(--navy);color:#fff;min-height:380px}.contact-card .eyebrow{color:#b9d0d8}.contact-card address{font-style:normal;font-size:17px;color:#e7eff1}.contact-phone{display:flex;align-items:center;min-height:44px;margin-top:40px;font-size:19px;text-decoration:underline;text-underline-offset:5px}.contact-card p:last-child{font-size:13px;color:#b9d0d8}.site-footer{display:grid;grid-template-columns:1.5fr 1fr 1.3fr 1.6fr;gap:30px;padding:55px max(20px,calc((100% - 1280px)/2));background:#eaf0ef;color:var(--muted);font-size:12px}.footer-brand{color:var(--navy)}.footer-brand p{margin-top:8px}.footer-title{color:var(--navy);font-weight:bold;margin:0 0 15px}.site-footer a,.site-footer div:not(.footer-brand) p{display:flex;align-items:center;min-height:44px;margin:0}.disclaimer{align-self:end}.disclaimer small{margin-top:25px;display:block}@media(max-width:800px){.site-header{height:76px;padding:0 40px;gap:18px}.site-header nav,.header-phone,.site-header .button-small{display:none}.menu-toggle{display:inline-flex;align-items:center;min-height:44px;margin-left:auto;background:none;border:1px solid var(--line);border-radius:22px;padding:10px 16px;color:var(--navy)}.mobile-nav{padding:16px 40px;background:#fff;border-bottom:1px solid var(--line)}.mobile-nav.open{display:grid;gap:14px}.hero{grid-template-columns:1fr;gap:36px;padding-top:55px;padding-bottom:70px}.hero-art{height:380px;order:-1}.hero h1{font-size:54px}.steps{display:block;margin-top:35px}.steps li,.steps li+li{padding:22px 0;border-left:0}.steps h3{margin:15px 0 5px}.direction-grid{grid-template-columns:1fr}.approach{grid-template-columns:1fr;gap:40px}.approach-art{height:350px}.booking{grid-template-columns:1fr;gap:30px}.site-footer{grid-template-columns:repeat(2,1fr);padding:45px 40px}.section-wrap{padding-left:40px;padding-right:40px}}@media(max-width:480px){.site-header{padding:0 20px}.section-wrap{padding-left:20px;padding-right:20px}.hero{padding-top:42px}.hero-art{height:300px}.hero h1{font-size:43px;letter-spacing:-1px}.hero-lead{font-size:16px}.hero-actions{display:grid;gap:20px}.hero-actions .button{width:100%}.hero-note{margin-top:45px}.route,.directions,.approach,.booking{padding-bottom:75px}.route{padding-top:55px}h2{font-size:37px}.section-intro{display:block}.direction-card{min-height:285px}.direction-card h3{font-size:30px;margin-top:42px}.approach{padding-top:65px}.approach-art{height:280px}.principles{margin-top:30px}.booking{padding-top:65px}.contact-card{padding:30px;min-height:330px}.site-footer{grid-template-columns:1fr;padding:40px 20px;gap:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.text-link span{transition:none}.button:hover{transform:none}}
