.fl{--fl-red:#8E1A1A;--fl-amber:#C78D1A;--fl-ink:#29190F;color:var(--fl-ink);font-family:DM Sans,system-ui,sans-serif;background:#fff}.fl h1,.fl h2{font-family:Playfair Display,Georgia,serif;font-weight:400;letter-spacing:-.02em;margin:0;line-height:1.08}.fl em{font-style:italic}.fl img{display:block;width:100%;height:100%;object-fit:cover}.fl-eyebrow{font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;color:var(--fl-ink);margin:0 0 24px}.fl-eyebrow-light{color:#fff}.fl-rule{display:block;width:48px;height:1px;background:var(--fl-red);margin:28px 0}.fl-rule-light{background:#fff;margin:0 auto 28px}.fl-btn{display:inline-block;padding:16px 32px;border:1px solid;border-radius:0;font:600 12px/1 DM Sans,system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;cursor:pointer;background:transparent;transition:background .2s,color .2s}.fl-btn-red{color:var(--fl-red)}.fl-btn-red:hover{background:var(--fl-red);color:#fff}.fl-btn-white{color:#fff}.fl-btn-white:hover{background:#fff;color:var(--fl-red)}.fl-btn-solid{background:var(--fl-red);border-color:var(--fl-red);color:#fff}.fl-btn-solid:hover{background:var(--fl-ink);border-color:var(--fl-ink);color:#fff}.fl-btn-solid:disabled{opacity:.6;cursor:default}.fl-btn-full{width:100%;margin-top:8px}.fl-center{text-align:center;margin-top:56px}.fl-hero{display:grid;grid-template-columns:33% 1fr;min-height:640px;background:#fff}.fl-hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:80px 0 80px clamp(24px,6vw,96px)}.fl-hero,.fl-hero-copy{position:relative}.fl-hero-copy{z-index:2}.fl-hero-head{position:relative;align-self:stretch}.fl-hero-head:before{content:"";position:absolute;z-index:0;left:100%;top:-10px;bottom:-14px;width:14vw;max-width:210px;background:#fff}.fl-hero-title{position:relative;z-index:1;white-space:nowrap;font-size:clamp(56px,7.2vw,120px);letter-spacing:-.04em;line-height:1.02}.fl-hero-title em{display:block;color:var(--fl-red)}.fl-hero-sub{font-size:clamp(24px,2.1vw,30px);line-height:1.25;letter-spacing:-.02em;margin:0 0 36px}.fl-hero-sub,.fl-hero-sub em{font-family:Playfair Display,Georgia,serif}.fl-hero-sub em{display:block}.fl-hero-photo{min-height:360px;margin-right:24px}.fl-band{background:var(--fl-red);color:#fff;text-align:center;padding:90px 24px;display:flex;flex-direction:column;align-items:center}.fl-band .fl-band-title{max-width:1200px;margin:0 auto 32px;text-wrap:balance}.fl-band .fl-band-title,.fl-band .fl-band-title em{display:block;width:100%;padding:0;text-indent:0;text-align:center;transform:none;float:none}.fl-band .fl-band-title em{margin:0}.fl-band .fl-band-text{width:100%}.fl-band .fl-eyebrow{text-align:center;letter-spacing:.3em;margin:0 auto 24px;font-weight:500}.fl-band-title{font-family:Playfair Display,Georgia,serif;font-size:clamp(36px,5vw,80px);width:100%;max-width:1200px;margin:0 auto 32px;letter-spacing:-.03em;line-height:1.1;color:#fff}.fl-band-title,.fl-band-title em{font-weight:600;display:block;padding:0;text-indent:0;text-align:center}.fl-band-title em{margin:0;font-style:italic}.fl-band-text{font-family:DM Sans,system-ui,sans-serif;font-weight:500;max-width:900px;margin:0 auto;text-align:center;font-size:clamp(17px,1.6vw,21px);letter-spacing:.01em;line-height:1.7;color:#fff}.fl-spaces{padding:96px clamp(24px,6vw,96px)}.fl-spaces-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.fl-spaces-dark{background:var(--kahu-surface-dark);color:var(--kahu-ink-on-dark)}.fl-spaces-dark .fl-space figcaption:before{background:var(--fl-amber)}.fl-spaces-dark .fl-space-cap{color:var(--fl-amber)}.fl-spaces-dark .fl-btn-cream{color:var(--kahu-ink-on-dark)}.fl-spaces-dark .fl-btn-cream:hover{background:var(--kahu-ink-on-dark);color:var(--kahu-surface-dark)}.fl-space{margin:0}.fl-space img{aspect-ratio:4/3;height:auto}.fl-space figcaption{padding-top:20px;text-align:center}.fl-space figcaption:before{content:"";display:block;width:32px;height:1px;background:var(--fl-red);margin:0 auto 18px}.fl-space-name{display:block;font-family:Playfair Display,Georgia,serif;font-size:28px;font-weight:600;letter-spacing:-.01em}.fl-space-cap{display:block;margin-top:10px;font-size:15px;letter-spacing:.16em;font-weight:700;color:var(--fl-red)}.fl-catering{display:grid;grid-template-columns:1fr 1fr;min-height:620px}.fl-catering-photo{min-height:360px}.fl-catering-panel{background:var(--fl-red);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:80px clamp(24px,6vw,96px) 40px}.fl-catering-body{margin:auto 0}.fl-catering-title{font-size:clamp(34px,4.4vw,56px);margin-bottom:24px}.fl-catering-title em{display:block}.fl-catering-text{font-size:17px;line-height:1.7;margin:0 0 36px;max-width:420px}.fl-catering-foot{margin:48px 0 0;font-size:11px;letter-spacing:.2em;font-weight:600}.fl-enquiry{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);padding:100px clamp(24px,6vw,96px);align-items:start}.fl .fl-enquiry-title{font-size:clamp(56px,7.5vw,120px);font-weight:500;letter-spacing:-.02em;line-height:1.03;color:#111;margin-bottom:0}.fl .fl-enquiry-title em{display:block;color:#8E1A1A}.fl-enquiry-copy .fl-eyebrow{font-size:20px;letter-spacing:.3em;margin-bottom:0}.fl-enquiry-copy .fl-eyebrow:after{content:"";display:block;width:56px;height:1px;background:#8E1A1A;margin:20px 0 32px}.fl-enquiry-text{font-size:26px;line-height:1.3;letter-spacing:.01em;color:#111;max-width:640px;margin:60px 0 0}.fl-form{display:flex;flex-direction:column}.fl-label{font-size:18px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:#8a8a8a;text-align:center;margin:26px 0 10px}.fl-form .fl-row .fl-label,.fl-form>.fl-label:first-child{margin-top:0}.fl-input{width:100%;box-sizing:border-box;height:76px;border:1px solid var(--fl-ink);border-radius:0;background:#fff;padding:0 20px;text-align:center;font:400 20px DM Sans,system-ui,sans-serif;color:var(--fl-ink)}textarea.fl-input{height:200px;padding:20px;text-align:left;resize:vertical}.fl-form .fl-btn-full{height:80px;margin-top:26px;font-size:22px;font-weight:700;letter-spacing:.2em;padding:0 24px}.fl-input:focus-visible{outline:2px solid var(--fl-amber);outline-offset:1px}.fl-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.fl-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.fl-error{color:var(--fl-red);margin:16px 0 0}.fl-form{background:#FBF6EE;padding:clamp(24px,3vw,44px)}.fl-form-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:28px}.fl-form-title{font-family:Playfair Display,Georgia,serif;font-size:clamp(28px,3vw,40px);font-weight:500;color:var(--fl-red);margin:0}.fl-form-foot,.fl-form-note{font-size:14px;color:var(--fl-ink);opacity:.75;margin:0}.fl-form-foot{margin-top:14px;text-align:center}.fl-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;align-items:start}.fl-col{display:flex;flex-direction:column}.fl-form .fl-label{font-size:15px;letter-spacing:0;text-transform:none;font-weight:700;color:#4A2C17;text-align:left;margin:22px 0 8px}.fl-form .fl-grid .fl-col>.fl-label:first-child{margin-top:0}.fl-form .fl-input{height:56px;border:1px solid #d9c9b2;background:#F6EBDA;padding:0 16px;text-align:left;font-size:17px}.fl-form textarea.fl-input{height:140px;padding:14px 16px}.fl-form .fl-input:focus-visible{outline:none;border-color:var(--fl-red);box-shadow:0 0 0 3px #FBF6EE,0 0 0 4px var(--fl-red)}.fl-form .fl-label-msg{margin-top:28px}.fl-stepper{display:grid;grid-template-columns:56px 1fr 56px;gap:0}.fl-step{border:1px solid #d9c9b2;border-radius:0;background:#F6EBDA;color:var(--fl-red);font:500 24px/1 DM Sans,system-ui,sans-serif;cursor:pointer}.fl-step:hover{background:var(--fl-red);color:#fff}.fl-step:focus-visible{outline:none;box-shadow:0 0 0 3px #FBF6EE,0 0 0 4px var(--fl-red)}.fl-form .fl-step-input{text-align:center;border-left:0;border-right:0;-moz-appearance:textfield}.fl-step-input::-webkit-inner-spin-button,.fl-step-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.fl-help{font-size:13px;color:var(--fl-ink);opacity:.75;margin:8px 0 0}.fl-form .fl-stack+.fl-stack{margin-top:10px}.fl-summary{color:var(--fl-red);font-weight:600;font-size:16px;margin:24px 0 0}.fl-form .fl-btn-full{width:auto;align-self:flex-start;height:56px;margin-top:16px;font-size:14px;padding:0 36px}.fl-sent{background:#FBF6EE;border:1px solid #8e1a1a;border-top:4px solid #c78d1a;padding:72px;text-align:center;animation:fl-rise .5s ease-out both}.fl-sent-mark{position:relative;width:72px;height:72px;margin:0 auto 28px}.fl-sent-circle{display:block;animation:fl-pop .6s cubic-bezier(.2,1.4,.4,1) .15s both}.fl-sent-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:#C78D1A;animation:fl-pop .6s ease-out .4s both}.fl-sent-dot-1{top:-8px;left:-24px}.fl-sent-dot-2{top:6px;right:-30px;width:7px;height:7px}.fl-sent-dot-3{bottom:-6px;left:-34px;width:7px;height:7px}.fl-sent-dot-4{bottom:0;right:-20px}.fl-sent-eyebrow{font-size:16px;letter-spacing:.3em;color:#C78D1A;font-weight:700;margin:0 0 18px}.fl-sent-title{font-family:Playfair Display,Georgia,serif;font-size:clamp(40px,5vw,72px);font-weight:500;line-height:1.05;letter-spacing:-.02em;color:#111;margin:0 0 28px}.fl-sent-title em{display:block;font-style:italic;color:#8E1A1A}.fl-sent-text{font-size:24px;line-height:1.4;color:#111;max-width:620px;margin:0 auto 32px}.fl-sent-text a{color:#8E1A1A;font-weight:700;white-space:nowrap}.fl-sent-steps{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 32px;padding:0;margin:0 0 36px;font-size:18px}.fl-sent-steps li{display:flex;align-items:center;gap:10px}.fl-sent-steps li:before{content:"";width:10px;height:10px;border-radius:50%;background:#C78D1A;flex:none}.fl-sent-close{font-family:Playfair Display,Georgia,serif;font-style:italic;font-size:28px;margin:0 0 32px}.fl-sent-btn{display:inline-block;border:1px solid #8e1a1a;color:#8E1A1A;text-transform:uppercase;letter-spacing:.2em;font-size:18px;padding:18px 36px;text-decoration:none}.fl-sent-btn:hover{background:#8E1A1A;color:#fff}@keyframes fl-rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes fl-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.fl-sent,.fl-sent-circle,.fl-sent-dot{animation:none}}@media (max-width:860px){.fl-catering,.fl-enquiry,.fl-hero{grid-template-columns:1fr}.fl-hero{min-height:0}.fl-hero-copy{padding:56px 24px}.fl-hero-head:before{display:none}.fl-hero-photo{order:2;aspect-ratio:4/3;margin-right:0}.fl-band{padding:72px 24px}.fl-band-title{font-size:clamp(29px,8vw,40px)}.fl-spaces{padding:64px 24px}.fl-spaces-grid{grid-template-columns:1fr}.fl-space-name{font-size:22px}.fl-hero-title{margin-right:0;white-space:normal;font-size:clamp(40px,11vw,56px)}.fl-catering-panel{padding:56px 24px 32px}.fl-enquiry{padding:72px 24px}.fl .fl-enquiry-title{font-size:clamp(44px,12vw,52px)}.fl-enquiry-copy .fl-eyebrow{font-size:16px}.fl-enquiry-text{font-size:22px;margin-top:32px}.fl-sent{padding:36px 24px}.fl-sent-title{font-size:40px}.fl-sent-text{font-size:19px}.fl-sent-steps{flex-direction:column;align-items:center}.fl-input{height:60px;font-size:18px}textarea.fl-input{height:180px}.fl-form .fl-btn-full{height:56px;font-size:14px}.fl-label{font-size:15px}.fl-grid,.fl-row{grid-template-columns:1fr}.fl-form .fl-grid .fl-col+.fl-col>.fl-label:first-child{margin-top:22px}}