@font-face{font-family:"Italiana";src:url("../fonts/italiana.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Jost";src:url("../fonts/jost.woff2") format("woff2");font-weight:300 600;font-style:normal;font-display:swap}
@font-face{font-family:"Jost";src:url("../fonts/jost-italic.woff2") format("woff2");font-weight:300 500;font-style:italic;font-display:swap}

:root{
  --wall:#F7F6F1;--wall-2:#ECEEE3;--paper:#FBFAF6;
  --ink:#42392F;--ink-soft:#6E655B;
  --awning:#37312C;--awning-2:#2E2925;
  --gold:#D6BF5B;--gold-dk:#B79F3E;
  --gold-ink:#A6882A;--cream:#FBF8EE;
  --stripes:repeating-linear-gradient(90deg,rgba(255,255,255,.022) 0 2px,transparent 2px 7px);
  --timber:#A2703F;--timber-dk:#6D4524;--brass:#C7A55A;
  --kraft:#D9C3A0;
  --display:"Italiana","Didot","Bodoni 72",Georgia,serif;
  --body:"Jost","Futura","Avenir Next",system-ui,sans-serif;
  --gutter:clamp(1rem,4vw,3.5rem);
  --pad:clamp(4.5rem,8vw,7.5rem);
  --ease:cubic-bezier(.22,1,.36,1);
  --header-h:84px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:var(--wall);color:var(--ink);font-family:var(--body);font-weight:350;font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:clip}
main{overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{margin:0;font-weight:400}
p{margin:0}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:1rem;top:-4rem;z-index:10001;background:var(--awning);color:#fff;padding:.6rem 1rem;border-radius:99px}
.skip:focus{top:1rem}
:focus-visible{outline:2px solid var(--gold-ink);outline-offset:3px}
.wrap{width:100%;max-width:1360px;margin:0 auto;padding:0 var(--gutter)}
.section{padding:var(--pad) 0}
.lenis.lenis-smooth{scroll-behavior:auto!important}

.h2{font-family:var(--display);font-size:clamp(2.9rem,5.6vw,5.6rem);line-height:1.02;letter-spacing:-.005em;color:var(--ink);text-wrap:balance}
.h3{font-family:var(--display);font-size:clamp(2.1rem,3.2vw,3.2rem);line-height:1.06}
.h2 em,.h3 em,.hero__title em{font-style:normal;color:var(--gold-ink)}
/* Italiana only ships one weight: a hairline stroke in the text colour gives the headings more body */
.h2,.h3,.hero__title,.season__text h3,.facts dt,.styles__list dt,.styles__title,.bring h3,.qa__q,.card figcaption,.drawer__label h3,.banksia__quote p,.footer__h,.nav a,.menu__nav a,.door figcaption,.awning__list li{-webkit-text-stroke:.024em currentColor;paint-order:stroke fill}
.lead{font-size:clamp(1.15rem,1.5vw,1.35rem);line-height:1.55;color:var(--ink)}
.stars{color:var(--gold-dk);letter-spacing:.12em}

/* Buttons: pill, colour-swap hover only, never move */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;min-height:48px;padding:.85rem 1.5rem .85rem 2.4rem;border:0;border-radius:4px;clip-path:polygon(16px 0,100% 0,100% 100%,16px 100%,0 50%);font-family:var(--body);font-weight:500;font-size:.84rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:background-color .35s var(--ease),color .35s var(--ease)}
.btn::before{content:"";position:absolute;left:16px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--awning);box-shadow:0 0 0 1.5px rgba(255,255,255,.45);transition:background-color .35s var(--ease)}
.btn--gold{background:var(--gold);color:var(--awning-2)}
.btn--gold:hover{background:var(--cream);color:var(--awning-2)}
.btn--ghost-light{background:rgba(247,246,241,.14);color:var(--wall)}
.btn--ghost-light:hover{background:var(--gold);color:var(--awning-2)}
.btn--dark{background:var(--awning);color:var(--wall)}
.btn--dark::before{background:var(--wall)}
.btn--dark:hover{background:var(--gold);color:var(--awning-2)}
.btn--dark:hover::before{background:var(--awning)}

/* ---------- Header ---------- */
.site-header{position:absolute;top:0;left:0;right:0;z-index:9999;height:var(--header-h);color:var(--wall);transform:translate3d(0,0,0);will-change:transform;transition:none}
.site-header__inner{position:relative;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter)}
.brand{display:block;line-height:0;color:inherit}
.brand__logo{width:176px;height:auto;aspect-ratio:662/157;fill:currentColor;display:block}
.nav{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;gap:2.4rem}
.nav a{font-family:var(--display);font-size:1.2rem;letter-spacing:.04em;text-decoration:none;color:inherit;padding:.4rem 0;transition:color .3s var(--ease)}
.nav a:hover{color:var(--gold)}
.btn--header{background:rgba(247,246,241,.14);color:inherit;min-height:44px;padding:.6rem 1.2rem .6rem 2.2rem}
.btn--header:hover{background:var(--gold);color:var(--awning-2)}
.burger{display:none}
.hicons{display:none}
/* Desktop header: split nav, logo centred on the viewport */
@media (min-width:1024px){
  .brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
  .brand__logo{width:200px}
  .nav{left:var(--gutter);right:calc(var(--gutter) + 200px);transform:translateY(-50%);gap:2rem}
  .nav a:nth-child(4){margin-left:auto}
  .site-header__inner{justify-content:flex-end}
}
/* Search overlay */
.search{position:fixed;inset:0;z-index:10000;background:var(--stripes),var(--awning);color:var(--wall);padding:calc(var(--header-h) - 8px) var(--gutter) 2rem;opacity:0;visibility:hidden;transition:opacity .45s var(--ease),visibility 0s linear .45s;overflow-y:auto}
.search.is-open{opacity:1;visibility:visible;transition:opacity .45s var(--ease),visibility 0s}
.search__bar{display:flex;align-items:center;gap:1rem;border-bottom:1px solid rgba(214,191,91,.5)}
.search input{flex:1;min-width:0;background:none;border:0;color:var(--wall);font-family:var(--display);font-size:clamp(1.9rem,7vw,2.6rem);padding:.6rem 0;outline:none;-webkit-text-stroke:.02em currentColor}
.search input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.search input::placeholder{color:rgba(247,246,241,.55)}
.search__close{position:relative;flex:none;width:44px;height:44px;background:none;border:0;color:var(--wall);cursor:pointer}
.search__close span{position:absolute;left:10px;right:10px;top:50%;height:1.5px;background:currentColor}
.search__close span:first-child{transform:rotate(45deg)}.search__close span:last-child{transform:rotate(-45deg)}
.search__results{list-style:none;margin:1.2rem 0 0;padding:0;display:grid;gap:.1rem}
.search__results a{display:block;padding:.75rem 0;text-decoration:none;color:var(--wall);border-bottom:1px solid rgba(247,246,241,.1)}
.search__results a strong{display:block;font-family:var(--display);font-weight:400;font-size:1.5rem;color:var(--gold)}
.search__results a span{font-size:.9rem;color:rgba(247,246,241,.72)}
.search__empty{color:rgba(247,246,241,.72);padding:.8rem 0}
.site-header.is-fixed{position:fixed;transform:translate3d(0,calc(-100% - 24px),0);opacity:0;pointer-events:none}
.site-header.is-fixed.is-anim{transition:transform .6s var(--ease),opacity .6s var(--ease),background-color .4s var(--ease),color .4s var(--ease)}
.site-header.is-fixed.is-shown{transform:translate3d(0,0,0);opacity:1;pointer-events:auto}
.site-header.is-solid{background:var(--stripes),var(--awning);color:var(--wall)}
.site-header.is-solid .nav a:hover{color:var(--gold)}
.site-header.is-solid .btn--header{background:var(--gold);color:var(--awning-2)}
.site-header.is-solid .btn--header:hover{background:var(--cream);color:var(--awning-2)}

/* ---------- Mobile menu ---------- */
.menu{position:fixed;inset:0;z-index:9998;background:var(--stripes),var(--awning);color:var(--wall);display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--header-h) + 3vh) var(--gutter) calc(2rem + env(safe-area-inset-bottom));visibility:hidden}
.menu__nav{display:flex;flex-direction:column;align-items:center;gap:.2rem;text-align:center}
.menu__nav a{font-family:var(--display);font-size:clamp(2.4rem,9vw,3.4rem);line-height:1.15;color:var(--wall);text-decoration:none;display:block;transition:color .3s var(--ease)}
.menu__nav a:hover{color:var(--gold)}
.menu__foot{display:grid;gap:.5rem;justify-items:center;text-align:center}
.menu__line{color:var(--gold);text-decoration:none;font-size:1.05rem}

/* ---------- Hero ---------- */
.hero{position:relative;display:flex;align-items:flex-end;min-height:100svh;min-height:max(100svh,640px);background:var(--awning);isolation:isolate;overflow:hidden}
.hero__panel{position:relative;z-index:4;width:100%;display:flex;align-items:flex-end;padding:calc(var(--header-h) + 2rem) var(--gutter) clamp(2.5rem,8vh,5rem);color:var(--wall)}
.hero__copy{max-width:38rem}
.hero__fade{position:absolute;inset:0;z-index:2;pointer-events:none;background:var(--stripes),var(--awning);-webkit-mask-image:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.55) 52%,rgba(0,0,0,.92) 74%,#000 90%);mask-image:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.55) 52%,rgba(0,0,0,.92) 74%,#000 90%)}
.hero__rating{font-size:.92rem;letter-spacing:.06em;color:rgba(247,246,241,.8);margin-bottom:1.6rem}
.hero__rating .stars{color:var(--gold);margin-right:.4rem}
.hero__title{font-family:var(--display);font-size:clamp(3.2rem,6.2vw,6.6rem);line-height:.98;letter-spacing:-.01em;color:var(--gold)}
.hero__title .line{display:block;overflow:hidden;padding-bottom:.06em}
.hero__title .line>span{display:block}
.hero__title em{color:var(--cream)}
.hero__sub{margin-top:1.5rem;max-width:27rem;font-size:clamp(1.05rem,1.25vw,1.2rem);line-height:1.6;color:rgba(247,246,241,.86)}
.hero__ctas{margin-top:2.2rem;display:flex;flex-wrap:wrap;gap:.75rem}
.hero__window{position:absolute;inset:0;z-index:1;overflow:hidden}
.hero__glass{position:absolute;inset:-8% 0;will-change:transform}
.hero__glass img{width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.hero__window::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,26,22,.55) 0%,rgba(30,26,22,0) 24%),linear-gradient(90deg,rgba(30,26,22,.45) 0%,rgba(30,26,22,0) 50%);pointer-events:none}
.hero__cut{position:absolute;z-index:3;pointer-events:none;will-change:transform;filter:drop-shadow(0 24px 30px rgba(20,16,12,.35))}
.hero__cut--bouquet{width:clamp(280px,30vw,520px);right:-2vw;bottom:-8vh}
.hero__cut--banksia{width:clamp(70px,6vw,110px);right:27vw;bottom:44vh;transform:rotate(-14deg)}

/* ---------- Awning marquee ---------- */
.awning{position:relative;z-index:2;background:var(--gold);color:var(--awning-2);overflow:hidden;padding:1.1rem 0}
.awning__track{display:flex;width:max-content;animation:marquee 38s linear infinite}
.awning__list{display:flex;margin:0;padding:0;list-style:none}
.awning__list li{font-family:var(--display);font-size:clamp(1.5rem,2.3vw,2.2rem);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;padding:0 1.6rem;display:flex;align-items:center}
.awning__list li::after{content:"";width:7px;height:7px;margin-left:3.2rem;transform:rotate(45deg);border:1px solid var(--awning-2);display:inline-block}
@keyframes marquee{to{transform:translate3d(-50%,0,0)}}

/* ---------- About / shop ---------- */
.shop__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}
.shop__text .h2{margin-bottom:1.6rem}
.shop__text p+p{margin-top:1.1rem}
.shop__text p:not(.lead){color:var(--ink-soft)}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin:2.6rem 0 0;padding-top:1.8rem;border-top:1px solid rgba(66,57,47,.18)}
.facts dt{font-family:var(--display);font-size:clamp(2rem,3vw,2.8rem);line-height:1;color:var(--gold-ink)}
.facts dd{margin:.45rem 0 0;font-size:.92rem;color:var(--ink-soft);line-height:1.4}
.shop__photos{position:relative;aspect-ratio:1/1.08;min-height:0}
.door{position:absolute;left:4%;top:0;width:56%;margin:0;padding:10px;background:var(--gold-dk);background:linear-gradient(135deg,#CDB461,#A98F38);border-radius:999px 999px 0 0;will-change:transform;box-shadow:0 30px 60px -30px rgba(55,49,44,.45)}
.door img{border-radius:999px 999px 0 0;aspect-ratio:3/4.3;object-fit:cover;width:100%}
.door figcaption{position:absolute;left:50%;bottom:-2.2rem;transform:translateX(-50%);font-family:var(--display);font-size:1.25rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);white-space:nowrap}
.print{position:absolute;margin:0;background:var(--paper);padding:12px 12px 40px;box-shadow:0 26px 50px -24px rgba(55,49,44,.45);will-change:transform}
.print img{aspect-ratio:3/4;object-fit:cover;width:100%}
.print--interior{right:0;top:22%;width:40%;rotate:3deg}
.tag-photo{position:absolute;left:60%;bottom:-8%;width:30%;margin:0;padding:8px;background:var(--kraft);rotate:-5deg;will-change:transform;box-shadow:0 22px 40px -20px rgba(55,49,44,.5)}
.tag-photo img{aspect-ratio:1/1;object-fit:cover;width:100%}
.tag-photo::before{content:"";position:absolute;top:-10px;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--wall);box-shadow:inset 0 0 0 2px rgba(66,57,47,.25)}

/* ---------- Drawers ---------- */
.drawers{background:var(--wall)}
.drawers__title{max-width:14ch;margin-bottom:clamp(2.5rem,5vw,4rem)}
.cabinet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.2rem,2.4vw,2rem)}
.drawer{display:flex;flex-direction:column;box-shadow:0 30px 50px -30px rgba(55,49,44,.55)}
/* Each photo is wrapped like one of their bouquets: torn kraft paper over a sheet of white tissue */
.drawer__photo{position:relative;z-index:1;margin:0 4px -10px;padding:10px 9px 12px;background:var(--paper);clip-path:polygon(0.00% 2.3px,4.55% 1.1px,9.09% 4.6px,13.64% 0.5px,18.18% 3.8px,22.73% 2.6px,27.27% 0.4px,31.82% 3.6px,36.36% 0.3px,40.91% 3.0px,45.45% 0.5px,50.00% 0.6px,54.55% 3.0px,59.09% 5.8px,63.64% 0.9px,68.18% 1.6px,72.73% 4.4px,77.27% 6.6px,81.82% 4.0px,86.36% 2.8px,90.91% 6.8px,95.45% 0.3px,calc(100% - 6.0px) 0.00%,calc(100% - 2.0px) 4.55%,calc(100% - 1.0px) 9.09%,calc(100% - 0.8px) 13.64%,calc(100% - 2.2px) 18.18%,calc(100% - 5.7px) 22.73%,calc(100% - 1.3px) 27.27%,calc(100% - 4.1px) 31.82%,calc(100% - 4.5px) 36.36%,calc(100% - 2.6px) 40.91%,calc(100% - 3.8px) 45.45%,calc(100% - 0.4px) 50.00%,calc(100% - 0.4px) 54.55%,calc(100% - 1.4px) 59.09%,calc(100% - 4.8px) 63.64%,calc(100% - 3.0px) 68.18%,calc(100% - 2.2px) 72.73%,calc(100% - 4.1px) 77.27%,calc(100% - 3.2px) 81.82%,calc(100% - 2.1px) 86.36%,calc(100% - 5.6px) 90.91%,calc(100% - 4.9px) 95.45%,100.00% calc(100% - 1.7px),95.45% calc(100% - 4.0px),90.91% calc(100% - 3.7px),86.36% calc(100% - 6.1px),81.82% calc(100% - 5.1px),77.27% calc(100% - 2.0px),72.73% calc(100% - 6.9px),68.18% calc(100% - 0.8px),63.64% calc(100% - 2.9px),59.09% calc(100% - 5.3px),54.55% calc(100% - 1.1px),50.00% calc(100% - 3.4px),45.45% calc(100% - 0.3px),40.91% calc(100% - 4.7px),36.36% calc(100% - 5.4px),31.82% calc(100% - 4.0px),27.27% calc(100% - 6.1px),22.73% calc(100% - 2.2px),18.18% calc(100% - 4.9px),13.64% calc(100% - 4.2px),9.09% calc(100% - 4.1px),4.55% calc(100% - 3.2px),5.9px 100.00%,6.6px 95.45%,3.3px 90.91%,4.6px 86.36%,0.4px 81.82%,4.9px 77.27%,4.5px 72.73%,7.0px 68.18%,5.8px 63.64%,2.0px 59.09%,2.7px 54.55%,4.7px 50.00%,0.2px 45.45%,3.2px 40.91%,1.2px 36.36%,0.8px 31.82%,0.4px 27.27%,5.4px 22.73%,0.9px 18.18%,1.7px 13.64%,2.7px 9.09%,6.1px 4.55%);rotate:-1.2deg}
.drawer__kraft{padding:13px;background:repeating-linear-gradient(115deg,rgba(255,255,255,.07) 0 2px,transparent 2px 6px),linear-gradient(160deg,#D2B48A,#B8955F);clip-path:polygon(0.00% 1.3px,4.55% 5.5px,9.09% 5.1px,13.64% 3.8px,18.18% 1.7px,22.73% 6.3px,27.27% 6.5px,31.82% 4.1px,36.36% 4.0px,40.91% 1.9px,45.45% 0.0px,50.00% 3.0px,54.55% 4.7px,59.09% 0.6px,63.64% 6.4px,68.18% 1.9px,72.73% 1.9px,77.27% 0.3px,81.82% 8.0px,86.36% 5.9px,90.91% 7.0px,95.45% 4.9px,calc(100% - 0.3px) 0.00%,calc(100% - 2.6px) 4.55%,calc(100% - 4.0px) 9.09%,calc(100% - 0.9px) 13.64%,calc(100% - 7.6px) 18.18%,calc(100% - 2.9px) 22.73%,calc(100% - 1.2px) 27.27%,calc(100% - 6.5px) 31.82%,calc(100% - 1.0px) 36.36%,calc(100% - 7.4px) 40.91%,calc(100% - 3.6px) 45.45%,calc(100% - 4.4px) 50.00%,calc(100% - 2.7px) 54.55%,calc(100% - 3.9px) 59.09%,calc(100% - 1.5px) 63.64%,calc(100% - 0.3px) 68.18%,calc(100% - 6.9px) 72.73%,calc(100% - 1.9px) 77.27%,calc(100% - 6.2px) 81.82%,calc(100% - 1.7px) 86.36%,calc(100% - 7.8px) 90.91%,calc(100% - 7.2px) 95.45%,100.00% calc(100% - 6.0px),95.45% calc(100% - 6.1px),90.91% calc(100% - 4.6px),86.36% calc(100% - 5.8px),81.82% calc(100% - 1.0px),77.27% calc(100% - 3.8px),72.73% calc(100% - 6.6px),68.18% calc(100% - 1.6px),63.64% calc(100% - 7.4px),59.09% calc(100% - 7.1px),54.55% calc(100% - 3.3px),50.00% calc(100% - 2.9px),45.45% calc(100% - 3.6px),40.91% calc(100% - 3.1px),36.36% calc(100% - 8.0px),31.82% calc(100% - 3.1px),27.27% calc(100% - 0.2px),22.73% calc(100% - 0.7px),18.18% calc(100% - 5.7px),13.64% calc(100% - 7.9px),9.09% calc(100% - 4.0px),4.55% calc(100% - 3.9px),4.4px 100.00%,6.0px 95.45%,1.8px 90.91%,4.9px 86.36%,4.5px 81.82%,5.0px 77.27%,1.4px 72.73%,1.4px 68.18%,2.8px 63.64%,7.4px 59.09%,2.8px 54.55%,4.8px 50.00%,2.5px 45.45%,0.8px 40.91%,0.5px 36.36%,6.5px 31.82%,6.2px 27.27%,3.0px 22.73%,5.5px 18.18%,5.4px 13.64%,7.2px 9.09%,7.7px 4.55%);rotate:1.6deg}
.drawer__kraft img{width:100%;aspect-ratio:4/3;object-fit:cover;rotate:-.6deg;box-shadow:0 0 0 1px rgba(80,50,20,.18)}
.drawer{box-shadow:none}
.drawer__front{box-shadow:inset 0 2px 0 rgba(255,255,255,.18),inset 0 -3px 0 rgba(0,0,0,.18),0 30px 50px -30px rgba(55,49,44,.55)}
.drawer__front{flex:1;display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.4rem 1.2rem 1.5rem;background:
  repeating-linear-gradient(178deg,rgba(255,255,255,.035) 0 3px,rgba(0,0,0,.035) 3px 7px),linear-gradient(180deg,#B07B48,#956236);box-shadow:inset 0 2px 0 rgba(255,255,255,.18),inset 0 -3px 0 rgba(0,0,0,.18)}
.drawer__label{width:100%;max-width:21rem;padding:5px;background:linear-gradient(135deg,#E2C77E,#B8954A);border-radius:2px;box-shadow:0 2px 4px rgba(40,24,10,.35)}
.drawer__label>*{background:var(--paper)}
.drawer__label h3{font-family:var(--display);font-size:clamp(1.45rem,1.9vw,1.85rem);line-height:1.1;padding:.8rem 1rem .25rem;text-align:center}
.drawer__label p{font-size:.92rem;line-height:1.5;color:var(--ink-soft);padding:0 1rem .95rem;text-align:center}
.drawer__pull{width:62px;height:20px;border:3px solid #CFAE62;border-top:0;border-radius:0 0 40px 40px;box-shadow:0 3px 3px rgba(40,24,10,.3);position:relative}
.drawer__pull::before,.drawer__pull::after{content:"";position:absolute;top:-6px;width:10px;height:10px;border-radius:50%;background:#CFAE62}
.drawer__pull::before{left:-9px}.drawer__pull::after{right:-9px}

/* ---------- Seasons (horizontal) ---------- */
.seasons{position:relative;z-index:1;background:var(--wall-2)}
.seasons__pin{height:100vh;height:100svh;display:flex;flex-direction:column;overflow:hidden;padding-top:clamp(2.5rem,7vh,5rem)}
.seasons__head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:2rem;align-items:end;padding-bottom:clamp(1.5rem,4vh,3rem)}
.seasons__head p{color:var(--ink-soft);max-width:30rem;justify-self:end}
.seasons__viewport{flex:1;min-height:0;position:relative}
.seasons__track{display:flex;gap:clamp(2rem,5vw,5rem);height:100%;padding:0 var(--gutter) clamp(2rem,6vh,4rem);width:max-content;will-change:transform}
.season{height:100%;width:min(68vw,960px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,3vw,3rem);align-items:end}
.season__glass{margin:0;height:100%;min-height:0;border-radius:999px 999px 6px 6px;overflow:hidden;border:2px solid rgba(66,57,47,.16);padding:10px;background:rgba(255,255,255,.5)}
.season__glass img{width:100%;height:100%;object-fit:cover;border-radius:999px 999px 2px 2px}
.season__text h3{font-family:var(--display);font-size:clamp(3.6rem,7vw,7rem);line-height:.9;color:var(--gold-ink);margin-bottom:1.4rem}
.season__text ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem 1.4rem;font-size:1rem}
.season__text li{padding-left:1rem;position:relative}
.season__text li::before{content:"";position:absolute;left:0;top:.72em;width:5px;height:5px;border-radius:50%;background:var(--timber)}

/* ---------- Banksia interlude ---------- */
.banksia{position:relative;z-index:2;background:var(--wall)}
.banksia__grid{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.banksia__photo{margin:0;padding:10px;background:linear-gradient(135deg,#7A5030,#5E3C20);will-change:transform}
.banksia__photo img{aspect-ratio:4/3;object-fit:cover;width:100%}
.banksia__cut{position:absolute;left:calc(var(--gutter) + 38%);top:-6%;width:clamp(110px,12vw,190px);rotate:18deg;z-index:2;filter:drop-shadow(0 20px 24px rgba(55,49,44,.3));will-change:transform}
.banksia__quote{margin:0}
.banksia__quote p{font-family:var(--display);font-size:clamp(2.2rem,4.4vw,4.4rem);line-height:1.08;color:var(--ink);text-wrap:balance}
.banksia__quote footer{margin-top:1.6rem;font-size:.98rem;color:var(--ink-soft);padding-left:3rem;position:relative}
.banksia__quote footer::before{content:"";position:absolute;left:0;top:.8em;width:2rem;height:1px;background:var(--gold-ink)}

/* ---------- Weddings ---------- */
.weddings{background:var(--wall);padding-top:0}
.weddings__intro{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem;max-width:62rem;padding-top:var(--pad)}
.weddings__intro .lead{color:var(--ink-soft);max-width:44rem}
.ceiling{position:relative;margin:clamp(2.5rem,5vw,4rem) var(--gutter) 0;height:clamp(320px,62vh,640px);overflow:hidden}
.ceiling__inner{position:absolute;inset:-12% 0;will-change:transform}
.ceiling__inner img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.weddings__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,6rem);margin-top:clamp(-6rem,-7vw,-3rem);position:relative;z-index:2}
.album{position:relative;min-height:clamp(520px,52vw,720px)}
.album__print{position:absolute;margin:0;background:var(--paper);padding:12px 12px 44px;box-shadow:0 30px 50px -26px rgba(55,49,44,.5);will-change:transform}
.album__print img{width:100%;object-fit:cover}
.album__print--a{left:0;top:0;width:52%;rotate:-4deg}
.album__print--a img{aspect-ratio:2/3}
.album__print--b{right:0;top:30%;width:56%;rotate:3deg}
.album__print--b img{aspect-ratio:3/2}
.album__print--c{left:16%;bottom:0;width:36%;rotate:-1.5deg}
.album__print--c img{aspect-ratio:3/4}
.styles{padding-top:clamp(4rem,9vw,9rem)}
.styles__title,.bring h3{font-family:var(--display);font-size:clamp(1.7rem,2.3vw,2.2rem);margin-bottom:1.4rem}
.styles__list{margin:0;display:grid;gap:0}
.styles__list>div{display:grid;grid-template-columns:9.5rem minmax(0,1fr);gap:1rem;padding:1rem 0;border-top:1px solid rgba(66,57,47,.16)}
.styles__list dt{font-family:var(--display);font-size:1.5rem;color:var(--gold-ink);line-height:1.2}
.styles__list dd{margin:0;color:var(--ink-soft);font-size:1rem}
.bring{margin:2.4rem 0 2rem;padding:1.5rem 1.6rem;background:var(--kraft);background:linear-gradient(135deg,#E3D0B0,#D5BD96);rotate:-1deg}
.bring h3{margin-bottom:.6rem}
.bring p{color:var(--ink)}
.events{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1rem,2vw,1.6rem);margin-top:clamp(4rem,8vw,7rem);align-items:start}
.events__text{grid-column:1/6;padding-right:1rem}
.events__text .h3{margin-bottom:1.2rem}
.events__text p{color:var(--ink-soft)}
.events__photo{margin:0;overflow:hidden}
.events__photo img{width:100%;height:100%;object-fit:cover}
.events__photo--wide{grid-column:6/13;aspect-ratio:16/10}
.events__photo--jelly{grid-column:1/7;aspect-ratio:16/9;margin-top:-4rem;border-radius:0 0 0 0;padding:10px;background:var(--awning)}
.events__photo--orbs{grid-column:7/10;aspect-ratio:1/1;border-radius:999px 999px 0 0}

/* ---------- Reviews ---------- */
.reviews{background:var(--stripes),var(--awning)}
.reviews__title{text-align:center;color:var(--gold)}
.reviews__title em{color:var(--cream)}
.reviews__score{text-align:center;margin-top:1rem;color:rgba(247,246,241,.8)}
.reviews__score .stars{color:var(--gold)}
.reviews__score .stars{margin-right:.4rem}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem);margin-top:clamp(3rem,6vw,5rem);align-items:start}
.card{position:relative;margin:0;padding:0 0 0 0}
.card__env{position:absolute;inset:18px -10px -14px 14px;background:var(--kraft);box-shadow:0 20px 40px -18px rgba(0,0,0,.55)}
.card__env::before{content:"";position:absolute;left:0;right:0;top:0;height:46%;background:linear-gradient(to bottom right,transparent 49.5%,rgba(0,0,0,.06) 50%) left/50% 100% no-repeat,linear-gradient(to bottom left,transparent 49.5%,rgba(0,0,0,.06) 50%) right/50% 100% no-repeat}
.card__paper{position:relative;background:var(--paper);padding:2rem 1.8rem 1.8rem;box-shadow:0 14px 30px -18px rgba(55,49,44,.4)}
.card blockquote{margin:1rem 0 1.4rem;font-size:1.04rem;line-height:1.6}
.card figcaption{font-family:var(--display);font-size:1.45rem;line-height:1.1}
.card figcaption span{display:block;font-family:var(--body);font-size:.82rem;color:var(--ink-soft);margin-top:.3rem;letter-spacing:.04em}
.card--a{rotate:-2deg}
.card--b{rotate:1.5deg;margin-top:3rem}
.card--b .card__env{background:#C9AE6A}
.card--b .card__paper{background:#F6F1E4}
.card--c{rotate:-1deg;margin-top:1rem}
.card--c .card__env{background:#C99A78}

/* ---------- Visit ---------- */
.visit__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.visit__info .h2{margin-bottom:1.2rem}
.visit__status{font-weight:500;color:var(--gold-ink);min-height:1.65em;margin-bottom:1rem}
.hours{width:100%;border-collapse:collapse;font-size:1rem}
.hours th,.hours td{padding:.62rem 0;text-align:left;font-weight:350;border-bottom:1px solid rgba(66,57,47,.12)}
.hours td{text-align:right;color:var(--ink-soft)}
.hours tr.is-today th,.hours tr.is-today td{color:var(--gold-ink);font-weight:500}
.visit__note{margin-top:1rem;font-size:.92rem;color:var(--ink-soft)}
.visit__links{display:grid;gap:.2rem;margin-top:2rem}
.visit__link{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:1rem;padding:.55rem 0;text-decoration:none;font-size:1.05rem;transition:color .3s var(--ease);overflow-wrap:anywhere}
.visit__link span{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);padding-top:.25rem}
.visit__link:hover{color:var(--gold-ink)}
.visit__small{margin-top:1.5rem;font-size:.9rem;color:var(--ink-soft)}
.visit__map{position:relative;padding-bottom:clamp(5rem,9vw,8rem)}
.map{position:relative;aspect-ratio:4/3.4;background:var(--wall-2);padding:10px;background:linear-gradient(135deg,#CDB461,#A98F38)}
.map iframe{display:block;width:100%;height:100%;border:0;pointer-events:none;background:var(--wall-2)}
.map.is-active iframe{pointer-events:auto}
.visit__awning{position:absolute;right:-2%;bottom:0;width:46%;margin:0;padding:10px 10px 36px;background:var(--paper);rotate:3deg;box-shadow:0 26px 50px -24px rgba(55,49,44,.5);will-change:transform}
.visit__awning img{aspect-ratio:4/3;object-fit:cover;width:100%}

/* ---------- FAQ ---------- */
.faq{background:var(--stripes),#A98C2E;color:#fff}
.faq .h2{color:#fff}
.faq .h2 em{color:var(--awning-2)}
.faq__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.faq__list{border-top:1px solid rgba(255,255,255,.4)}
.qa{border-bottom:1px solid rgba(255,255,255,.4)}
.qa__q{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.35rem 0;font-family:var(--display);font-size:clamp(1.35rem,1.9vw,1.75rem);line-height:1.25;color:#fff;-webkit-text-stroke:.024em currentColor;paint-order:stroke fill;transition:color .3s var(--ease)}
.qa__q:hover{color:var(--awning-2)}
.qa__q:focus-visible{outline:2px solid #fff;outline-offset:4px}
.qa__q::after{content:"";flex:none;width:16px;height:16px;background:linear-gradient(currentColor,currentColor) center/100% 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 100% no-repeat;transition:transform .5s var(--ease)}
.qa__q[aria-expanded="true"]{color:var(--awning-2)}
.qa__q[aria-expanded="true"]::after{transform:rotate(135deg)}
.qa__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease)}
.qa__a>div{overflow:hidden;min-height:0}
.qa__a p{padding:0 2.5rem 1.5rem 0;color:#fff;font-weight:400;opacity:0;transform:translateY(-6px);transition:opacity .45s var(--ease),transform .55s var(--ease)}
.qa.is-open .qa__a{grid-template-rows:1fr}
.qa.is-open .qa__a p{opacity:1;transform:none;transition-delay:.08s}

/* ---------- Footer ---------- */
.footer{background:var(--stripes),var(--awning);color:rgba(247,246,241,.82);padding:clamp(4rem,7vw,6rem) 0 2rem}
.footer__top{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;padding-bottom:clamp(2.5rem,5vw,4rem);border-bottom:1px solid rgba(214,191,91,.25)}
.footer__logo{width:min(560px,70%);height:auto;aspect-ratio:662/157;fill:var(--wall)}
.footer__cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;padding:clamp(2.5rem,5vw,3.5rem) 0}
.footer__h{font-family:var(--display);font-size:clamp(1.7rem,2.2vw,2.1rem);color:var(--gold);margin-bottom:1rem;line-height:1.1}
.footer__cols a,.footer__cols p{display:block;font-size:.98rem;line-height:1.7;text-decoration:none;color:rgba(247,246,241,.82);overflow-wrap:anywhere}
.footer__cols a{transition:color .3s var(--ease)}
.footer__cols a:hover{color:var(--gold)}
.footer__base{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1.6rem;border-top:1px solid rgba(214,191,91,.18);font-size:.88rem;color:rgba(247,246,241,.6)}
.footer__base a{color:rgba(247,246,241,.75);text-decoration:none}
.footer__base a.credit{color:var(--gold);font-weight:600}
.footer__base a:hover{color:var(--gold)}

/* ---------- Motion states ---------- */
.js [data-reveal],.js [data-reveal-item]{opacity:0}
@media (prefers-reduced-motion:reduce){
  .js [data-reveal],.js [data-reveal-item]{opacity:1}
  .awning__track{animation:none}
  .qa__a,.qa__a p{transition:none}
}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  .nav{gap:1.6rem}
  .nav a{font-size:1.1rem}
}
@media (max-width:1023px){
  :root{--header-h:72px}
  .nav,.btn--header{display:none}
  .burger{display:inline-flex;flex-direction:column;justify-content:center;gap:7px;width:48px;height:48px;margin-right:-10px;padding:0 10px;background:none;border:0;color:inherit;cursor:pointer}
  .burger span{display:block;height:1.5px;width:28px;background:currentColor;transition:transform .5s var(--ease)}
  .burger[aria-expanded="true"] span:first-child{transform:translateY(4.25px) rotate(45deg)}
  .burger[aria-expanded="true"] span:last-child{transform:translateY(-4.25px) rotate(-45deg)}
  .brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
  .brand__logo{width:150px}
  .hicons{display:flex;align-items:center;gap:.1rem;margin-left:-10px}
  .hicon{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;background:none;border:0;color:inherit;cursor:pointer;text-decoration:none}
  .hicon svg{width:23px;height:23px;fill:currentColor}
  .site-header{position:fixed}
  .site-header.is-mob{transition:transform .6s var(--ease),opacity .6s var(--ease),background-color .4s var(--ease),color .4s var(--ease)}
  .site-header.is-hidden{transform:translate3d(0,calc(-100% - 24px),0);opacity:0;pointer-events:none}
  .site-header.menu-open{background:transparent!important;color:#fff!important}
}
@media (max-width:899px){
  .hero__panel{padding:calc(var(--header-h) + 1rem) var(--gutter) 2rem}
  .hero__copy{max-width:none;width:100%}
  .hero__fade{-webkit-mask-image:linear-gradient(180deg,transparent 26%,rgba(0,0,0,.6) 46%,rgba(0,0,0,.94) 62%,#000 76%);mask-image:linear-gradient(180deg,transparent 26%,rgba(0,0,0,.6) 46%,rgba(0,0,0,.94) 62%,#000 76%)}
  .hero__rating{margin-bottom:.9rem;font-size:.85rem}
  .hero__title{font-size:clamp(2.9rem,12vw,4.6rem)}
  .hero__sub{margin-top:1rem;font-size:1.02rem;max-width:30rem}
  .hero__ctas{margin-top:1.4rem}
  .hero__ctas .btn{flex:1 1 auto}
  .hero__cut--bouquet{width:clamp(150px,42vw,320px);right:-6vw;bottom:auto;top:calc(var(--header-h) + 15svh)}
  .hero__cut--banksia{display:none}
  .shop__grid,.banksia__grid,.visit__grid,.faq__grid,.weddings__body{grid-template-columns:minmax(0,1fr)}
  .shop__photos{aspect-ratio:auto;height:clamp(330px,92vw,600px);margin-top:.5rem}
  .door{left:0;width:58%}
  .door figcaption{bottom:auto;top:calc(100% + .6rem);font-size:1.05rem}
  .print--interior{right:0;top:6%;width:47%;padding:8px 8px 28px}
  .tag-photo{left:auto;right:6%;bottom:0;width:34%}
  .seasons__head{grid-template-columns:minmax(0,1fr);gap:1rem;padding-bottom:50px}
  .seasons__head p{justify-self:start}
  .season{width:min(84vw,520px);grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:1rem;align-items:stretch}
  .season__text h3{font-size:clamp(2.6rem,11vw,3.6rem);margin-bottom:.6rem}
  .season__text ul{font-size:.95rem;gap:.15rem 1rem}
  .banksia__cut{left:auto;right:3%;top:-1.2rem;width:24vw}
  .weddings__body{margin-top:2.5rem}
  .album{min-height:clamp(420px,118vw,620px)}
  .styles{padding-top:0}
  .events{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .events__text,.events__photo--wide{grid-column:1/-1}
  .events__photo--jelly{grid-column:1/-1;margin-top:0}
  .events__photo--orbs{grid-column:1/2}
  .cards{grid-template-columns:minmax(0,1fr);gap:2.6rem;max-width:34rem;margin-left:auto;margin-right:auto}
  .card--b,.card--c{margin-top:0}
  .visit__awning{width:56%;right:0}
  .footer__top{flex-direction:column;align-items:flex-start}
  .footer__top .btn{display:none}
  .footer__logo{width:min(420px,100%)}
  .footer__cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .h2,.h3,.banksia__quote p,.lead{width:100%;max-width:none}
  .drawers__title{max-width:none}
}
@media (max-width:767px){
  :root{--pad:3.25rem}
  .section{padding-top:2.6rem}
  .weddings__intro{padding-top:2.6rem}
  .seasons__pin{padding-top:2.2rem}
  .footer{padding-top:3rem}
  .cabinet{grid-template-columns:minmax(0,1fr);gap:1.4rem}
  .facts{grid-template-columns:minmax(0,1fr);gap:1rem}
  .facts>div{display:flex;align-items:baseline;gap:1rem}
  .facts dd{margin:0}
  .styles__list>div{grid-template-columns:minmax(0,1fr);gap:.2rem}
  .visit__link{grid-template-columns:minmax(0,1fr);gap:0}
}
@media (min-width:768px) and (max-width:1023px){
  .cabinet{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:520px){
  .footer__cols{grid-template-columns:minmax(0,1fr)}
  .hero__ctas .btn{padding-left:2.2rem;padding-right:1rem;letter-spacing:.06em}
}
@media (max-height:600px) and (min-width:900px){
  .season__text h3{font-size:clamp(2.6rem,5vw,4rem);margin-bottom:.6rem}
  .season__text ul{font-size:.9rem;gap:.1rem 1rem}
  .seasons__head .h2{font-size:clamp(2rem,3.4vw,3rem)}
}

/* ---------- Service photo options (?drawer=a|b|c) ---------- */
.opt-drawer-a .drawer__photo,.opt-drawer-b .drawer__photo,.opt-drawer-c .drawer__photo{clip-path:none;rotate:0deg;margin:0}
.opt-drawer-a .drawer__kraft,.opt-drawer-b .drawer__kraft,.opt-drawer-c .drawer__kraft{clip-path:none;rotate:0deg;padding:0;background:none;position:relative}
.opt-drawer-a .drawer__kraft img,.opt-drawer-b .drawer__kraft img,.opt-drawer-c .drawer__kraft img{rotate:0deg;box-shadow:none}
/* A: the open drawer. The photo sits inside the pulled-out drawer box, the front below is the same drawer */
.opt-drawer-a .drawer__photo{padding:16px 16px 0;background:repeating-linear-gradient(178deg,rgba(255,255,255,.04) 0 3px,rgba(0,0,0,.04) 3px 7px),linear-gradient(180deg,#9A673B,#7A4D29);box-shadow:inset 0 2px 0 rgba(255,255,255,.22)}
.opt-drawer-a .drawer__kraft::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 18px 24px -8px rgba(30,15,5,.62),inset 14px 0 18px -10px rgba(30,15,5,.5),inset -14px 0 18px -10px rgba(30,15,5,.5)}
.opt-drawer-a .drawer__kraft{border:3px solid #5E3C20;border-bottom:0}
.opt-drawer-a .drawer__front{box-shadow:0 -10px 16px -8px rgba(30,15,5,.45),inset 0 2px 0 rgba(255,255,255,.18),inset 0 -3px 0 rgba(0,0,0,.18),0 30px 50px -30px rgba(55,49,44,.55);position:relative;z-index:2}
/* B: gilded shop window, like the gold frames on their Errol St shopfront */
.opt-drawer-b .drawer__photo{padding:7px;background:linear-gradient(135deg,#EAD38A,#B3963F 45%,#E2C77E 70%,#A98F38)}
.opt-drawer-b .drawer__kraft{padding:7px;background:var(--awning);overflow:hidden;box-shadow:inset 0 0 0 1.5px rgba(214,191,91,.0)}
.opt-drawer-b .drawer__kraft::before{content:"";position:absolute;inset:7px;z-index:1;pointer-events:none;box-shadow:inset 0 0 0 1.5px rgba(226,199,126,.9),inset 0 0 0 6px rgba(55,49,44,0)}
.opt-drawer-b .drawer__kraft::after{content:"";position:absolute;inset:7px;z-index:2;pointer-events:none;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.28) 42%,rgba(255,255,255,.06) 50%,transparent 60%);transform:translateX(-70%);transition:transform 1.2s var(--ease)}
.opt-drawer-b .drawer:hover .drawer__kraft::after{transform:translateX(70%)}
.opt-drawer-b .drawer__kraft img{position:relative}
/* C: a print clipped to the drawer with a brass bulldog clip and a kraft price tag, like the tags in their buckets */
.opt-drawer-c .drawer__photo{position:relative;margin:14px 12px -18px;padding:12px 12px 40px;background:var(--paper);rotate:-1.8deg;z-index:3;box-shadow:0 18px 30px -14px rgba(55,49,44,.55)}
.opt-drawer-c .drawer__photo::before{content:"";position:absolute;left:50%;top:-16px;width:64px;height:30px;margin-left:-32px;z-index:2;border-radius:4px 4px 10px 10px;background:linear-gradient(180deg,#E9D28C,#B8964A 55%,#8F7230);box-shadow:0 4px 6px rgba(40,24,10,.35),inset 0 1px 0 rgba(255,255,255,.5)}
.opt-drawer-c .drawer__photo::after{content:"";position:absolute;left:50%;top:-24px;width:40px;height:14px;margin-left:-20px;border:3px solid #9C7E36;border-bottom:0;border-radius:8px 8px 0 0}
.opt-drawer-c .drawer__kraft::after{content:"";position:absolute;right:-30px;bottom:-34px;width:62px;height:34px;rotate:14deg;background:radial-gradient(circle at 12px 50%,var(--paper) 0 3.5px,transparent 4px),linear-gradient(160deg,#D8BC90,#B8955F);clip-path:polygon(9px 0,100% 0,100% 100%,9px 100%,0 50%);box-shadow:0 4px 6px rgba(40,24,10,.25)}
.opt-drawer-c .drawer__front{padding-top:2.4rem}
@media (max-width:767px){.opt-drawer-c .drawer__kraft::after{right:-22px}}
