:root{--ivory:#f8f5ef;--paper:#fffdf9;--champagne:#eae1d2;--ink:#27231f;--bronze:#775735;--muted:#615a51;--line:#d6cbbb}*{box-sizing:border-box}body{background:var(--ivory);color:var(--ink);margin:0;font:16px/1.65 Arial,sans-serif}a{color:inherit}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,main:focus-visible{outline:3px solid var(--bronze);outline-offset:5px}.skip{z-index:10;background:#fff;padding:12px;position:absolute;top:-100px}.skip:focus{top:0}.preview{background:var(--ink);color:var(--ivory);text-align:center;letter-spacing:.05em;padding:8px 18px;font-size:12px}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:28px 6%;display:flex}.brand{letter-spacing:.12em;font:20px/1.2 Georgia,serif;text-decoration:none}.brand span{font-size:30px;display:block}nav{flex-wrap:wrap;gap:30px;display:flex}nav a{min-height:44px;padding:10px 0;font-size:14px;text-decoration:none}nav a[aria-current=page]{border-bottom:2px solid var(--bronze)}main{max-width:1440px;margin:auto;padding:0 6%}.hero{grid-template-columns:1.15fr 1fr;align-items:center;gap:8%;min-height:690px;padding:65px 0;display:grid}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--bronze);font-size:12px;font-weight:700}h1,h2{font-family:Georgia,serif;font-weight:400;line-height:1.12}h1{margin:25px 0;font-size:clamp(40px,4.7vw,68px)}h1 em{color:var(--bronze);font-weight:400}h2{font-size:34px}.intro{max-width:470px;color:var(--muted);margin:28px 0 35px}.button{background:var(--ink);min-height:48px;color:var(--ivory);justify-content:space-between;align-items:center;gap:24px;padding:14px 24px;text-decoration:none;display:inline-flex}.fine{color:var(--muted);margin-top:25px;font-size:13px}.architecture{text-align:center;background:linear-gradient(130deg,#e0d1bb,#b89b78);place-content:center;min-height:480px;display:grid;position:relative;overflow:hidden}.arch{background:linear-gradient(100deg,#dbcbb4,#c4ac8c);border:1px solid #6d5437;border-radius:200px 200px 0 0;position:absolute;inset:45px 55px 0;box-shadow:18px 0 35px #725a3b33}.architecture span{letter-spacing:.12em;color:#493b2a;font:64px Georgia;position:relative}.architecture p{letter-spacing:.2em;color:#493b2a;font-size:10px;position:relative}.promise{border-top:1px solid var(--line);grid-template-columns:1fr 2fr;gap:0 50px;padding:60px 0 85px;display:grid}.promise .eyebrow{grid-row:span 2}.promise h2{margin-top:0}.promise>p:last-child{max-width:480px;color:var(--muted)}.page-heading{padding:65px 0 30px}.cards{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.card{background:var(--paper);border:1px solid var(--line);padding:32px}.number{color:var(--bronze);font:40px Georgia}.card h2{font-size:30px}.notice{background:var(--champagne);margin:35px 0;padding:20px}.access{max-width:700px;min-height:580px;padding:70px 0}footer{background:var(--ink);color:var(--ivory);padding:45px 6%}footer small{color:#d8cebe}@media (width<=700px){.site-header{flex-direction:column;align-items:flex-start;gap:16px;padding:22px 6%}nav{gap:20px}.hero{grid-template-columns:1fr;gap:30px;min-height:0;padding:35px 0}.architecture{min-height:300px}.arch{inset:30px 45px 0}.promise{grid-template-columns:1fr;padding:35px 0}.cards{grid-template-columns:1fr}.card{padding:25px}.page-heading{padding:35px 0 20px}h1{font-size:40px}.access{padding-top:35px}.brand span{font-size:26px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.auth{min-height:65vh;padding-bottom:60px}.auth form{gap:20px;max-width:640px;display:grid}.auth label{gap:7px;display:grid}.auth input,.auth select{border:1px solid var(--bronze);background:var(--paper);width:100%;min-height:46px;font:inherit;color:var(--ink);padding:10px}.auth button{cursor:pointer;min-height:44px;font:inherit;border:1px solid var(--bronze);background:var(--paper);color:var(--ink);padding:10px 16px}.auth button.button{background:var(--ink);color:var(--ivory)}.auth button:disabled{opacity:.65;cursor:wait}.auth-bar{flex-wrap:wrap;align-items:center;gap:15px;margin-bottom:30px;display:flex}.auth fieldset{border:1px solid var(--line);padding:16px}.auth .check{align-items:center;gap:10px;padding:6px 0;display:flex}.check input{flex-shrink:0;width:20px;min-height:20px}.staff-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px;margin-top:25px;display:grid}.staff-list p,.secret{overflow-wrap:anywhere}.secret{max-width:100%;font-family:monospace;display:block}.audit-list{overflow-wrap:anywhere;padding-left:22px}.auth .card button{margin-top:15px;display:block}.auth input:focus-visible,.auth select:focus-visible{outline:3px solid var(--bronze);outline-offset:3px}.auth h1:focus{outline:none}@media (width<=700px){.auth .page-heading{padding-top:30px}.auth-bar{align-items:stretch}.auth h1{font-size:36px}}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;padding-bottom:48px;display:grid}.catalog-card{border:1px solid var(--line);background:var(--paper);overflow:hidden}.catalog-card-body{padding:30px}.catalog-card h2 a{color:var(--ink);text-decoration:none}.catalog-visual{background:var(--champagne);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:260px;padding:28px;display:flex;position:relative;overflow:hidden}.catalog-visual:before{content:"";border:1px solid #9d835c;border-radius:160px 160px 0 0;position:absolute;inset:30px 22%}.catalog-visual>span{color:var(--bronze);font:76px Georgia;position:relative}.catalog-visual p,.catalog-visual small{background:var(--champagne);margin:4px 0;padding:3px 8px;position:relative}.catalog-visual.saphir{background:#e1e4e7}.catalog-visual.tropical{background:#e4e8dc}.catalog-visual.sepia{background:#e8dcd2}.catalog-visual.large{min-height:420px}.catalog-visual small{font-size:12px}.price-block>div{border-bottom:1px solid var(--line);padding:8px 0 16px}.price-block h3{margin:12px 0;font-size:20px}.price-block p{margin:8px 0}.price-block strong{font-size:23px}.price-block span{color:var(--muted);font-size:14px}.included{color:#39503d;font-weight:700}.deposit{border-top:1px solid var(--line);padding-top:16px;font-size:15px}.deposit strong{font-size:18px}.text-link{color:var(--bronze);text-underline-offset:5px;margin-top:18px;display:inline-block}.hall-highlight{background:var(--champagne);grid-template-columns:1fr 1fr;gap:60px;margin:40px 0 80px;padding:48px;display:grid}.hall-highlight h2{font-size:42px}.detail-layout{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px;padding-bottom:70px;display:grid}.detail-prices{background:var(--paper);border:1px solid var(--line);align-self:start;padding:28px}.detail-copy{padding:30px 0}.detail-copy h2{font-size:30px}.estimate{gap:16px;margin-top:35px;display:grid}.estimate h2{font-size:28px}.estimate label{gap:8px;display:grid}.estimate input,.estimate select,.catalog-admin textarea{width:100%;font:inherit;border:1px solid var(--bronze);background:var(--paper);color:var(--ink);box-sizing:border-box;min-height:44px;padding:12px}.quote{border-top:1px solid var(--bronze);margin-top:26px;padding-top:20px}.quote h2{font-size:25px}.catalog-admin form{border:1px solid var(--line);background:var(--paper);margin:30px 0;padding:22px}.catalog-admin h3{font-size:28px}.catalog-admin h4{margin:0;font:24px Georgia}.catalog-admin textarea{resize:vertical}.gallery-slots{grid-template-columns:1fr 1fr;gap:12px;display:grid}.media-slot{background:var(--champagne);padding:24px}@media (width<=760px){.catalog-grid,.detail-layout,.hall-highlight{grid-template-columns:1fr;gap:24px}.hall-highlight{margin:25px 0;padding:24px}.hall-highlight h2{font-size:32px}.catalog-card-body,.detail-prices{padding:20px}.catalog-visual.large{min-height:280px}.catalog-admin form{padding:14px}.detail-layout{padding-bottom:35px}}.calendar-toolbar{flex-wrap:wrap;align-items:end;gap:16px;margin:24px 0;display:flex}.calendar-toolbar label{flex:1;min-width:160px}.calendar-form{border:1px solid var(--line);background:var(--paper);max-width:650px;margin:24px 0;padding:24px}.calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:24px 0;display:grid}.calendar-days.single{grid-template-columns:1fr}.calendar-day{background:var(--paper);border:1px solid var(--line);overflow-wrap:anywhere;min-width:0;padding:12px}.calendar-day h3{margin:0 0 14px;font:18px Georgia}.calendar-day p{font-size:13px}.state{border-left:3px solid var(--bronze);background:var(--champagne);padding:8px}.state.cleaning{background:#edf0e6;border-color:#41553d}.state.maintenance,.state.unavailable{background:#ede2df;border-color:#803e31}.calendar-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.calendar-list small{overflow-wrap:anywhere}@media (width<=950px){.calendar-days{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=600px){.calendar-days,.calendar-list{grid-template-columns:1fr}.calendar-form{padding:14px}.calendar-toolbar label{width:100%}}.archive-gallery{grid-template-columns:1fr 1fr;gap:24px;margin:36px 0;display:grid}.archive-gallery figure{background:var(--paper);border:1px solid var(--line);margin:0;padding:16px}.archive-gallery img{width:100%;height:auto;display:block}.archive-gallery figcaption{margin-top:16px}@media (width<=700px){.archive-gallery{grid-template-columns:1fr}}.solde-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem;display:grid}.solde-demo fieldset{margin:1rem 0;padding:1rem}.solde-demo label{margin:.75rem 0;display:block}.solde-demo input:not([type=checkbox]),.solde-demo select{max-width:100%}.mail-preview{white-space:pre-wrap;overflow-wrap:anywhere}.solde-detail{margin-top:2rem}.solde-demo .card{overflow-wrap:anywhere}.mfa-qr{background:#fff;width:280px;max-width:100%;height:auto;display:block}.booking-page{max-width:980px;margin:auto;padding:50px 6%}.booking-page form{gap:18px;max-width:600px;display:grid}.booking-page label{gap:8px;display:grid}.booking-page select,.booking-page input:not([type=checkbox]){font:inherit;background:#fffdf9;border:1px solid #a3937a;width:100%;padding:14px}.booking-page .price-block{margin-top:30px}.booking-page input[type=checkbox]{width:22px;height:22px}.booking-page button{margin:10px 0}.booking-page [role=alert]{border-left:3px solid #8b352c;padding:15px}
