:root{--paper: #fbfaf6;--mist: #f4f1e9;--mount: #ffffff;--well: #f2eee5;--line: #e0d9cb;--terra: #7a6030;--stone: #625b4d;--slate: #45413a;--ink: #201e1a;--faint: #8b8375;--serif: "Fraunces", Georgia, serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--ease: cubic-bezier(.16, 1, .3, 1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;background:#fbfaf6;color-scheme:light}html,body{overflow-x:clip}body{position:relative;background:var(--paper);color:var(--slate);font-family:var(--serif);font-optical-sizing:auto;font-size:17px;font-weight:400;line-height:1.68;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}@media (min-width: 768px){body{font-size:18px}}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.035;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px 180px}body>*{position:relative;z-index:1}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}::selection{background:var(--ink);color:var(--paper)}.masthead{font-family:var(--serif);font-optical-sizing:auto;font-size:clamp(31px,4.6vw,58px);font-weight:600;color:var(--ink);line-height:1.2;letter-spacing:-.012em;text-wrap:balance}.headline{font-family:var(--serif);font-optical-sizing:auto;font-size:clamp(24px,3.1vw,38px);font-weight:600;color:var(--ink);line-height:1.28;letter-spacing:-.008em;text-wrap:balance}.section-header{font-family:var(--serif);font-size:clamp(19px,2.1vw,23px);font-weight:600;color:var(--ink);line-height:1.35}.caption{font-family:var(--serif);font-style:italic;font-size:16px;font-weight:450;color:var(--slate);line-height:1.62}@media (min-width: 768px){.caption{font-size:17px}}.micro-label,.eyebrow,.mono{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--stone)}@media (min-width: 768px){.micro-label,.eyebrow,.mono{font-size:11.5px}}.section-number{font-family:var(--mono);font-size:10px;font-weight:400;letter-spacing:.2em;color:var(--terra)}.btn{display:inline-block;font-family:var(--mono);font-size:10px;font-weight:400;letter-spacing:.22em;text-transform:uppercase;padding:15px 28px;border:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);cursor:pointer;transition:background .5s var(--ease),color .5s var(--ease),border-color .5s var(--ease);text-align:center}.btn:hover,.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:var(--terra);border-color:var(--terra);color:var(--paper)}.btn:disabled{opacity:.4;cursor:default}.btn-terra{border-color:var(--terra);color:var(--terra)}.btn-terra:hover{background:var(--terra);color:var(--paper)}.container{width:100%;max-width:1180px;margin:0 auto;padding:0 22px}@media (min-width: 768px){.container{padding:0 48px}}.section{padding:92px 0}@media (min-width: 768px){.section{padding:132px 0}}.hairline{border:none;border-top:1px solid var(--line);transform-origin:left center}input,textarea,select{font-family:var(--serif);font-size:16px;font-weight:400;color:var(--ink);background:var(--mount);border:1px solid var(--line);border-radius:0;padding:15px 16px;width:100%;transition:border-color .3s var(--ease)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--ink)}label{display:block;margin-bottom:8px}::placeholder{color:var(--stone);opacity:.85;font-style:italic}.booking-page{max-width:920px;margin:0 auto;padding:70px 22px 120px}.booking-hero{max-width:720px;margin-bottom:44px}.booking-hero .eyebrow{margin-bottom:14px}.booking-hero p:last-child{margin-top:18px}.booking-panel{border:1px solid var(--line);background:var(--mist);padding:22px}.package-choice{display:grid;gap:18px;margin-bottom:42px}.booking-date-choice{display:grid;gap:10px;max-width:520px;border-left:2px solid var(--terra);padding:4px 0 4px 18px}.package-choice-grid{display:grid;gap:14px}.package-choice-card{width:100%;border:1px solid var(--line);background:var(--mount);color:var(--slate);padding:22px;text-align:left;display:grid;grid-template-columns:1fr auto;align-content:start;gap:10px 20px;font-family:var(--serif);transition:border-color .3s var(--ease),background .3s var(--ease)}.package-choice-card.selected{border:2px solid var(--terra);background:var(--mist);padding:21px}.package-choice-card strong,.package-choice-card small{display:block}.package-choice-card strong{color:var(--ink);font-size:21px}.package-choice-card small{margin-top:6px;font-size:14px;line-height:1.45}.package-choice-card>.btn{grid-column:1 / -1;justify-self:stretch;margin-top:6px}.package-choice-description,.package-choice-card ul{grid-column:1 / -1}.package-choice-description{font-size:15px;line-height:1.55}.package-choice-card ul{list-style:none;display:grid;gap:7px;margin:2px 0 4px}.package-choice-card li{position:relative;padding-left:18px;font-size:14px;line-height:1.45}.package-choice-card li:before{content:"—";position:absolute;left:0;color:var(--terra)}.package-choice-price{color:var(--ink);font-size:24px;font-weight:600}.package-choice-price s{color:var(--stone);font-size:.65em;margin-right:5px}.package-choice-price small{color:var(--terra);font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase}.upgrade-interest{margin-top:22px;border:1px solid var(--line);padding:16px}.booking-preview-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#191815b8;padding:24px;overflow:auto;display:grid;place-items:start center}.booking-preview{width:min(1100px,100%);margin:30px auto;background:var(--paper);padding:clamp(24px,5vw,64px);display:grid;gap:28px;box-shadow:0 24px 80px #00000047}.booking-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-bottom:58px}.booking-summary span,.booking-summary strong{display:block}.booking-summary strong{color:var(--ink);margin-top:5px}.booking-form{display:grid;gap:72px}.booking-section>.section-number{margin-bottom:8px}.booking-section>.hairline{margin-top:18px}.booking-section-body{display:grid;gap:22px;margin-top:26px}.booking-two-col{display:grid;grid-template-columns:1fr;gap:24px}.booking-client{display:grid;gap:17px;border:1px solid var(--line);padding:20px;min-width:0}.booking-client legend{padding:0 10px}.booking-check{display:flex;align-items:flex-start;gap:10px;margin:0;font-size:16px}.booking-check input{width:18px;height:18px;flex:0 0 auto;margin-top:4px;accent-color:var(--ink)}.booking-permissions{display:grid;gap:12px;border-left:1px solid var(--line);padding-left:20px}.supplier-grid{display:grid;border-top:1px solid var(--line)}.supplier-row{display:grid;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}.contract-scroll{max-height:520px;overflow:auto;border:1px solid var(--line);background:var(--mount);padding:24px}.contract-scroll section+section{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.contract-scroll h3{color:var(--ink);margin-bottom:6px}.contract-scroll p{font-size:15px;line-height:1.65}.payment-table{border-top:1px solid var(--line)}.payment-table>div{display:grid;grid-template-columns:1fr auto;gap:8px 20px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.payment-table span strong,.payment-table small{display:block}.payment-table small,.payment-table em{color:var(--stone);font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-style:normal}.payment-table em{grid-column:1 / -1}.bank-card{border:1px solid var(--ink);padding:22px;display:grid;gap:12px;max-width:520px}.bank-card p{display:flex;justify-content:space-between;gap:20px}.bank-card span{color:var(--stone)}.bank-card strong{color:var(--ink);text-align:right}.receipt-statement{border:1px solid var(--line);background:var(--mist);padding:22px;display:grid;gap:12px}.receipt-statement h3{color:var(--ink)}.receipt-statement p:not(.eyebrow){display:grid;gap:2px}.receipt-statement p span,.receipt-statement small{color:var(--stone)}.receipt-statement .btn{justify-self:start}.booking-error{color:#8b2f24}@media (min-width: 700px){.booking-page{padding-left:48px;padding-right:48px}.booking-summary{grid-template-columns:repeat(4,1fr)}.booking-two-col,.package-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.supplier-row{grid-template-columns:minmax(0,1fr) 240px;align-items:end}.payment-table>div{grid-template-columns:1fr auto 110px}.payment-table em{grid-column:auto;text-align:right}}@media print{header,footer,.booking-page .btn{display:none!important}.booking-page,.booking-form{padding:0;margin:0;max-width:none;gap:28px}.booking-hero{display:block!important}.booking-section{break-inside:avoid}.contract-scroll{max-height:none;overflow:visible}}.grain:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px 200px}.marquee{overflow:hidden;white-space:nowrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.marquee-track{display:inline-block;animation:marquee 56s linear infinite}.marquee-item{display:inline-block;font-family:var(--serif);font-style:italic;font-size:16px;color:var(--stone);padding:0 30px}.marquee-dot{color:var(--terra)}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.photo-frame{position:relative;overflow:hidden;background:var(--well)}.pill{display:inline-block;font-family:var(--mono);font-size:9.5px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;padding:5px 10px;border:1px solid var(--line);color:var(--stone)}.pill-published{border-color:var(--terra);color:var(--terra)}.kinetic{transition:letter-spacing .7s var(--ease)}.kinetic:hover{letter-spacing:.34em}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.marquee-track{animation:none}.kinetic,.kinetic:hover{transition:none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
