@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Italiana&display=swap');
:root{--paper:#f6f3eb;--ink:#243d33;--muted:#74786c;--gold:#b39965;--line:#dcdcd0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.skip{position:fixed;top:-100px;background:white;padding:12px;z-index:100}.skip:focus{top:0}header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:14px;font-size:13px;letter-spacing:2.4px;font-weight:600;line-height:1.5}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:4px}.mark{font-family:Georgia,serif;font-size:30px;letter-spacing:-5px;font-weight:400;border:1px solid #b5b59a;border-radius:50%;width:54px;height:54px;display:flex;align-items:center;justify-content:center;padding-right:5px}.mark span{font-size:15px;font-style:italic;transform:translateY(8px);margin:0 3px}nav{display:flex;align-items:center;gap:32px;font-size:12px}nav a:hover{color:#8b733f}.nav-cta{border-bottom:1px solid var(--gold);padding:10px 0}.nav-cta span{padding-left:20px}.menu-toggle{display:none}.hero{min-height:680px;height:calc(100svh - 100px);max-height:900px;position:relative;color:white;isolation:isolate}.hero>img,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(13,29,22,.78),rgba(13,29,22,.15)),linear-gradient(0deg,rgba(13,29,22,.6),transparent 45%)}.hero-content{padding:105px 7% 100px}.eyebrow{font-size:10px;letter-spacing:2.7px;font-weight:500;margin:0 0 25px}.eyebrow span{color:#ddc492;padding:0 13px}h1,h2,h3{font-weight:400}h1,h2{font-family:'Italiana',Georgia,serif;line-height:1.08;margin:0;letter-spacing:-1.4px}h1{font-size:clamp(55px,6.5vw,100px)}em{font-family:Georgia,serif;font-size:.9em;font-weight:400;color:#bfa77c}h1 em{color:#e5d6b7}.hero-copy{color:#e3e4dc;font-size:14px;line-height:1.9;margin:28px 0 32px}.button{padding:16px 23px;display:inline-flex;justify-content:space-between;gap:38px;align-items:center;font-size:12px;border:1px solid transparent;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.light{background:var(--paper);color:var(--ink)}.dark{background:var(--ink);color:white}.dark:hover{background:#385849}.hero-foot{position:absolute;bottom:30px;left:7%;right:7%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px}.hero-foot a span{margin-left:15px}.hero-foot .image-note{font-size:8px;opacity:.65;letter-spacing:1px}.ribbon{display:flex;justify-content:center;align-items:center;gap:45px;padding:30px 5%;font-family:Georgia,serif;font-size:20px;border-bottom:1px solid var(--line);font-style:italic}.star{color:var(--gold);font-size:20px}.section{padding:100px 7%}h2{font-size:clamp(38px,4.3vw,64px)}h2 em{color:#7b805f}.intro{display:grid;grid-template-columns:1.15fr 1fr;gap:10%}.intro-copy{padding-top:25px;color:#687268}.intro-copy p{margin:0 0 22px}.text-link{border-bottom:1px solid var(--gold);padding-bottom:9px;font-size:12px;display:inline-flex;gap:30px;color:var(--ink)}.occasions{padding-top:50px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:45px}.section-head>p{font-size:12px;color:var(--muted)}.occasion-list{border-top:1px solid var(--line)}.occasion-list>a{display:grid;grid-template-columns:55px 1.2fr 1fr 45px;gap:15px;align-items:center;padding:27px 0;border-bottom:1px solid var(--line);transition:padding .2s,background .2s}.occasion-list>a:hover{background:#edeee4;padding-left:12px;padding-right:12px}.number{font-size:11px;color:#90947d}.occasion-list h3{font:29px Georgia,serif;margin:0}.occasion-list p{font-size:12px;color:var(--muted)}.circle{width:39px;height:39px;border:1px solid #c5c8b8;border-radius:50%;display:grid;place-items:center}.fine{font-size:10px;line-height:1.7;color:var(--muted);margin:22px 0 0}.fine a{text-decoration:underline}.gallery{background:#eaece1}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tabs button{border:1px solid #c8cbbd;background:transparent;border-radius:30px;padding:8px 15px;font-size:11px;color:var(--ink)}.tabs button.active{background:var(--ink);color:white;border-color:var(--ink)}.gallery-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:30px}.gallery-card{border:0;background:none;padding:0;text-align:left;color:var(--ink)}.picture{height:340px;position:relative;overflow:hidden}.picture img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-card:hover img{transform:scale(1.035)}.picture span{position:absolute;bottom:16px;right:16px;font-size:8px;letter-spacing:1px;background:var(--paper);padding:9px 12px}.caption{display:flex;align-items:center;justify-content:space-between;gap:10px}.caption h3{font:22px Georgia,serif}.caption small{font-size:8px;letter-spacing:1px;max-width:100px}.journey{background:var(--ink);color:var(--paper)}.journey .eyebrow{color:#cfb780}.journey h2 em{color:#cfb780}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:65px}.steps article{border-top:1px solid #627267;padding-top:25px}.steps span{font-size:9px;letter-spacing:2px;color:#c0b38e}.steps h3{font:25px Georgia,serif;margin:23px 0 15px}.steps p{font-size:12px;color:#c2cdc4;max-width:280px}.enquiry{display:grid;grid-template-columns:1fr 1fr;gap:9%}.enquiry>div>p:not(.eyebrow){font-size:13px;color:var(--muted);margin:25px 0}.contact{margin-top:40px}.contact small{display:block;font-size:9px;letter-spacing:2px;margin:25px 0 10px}.contact>a:not(.text-link){display:block;font:23px Georgia,serif}.contact>a.contact-email{font:15px 'DM Sans',sans-serif;margin-top:10px;overflow-wrap:anywhere}.contact address{font-style:normal;font-size:12px;color:var(--muted);margin-bottom:18px}form{background:#eeeee4;padding:35px}form h3{font:29px Georgia,serif;margin:0 0 26px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:19px 20px}label{font-size:10px;display:block}.full{grid-column:1/-1}input,select,textarea{width:100%;min-width:0;border:0;border-bottom:1px solid #c4c9ba;background:transparent;border-radius:0;padding:10px 0;color:var(--ink);font-size:12px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #8a977e;outline-offset:3px}form>.button{margin-top:25px;width:100%}#ready{border-top:1px solid var(--line);margin-top:25px;padding-top:15px;font-size:12px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.7 Arial,sans-serif}.copy{display:block;margin-top:12px;background:none;border:0;text-decoration:underline;color:var(--ink)}.faq{padding-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:9%}details{border-bottom:1px solid var(--line)}summary{padding:18px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;font-size:13px}details p{font-size:12px;color:var(--muted)}footer{border-top:1px solid var(--line);padding:40px 7% 25px}.footer-top,.footer-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center}.footer-top>a:last-child{font:25px Georgia,serif}.footer-bottom{margin-top:40px;border-top:1px solid var(--line);padding-top:25px;font-size:9px;color:var(--muted)}.footer-bottom button{border:0;background:none;color:inherit;font:inherit;padding:0}dialog{border:0;padding:35px;background:var(--paper);color:var(--ink);max-width:min(900px,90vw);max-height:90vh}dialog::backdrop{background:#102019da}dialog img{max-width:100%;max-height:65vh;object-fit:contain;display:block;margin:auto}dialog p{font-size:13px}dialog .close{float:right;display:block;font-size:25px;background:none;border:0;color:var(--ink);margin:-20px -15px 10px 15px}#privacy{max-width:550px;padding:45px}#privacy h2{font-size:35px}[hidden]{display:none!important}@media(min-width:1500px){.section{padding-left:max(7%,calc((100vw - 1300px)/2));padding-right:max(7%,calc((100vw - 1300px)/2))}}@media(max-width:900px){header{height:85px}.brand{font-size:10px;letter-spacing:1.5px}.brand small{font-size:7px}.mark{height:45px;width:45px;font-size:26px}nav{gap:18px;font-size:10px}.hero{min-height:640px;height:calc(90svh - 85px)}.hero-content{padding-top:110px}.section{padding:75px 6%}.intro,.enquiry,.faq{gap:5%}.occasion-list h3{font-size:23px}.picture{height:270px}.caption{display:block}.caption h3{margin-bottom:8px}form{padding:25px}.ribbon{gap:22px;font-size:17px}.steps{gap:25px}.steps h3{font-size:22px}.hero-foot .image-note{display:none}.faq{padding-top:0}}@media(max-width:650px){header{padding:0 6%;height:80px}.menu-toggle{display:block;border:0;background:none;color:var(--ink);font-size:23px}nav{display:none;position:absolute;left:0;right:0;top:80px;background:var(--paper);padding:20px 7%;flex-direction:column;align-items:stretch;font-size:14px;box-shadow:0 12px 20px #142e2015}nav.open{display:flex}.hero{min-height:610px;height:calc(88svh - 80px)}.hero-content{padding:95px 7% 90px}.eyebrow{font-size:8px;letter-spacing:1.8px}.hero .eyebrow span{padding:0 4px}h1{font-size:53px;letter-spacing:-1px}.hero-copy{font-size:12px}.hero-foot{font-size:7px;letter-spacing:1px}.ribbon{gap:15px;font-size:13px;padding:24px 5%}.ribbon span:last-child,.ribbon .star:nth-child(4){display:none}.section{padding:65px 7%}.intro,.enquiry,.faq{grid-template-columns:1fr;gap:30px}.intro-copy{padding:0}.intro-copy p{font-size:13px}h2{font-size:40px}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:22px}.occasion-list>a{grid-template-columns:25px 1fr 35px;gap:8px;padding:22px 0}.occasion-list h3{font-size:21px}.occasion-list p{grid-column:2;grid-row:2;margin:0;font-size:10px}.circle{grid-column:3;grid-row:1/3;width:32px;height:32px}.number{font-size:9px}.gallery-grid{grid-template-columns:1fr;gap:25px}.tabs{margin-top:25px}.picture{height:260px}.caption{display:flex}.caption h3{font-size:20px}.steps{grid-template-columns:1fr;gap:20px;margin-top:40px}.steps article{padding-top:20px}.steps h3{margin:15px 0 10px}.steps p{max-width:none}.enquiry{gap:35px}form{padding:24px 20px}.fields{gap:18px 15px}input,select,textarea{font-size:16px}.faq{padding-top:0}.footer-top{align-items:flex-start;flex-direction:column;gap:30px}.footer-top>a:last-child{font-size:22px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:10px}.button{padding:15px 20px;font-size:11px}dialog{padding:28px}dialog p{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
.reviews-section{background:#f0eee4}.reviews-shell{padding:28px;background:#faf9f4;border:1px solid var(--line)}#reviews-status{font-size:13px;color:var(--muted);margin:0 0 22px}.reviews-meta{display:flex;align-items:center;gap:20px;margin:0 0 24px;flex-wrap:wrap}.google-attribution{font-family:Arial,sans-serif;font-style:normal;font-weight:400;font-size:14px;letter-spacing:normal;white-space:nowrap;color:#5e5e5e}.reviews-meta strong{font-size:22px;font-weight:500}.reviews-meta>span:last-child{font-size:12px}.reviews-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:18px}.review-card{flex:0 0 calc((100% - 24px)/2);min-width:0;border:1px solid var(--line);padding:27px;scroll-snap-align:start;background:var(--paper)}.review-author{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:600}.review-author img{width:34px;height:34px;border-radius:50%;object-fit:cover}.review-stars{color:#8f6b24;letter-spacing:3px;margin:17px 0}.review-text{font-size:14px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;max-height:270px;overflow-y:auto}.review-card small{display:block;color:var(--muted);font-size:10px;margin-top:20px}.review-card>a{display:inline-block;font-size:11px;margin-top:13px;text-decoration:underline}.reviews-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:15px;font-size:10px;color:var(--muted)}.reviews-controls>div{display:flex;gap:8px}.reviews-controls button{border:1px solid var(--line);background:transparent;color:var(--ink);padding:8px 14px;font-size:12px}#reviews-attributions{font-size:11px}#reviews-attributions a{text-decoration:underline}.legal-page{max-width:850px;margin:auto;padding:70px 6%}.legal-page h1{font-size:48px}.legal-page h2{font-size:28px;margin-top:35px}.legal-page a{text-decoration:underline}@media(max-width:650px){.reviews-shell{padding:20px}.review-card{flex-basis:100%;padding:22px}.reviews-controls{align-items:flex-start;flex-direction:column}.reviews-meta{gap:12px}#reviews-title{margin-bottom:25px}}
#photos-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:12px 0 18px}#photos-track>.gallery-card,#photos-track>.google-photo-card{flex:0 0 72%;min-width:0;scroll-snap-align:start}#photos-track .picture{height:420px}#photos-track>.google-photo-card>.gallery-card{display:block;width:100%}.photo-attributions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:11px;padding:12px 0}.photo-attributions a{text-decoration:underline}#photos-status{margin:0 0 12px}#photos-google{margin:10px 0}.photo-controls{margin-bottom:15px}.review-card:focus-within,.google-photo-card:focus-within{outline:2px solid var(--gold);outline-offset:-2px}@media(max-width:650px){#photos-track>.gallery-card,#photos-track>.google-photo-card{flex-basis:100%}#photos-track .picture{height:290px}}
