:root{--cream:#fff8ed;--soft-white:#fffdf8;--linen:#f3e4cf;--sand:#dec59c;--terracotta:#b65232;--red:#8f2f26;--gold:#d29b37;--green:#2f5c45;--ink:#2e2119;--muted:#746456;--shadow:0 18px 45px rgba(58,37,22,0.14);--radius:8px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at top left,rgba(210,155,55,.13),transparent 32rem),linear-gradient(180deg,var(--cream),var(--soft-white) 38%,#f8ecdb);color:var(--ink);font-family:Georgia,Times New Roman,serif}body,button,input,select,textarea{font:400 1rem/1.6 Georgia,Times New Roman,serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}main{overflow:hidden}.hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(320px,1.08fr);grid-gap:clamp(1.5rem,4vw,4rem);gap:clamp(1.5rem,4vw,4rem);align-items:center;min-height:92vh;padding:clamp(1.25rem,4vw,4rem)}.hero__content{max-width:42rem}.eyebrow,.section__label{margin:0 0 .85rem;color:var(--terracotta);font-family:Arial,Helvetica,sans-serif;font-size:.78rem;font-weight:700;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:.75rem;font-size:7.5rem;line-height:.9}h1,h2{letter-spacing:0}h2{margin-bottom:1.25rem;font-size:3.5rem;line-height:1.08}h3{margin-bottom:.55rem;font-size:1.35rem}.hero__subtitle,h3{color:var(--green);line-height:1.2}.hero__subtitle{margin-bottom:1rem;font-size:1.9rem}.about p,.contactIntro p,.hero__copy,.menuPanel p{color:var(--muted);font-size:1.16rem}.hero__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:3.1rem;border:1px solid transparent;border-radius:999px;padding:.78rem 1.3rem;font-family:Arial,Helvetica,sans-serif;font-weight:700;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.button:hover,.textLink:hover{transform:translateY(-2px)}.button--primary{background:var(--red);box-shadow:0 12px 28px rgba(143,47,38,.24);color:#fffdf8}.button--secondary{border-color:rgba(47,92,69,.25);background:rgba(255,253,248,.7);color:var(--green)}.hero__imageWrap{position:relative;min-height:min(72vh,720px);overflow:hidden;border-radius:clamp(24px,4vw,42px);box-shadow:var(--shadow);background:var(--linen)}.hero__image{object-fit:cover;object-position:center}.galleryEmpty,.hero__placeholder{display:grid;min-height:100%;place-items:center;padding:2rem;background:linear-gradient(135deg,rgba(182,82,50,.12),rgba(47,92,69,.1)),var(--linen);color:var(--muted);font-family:Arial,Helvetica,sans-serif;text-align:center}.section{padding:clamp(4rem,8vw,7rem) clamp(1.25rem,4vw,4rem)}.section--intro{display:grid;grid-template-columns:minmax(10rem,.35fr) minmax(0,.65fr);grid-gap:clamp(1.5rem,5vw,5rem);gap:clamp(1.5rem,5vw,5rem);background:rgba(255,253,248,.65)}.about{max-width:58rem}.section--intro .about h2{max-width:52rem;margin-bottom:1.45rem;font-size:5.5rem;line-height:1.08;letter-spacing:0}.about__button{margin-top:1.25rem;border-color:rgba(143,47,38,.32);background:linear-gradient(180deg,#b65232,#923824);box-shadow:0 14px 32px rgba(143,47,38,.24);color:var(--soft-white)}.about__button:hover{background:linear-gradient(180deg,#c25a37,#8f2f26);box-shadow:0 16px 36px rgba(143,47,38,.3)}.about__button:focus-visible{outline:3px solid rgba(210,155,55,.55);outline-offset:3px}.about__button:active{transform:translateY(0)}.aboutHero{display:flex;align-items:center;min-height:68vh;padding:clamp(1.25rem,4vw,4rem)}.aboutHero__copy{max-width:54rem}.aboutHero__copy .textLink{display:inline-flex;margin-bottom:2rem}.aboutPhotoGrid{display:grid;grid-auto-rows:12rem;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.aboutPhoto{position:relative;display:grid;min-height:12rem;margin:0;overflow:hidden;place-items:center;border-radius:var(--radius);background:linear-gradient(135deg,rgba(182,82,50,.1),rgba(47,92,69,.11)),var(--linen);box-shadow:var(--shadow);color:var(--muted);font-family:Arial,Helvetica,sans-serif;font-weight:700;text-align:center}.aboutPhoto--0{grid-row:span 2}.aboutPhoto--3{grid-column:span 2}.aboutPhoto__image{object-fit:cover;object-position:center}.aboutStory{display:grid;grid-template-columns:minmax(10rem,.3fr) minmax(0,.7fr);grid-gap:clamp(1.5rem,5vw,5rem);gap:clamp(1.5rem,5vw,5rem);background:rgba(255,253,248,.65)}.aboutStory__body{max-width:62rem}.aboutStory__body p{color:var(--muted);font-size:1.12rem}.aboutArchive{background:linear-gradient(180deg,rgba(243,228,207,.48),rgba(255,253,248,.72)),var(--cream)}.aboutArchive__intro{max-width:58rem;margin-bottom:2rem}.aboutArchive__intro p{color:var(--muted);font-size:1.08rem}.archiveGrid{column-count:2;column-gap:1.2rem;max-width:64rem}.archiveCard{display:inline-block;width:100%;margin:0 0 1.2rem;border:1px solid rgba(47,92,69,.1);border-radius:var(--radius);padding:.55rem .55rem .65rem;background:rgba(255,253,248,.78);box-shadow:0 12px 28px rgba(58,37,22,.08);page-break-inside:avoid;break-inside:avoid}.archiveCard__image{display:block;width:100%;height:auto;border-radius:6px;filter:saturate(.86) sepia(.08) contrast(.96)}.archiveCard figcaption{margin-top:.5rem;color:var(--muted);font-family:Arial,Helvetica,sans-serif;font-size:.92rem;line-height:1.35}.screenArchive{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);grid-gap:clamp(1.5rem,5vw,4rem);gap:clamp(1.5rem,5vw,4rem);align-items:center;background:linear-gradient(135deg,rgba(47,92,69,.12),rgba(143,47,38,.08)),var(--soft-white)}.screenArchive__copy{max-width:38rem}.screenArchive__copy p{color:var(--muted);font-size:1.08rem}.screenArchive__links{display:flex;flex-wrap:wrap;gap:.45rem 1rem;margin-top:1.35rem;color:var(--green);font-family:Arial,Helvetica,sans-serif;font-size:.95rem;font-weight:700}.screenArchive__links a{color:var(--red);text-decoration:underline;text-underline-offset:.22rem}.screenArchive__frame{margin:0;border:1px solid rgba(47,92,69,.1);border-radius:var(--radius);padding:.65rem .65rem .75rem;background:rgba(255,253,248,.8);box-shadow:var(--shadow)}.screenArchive__frame video{display:block;width:100%;border-radius:6px;background:var(--linen)}.screenArchive__frame figcaption{margin-top:.5rem;color:var(--muted);font-family:Arial,Helvetica,sans-serif;font-size:.92rem;line-height:1.35}.screenArchive__extraLink{display:inline-flex;margin-top:.55rem;color:var(--terracotta);font-family:Arial,Helvetica,sans-serif;font-size:.92rem;font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22rem;transition:color .18s ease,transform .18s ease}.screenArchive__extraLink:hover{color:var(--red);transform:translateX(2px)}.screenArchive__extraLink:focus-visible{outline:3px solid rgba(210,155,55,.45);outline-offset:3px}.aboutDetails{display:grid;grid-template-columns:minmax(0,.45fr) minmax(0,.55fr);grid-gap:clamp(1.5rem,5vw,4rem);gap:clamp(1.5rem,5vw,4rem);align-items:start}.milestoneGrid{display:grid;grid-gap:.9rem;gap:.9rem}.milestone{border:1px solid rgba(47,92,69,.1);border-radius:var(--radius);padding:1rem 1.15rem;background:rgba(255,253,248,.8);box-shadow:0 10px 24px rgba(58,37,22,.06);color:var(--green);font-family:Arial,Helvetica,sans-serif;font-weight:800}.aboutBooking{background:var(--green);color:var(--soft-white)}.aboutBooking .eyebrow,.aboutBooking p{color:#f3dba4}.aboutBooking h2,.aboutBooking p{max-width:54rem}.aboutBooking .button{margin-top:1rem}.section__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:2rem}.section__heading h2{max-width:46rem;margin-bottom:0}.textLink{flex:0 0 auto;color:var(--red);font-family:Arial,Helvetica,sans-serif;font-weight:700;transition:transform .18s ease}.servicesGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:1rem;gap:1rem}.serviceCard{min-height:14rem;border:1px solid rgba(47,92,69,.08);border-radius:var(--radius);padding:clamp(1.2rem,2vw,1.55rem);background:rgba(255,253,248,.78);box-shadow:0 12px 30px rgba(58,37,22,.08)}.serviceCard p{margin-bottom:0;color:var(--muted)}.section--menu{background:linear-gradient(90deg,rgba(47,92,69,.12),rgba(210,155,55,.15)),var(--cream)}.menuPanel{max-width:66rem}.menuTags{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}.menuTags span{border:1px solid rgba(143,47,38,.14);border-radius:999px;padding:.64rem .95rem;background:rgba(255,253,248,.72);color:var(--green);font-family:Arial,Helvetica,sans-serif;font-size:.95rem;font-weight:700}.galleryGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:1rem;gap:1rem}.galleryItem{position:relative;aspect-ratio:1/1;margin:0;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow);background:var(--linen)}.galleryItem__button{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;padding:0;background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left}.galleryItem--featured{aspect-ratio:16/10;grid-column:span 2}.galleryItem__image{object-fit:cover;object-position:center;transition:transform .45s ease}.galleryItem:hover .galleryItem__image{transform:scale(1.045)}.galleryItem__label{position:absolute;right:.55rem;bottom:.55rem;left:.55rem;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.18rem .55rem;gap:.18rem .55rem;align-items:center;border:1px solid rgba(255,248,237,.18);border-radius:999px;padding:.42rem .56rem;background:rgba(91,38,28,.72);color:var(--cream);font-family:Arial,Helvetica,sans-serif;box-shadow:0 10px 24px rgba(46,33,25,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.galleryItem__title{font-size:.82rem;font-weight:800}.galleryItem__description,.galleryItem__title{overflow:hidden;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.galleryItem__description{display:none;grid-column:1/-1;color:rgba(255,248,237,.82);font-size:.75rem}.galleryItem__view{border-radius:999px;padding:.18rem .38rem;background:rgba(255,248,237,.15);color:rgba(255,248,237,.9);font-size:.7rem;font-weight:800;line-height:1}.galleryItem__button:focus-visible{outline:3px solid rgba(210,155,55,.68);outline-offset:3px}.galleryLightbox{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:clamp(1rem,4vw,2.5rem);background:rgba(46,33,25,.74);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.galleryLightbox__panel{position:relative;display:grid;width:min(58rem,100%);max-height:calc(100vh - 3rem);overflow:auto;border:1px solid rgba(255,248,237,.22);border-radius:var(--radius);padding:.7rem;background:var(--soft-white);box-shadow:0 26px 70px rgba(46,33,25,.34)}.galleryLightbox__image{display:block;width:100%;max-height:72vh;object-fit:contain;border-radius:6px;background:var(--linen)}.galleryLightbox__text{padding:.85rem .25rem .15rem}.galleryLightbox__text h3{margin-bottom:.35rem}.galleryLightbox__text p{margin-bottom:0;color:var(--muted)}.galleryLightbox__close{position:absolute;top:1rem;right:1rem;z-index:1;display:grid;width:2.4rem;height:2.4rem;place-items:center;border:1px solid rgba(255,248,237,.24);border-radius:999px;background:rgba(91,38,28,.78);color:var(--cream);cursor:pointer;font-family:Arial,Helvetica,sans-serif;font-size:1.35rem;line-height:1}@media (hover:hover) and (pointer:fine){.galleryItem__label{opacity:0;transform:translateY(.3rem);transition:opacity .18s ease,transform .18s ease}.galleryItem:focus-within .galleryItem__label,.galleryItem:hover .galleryItem__label{opacity:1;transform:translateY(0)}.galleryItem:focus-within .galleryItem__description,.galleryItem:hover .galleryItem__description{display:block}}.galleryEmpty{min-height:16rem;border:1px dashed rgba(143,47,38,.28);border-radius:var(--radius)}.galleryEmpty code{color:var(--red);font-family:Courier New,monospace}.faqList{display:grid;grid-gap:.8rem;gap:.8rem;max-width:64rem}details{border:1px solid rgba(47,92,69,.1);border-radius:var(--radius);background:rgba(255,253,248,.76);box-shadow:0 10px 24px rgba(58,37,22,.06)}summary{cursor:pointer;padding:1.1rem 1.25rem;color:var(--green);font-family:Arial,Helvetica,sans-serif;font-weight:800}details p{margin:0;padding:0 1.25rem 1.2rem;color:var(--muted)}.contactSection{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);grid-gap:clamp(1.5rem,5vw,4rem);gap:clamp(1.5rem,5vw,4rem);background:var(--green);color:var(--soft-white)}.contactIntro p,.contactSection .eyebrow{color:#f3dba4}.bookingForm{border-radius:var(--radius);padding:clamp(1rem,3vw,2rem);background:rgba(255,253,248,.98);box-shadow:var(--shadow);color:var(--ink)}.formGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.fallbackContact,.formNotice{margin:0 0 1rem;border-radius:var(--radius);padding:.85rem 1rem;font-family:Arial,Helvetica,sans-serif;font-size:.94rem;line-height:1.45}.fallbackContact{background:rgba(47,92,69,.08);color:var(--green)}.fallbackContact strong{color:var(--red);font-weight:800}.formNotice--warning{background:rgba(210,155,55,.16);color:#6c4a12}.formNotice--success{margin-top:1rem;background:rgba(47,92,69,.12);color:var(--green);font-weight:800}.formNotice--error{margin-top:1rem;background:rgba(143,47,38,.1);color:var(--red);font-weight:800}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}label{display:grid;grid-gap:.38rem;gap:.38rem;color:var(--green);font-size:.92rem;font-weight:800}input,label,select,textarea{font-family:Arial,Helvetica,sans-serif}input,select,textarea{width:100%;border:1px solid rgba(47,92,69,.18);border-radius:var(--radius);padding:.78rem .9rem;background:#fffdf8;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(210,155,55,.18)}textarea{resize:vertical}.formGrid__wide{grid-column:1/-1}.formButton{width:100%;margin-top:1rem;border:0;cursor:pointer}.formButton:disabled{cursor:not-allowed;opacity:.64}.mobileScrollControls{display:none}@media (max-width:1100px){.servicesGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.servicesGrid .serviceCard:last-child{grid-column:1/-1}.galleryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.aboutDetails,.aboutStory,.contactSection,.hero,.screenArchive,.section--intro{grid-template-columns:1fr}.hero{min-height:auto}.hero__imageWrap{min-height:54vh}.section__heading{align-items:start;flex-direction:column}h1{font-size:5.8rem}h2{font-size:2.75rem}.section--intro .about h2{font-size:4.2rem;line-height:1.08}}@media (max-width:680px){.aboutHero,.hero,.section{padding-inline:1rem}h1{font-size:3.9rem}h2{font-size:2.25rem}.section--intro .about h2{margin-bottom:1.15rem;font-size:3rem;line-height:1.1}.hero__subtitle{font-size:1.35rem}.hero__imageWrap{min-height:24rem}.archiveGrid{column-count:1}.formGrid,.servicesGrid{grid-template-columns:1fr}.servicesGrid .serviceCard:last-child{grid-column:auto}.galleryGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.galleryItem--featured{grid-column:auto;aspect-ratio:1/1}.galleryItem:first-child{grid-column:1/-1;aspect-ratio:4/3}.button{width:100%}}@media (max-width:767px){.mobileScrollControls{position:fixed;right:.85rem;bottom:calc(1rem + env(safe-area-inset-bottom));z-index:20;display:grid;grid-gap:.35rem;gap:.35rem;border:1px solid rgba(255,248,237,.22);border-radius:999px;padding:.32rem;background:rgba(91,38,28,.82);box-shadow:0 12px 26px rgba(46,33,25,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}.mobileScrollControls--hidden{opacity:0;pointer-events:none;transform:translateY(.5rem);visibility:hidden}.mobileScrollControls__button{display:grid;width:2.35rem;height:2.35rem;place-items:center;border:0;border-radius:999px;background:rgba(255,248,237,.12);color:var(--cream);cursor:pointer;font-family:Arial,Helvetica,sans-serif;font-size:1.15rem;font-weight:800;line-height:1}.mobileScrollControls__button--muted{opacity:.35}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important}}