/* taste-skill-ignore: User reference requires feathered artwork; gradient is an image alpha mask, not a colour fill. */ *{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{--paper:#e9dcbb;--ink:#303b23;--gold:#a38a56;margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,'Times New Roman',serif}body:after{content:"";position:fixed;inset:0;z-index:20;pointer-events:none;filter:url(#paper);opacity:.115;mix-blend-mode:multiply}.filter-defs{position:absolute;width:0;height:0;overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #966b43;outline-offset:6px}h1,h2,p,figure{margin:0}h1,h2{font-weight:400;letter-spacing:-.035em}h2{font-size:clamp(38px,4.4vw,66px);line-height:1.08}p{font-size:19px;line-height:1.6}header{position:absolute;top:0;left:0;width:100%;z-index:5;padding:25px 4%;display:flex;align-items:flex-start;justify-content:space-between}header .seal{width:140px;display:block}header img{width:100%;height:auto;border-radius:50%;mix-blend-mode:multiply}nav{display:flex;align-items:center;gap:50px;padding-top:25px}nav a,.button,.place,.text-link{font-size:13px;letter-spacing:.15em;text-transform:uppercase}nav a{padding:15px 0}nav .nav-contact{padding:15px 25px;border:1px solid #697057}.hero{position:relative;min-height:810px;height:91svh;max-height:1100px;overflow:hidden}.hero-land{position:absolute;inset:auto 0 0;width:100%;height:100%;object-fit:cover;object-position:center bottom;mask-image:linear-gradient(to bottom,transparent 0%,#000 24%,#000 86%,transparent 100%);opacity:.92}.hero-copy{position:relative;z-index:1;text-align:center;padding-top:170px}h1{font-size:clamp(64px,7.5vw,112px);line-height:1.07}.sprig{display:block;font-size:39px;line-height:1;color:#6f7853;margin:20px auto 12px}.hero p{font-size:24px}.button{min-height:54px;display:inline-flex;gap:28px;align-items:center;justify-content:center;padding:17px 29px;margin-top:28px;transition:transform .25s,background .25s;line-height:1.4}.button:hover{transform:translateY(-3px)}.button:active{transform:translateY(0)}.filled{background:#303b23;color:#f2e8cf;border:4px double #e7d9b4;outline:1px solid #303b23}.welcome{padding:0 2% 22px;position:relative}.welcome-frame{border:4px double #b99b62;position:relative;padding:65px 7%;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;min-height:720px;overflow:hidden}.welcome-copy{position:relative;z-index:2;text-align:center}.place{font-size:12px;margin-bottom:22px}.welcome-copy h2{font-size:clamp(35px,4vw,60px)}.welcome-copy>p:not(.place){max-width:360px;margin:20px auto 0}.welcome-copy .motto{font-style:italic;color:#73543a}.text-link{display:inline-flex;align-items:center;gap:25px;margin-top:25px;padding:12px 0;text-decoration:underline;text-underline-offset:7px;line-height:1.5}.portrait{position:relative;z-index:2;text-align:center}.oval{border:4px double #62644b;border-radius:50%;padding:5px;aspect-ratio:3/4.5;overflow:hidden}.oval img{width:100%;height:100%;object-fit:cover;border-radius:50%;object-position:43% 50%;display:block;mix-blend-mode:multiply}.portrait figcaption{font-size:12px;margin-top:15px;line-height:1.5}.corner{position:absolute;font-size:35px;color:#b2945f;line-height:1}.tl{top:12px;left:12px;transform:rotate(-45deg)}.tr{top:12px;right:12px;transform:rotate(45deg)}.bl{bottom:12px;left:12px;transform:rotate(-135deg)}.br{bottom:12px;right:12px;transform:rotate(135deg)}.side-bloom{position:absolute;width:310px;left:-160px;bottom:-40px;mix-blend-mode:multiply;opacity:.5;transform:rotate(18deg);pointer-events:none}.peonies{position:relative;background:#203626;min-height:800px;overflow:hidden;color:#efe5cb;display:flex;align-items:center;padding:100px 9%}.peony-land{position:absolute;inset:auto 0 0;width:100%;height:100%;object-fit:cover;mix-blend-mode:luminosity;opacity:.1;mask-image:linear-gradient(transparent,#000)}.peony-copy{position:relative;z-index:2;width:43%;max-width:440px;text-align:center}.peony-copy>p{font-size:19px;max-width:330px;margin:25px auto 0}.light{color:#b9c0a0}.pale{border:1px solid #aaa98a;background:transparent;color:inherit}.pale:hover{background:#314c36}.flower-controls{display:flex;justify-content:center;gap:10px;margin-top:35px}.flower-controls button{padding:12px 14px;min-height:44px;border:1px solid #8b9879;background:transparent;color:inherit;font-size:14px;transition:transform .2s}.flower-controls button[aria-pressed=true]{background:#e9dcbb;color:#203626}.flower-controls button:hover{transform:translateY(-2px)}.peony-copy .plate-caption{font-size:13px;margin-top:12px;opacity:.85}.bloom-stage{position:absolute;right:-3%;bottom:-90px;width:64%;height:100%;display:grid;align-items:center;pointer-events:none;transform:translate(var(--x,0px),var(--y,0px));transition:transform 1s ease-out}.bloom-stage img{width:100%;height:100%;object-fit:contain;filter:url(#botanical-ink);transition:opacity .25s}.contact{padding:90px 9%;display:grid;grid-template-columns:1fr 1.3fr;gap:14%;align-items:center}.contact>img{width:70%;max-width:270px;justify-self:center;border-radius:50%;mix-blend-mode:multiply}.contact h2{font-size:clamp(42px,4.6vw,64px)}.contact p{margin-top:25px;font-size:18px;max-width:400px}.socials{display:flex;gap:20px;margin-top:24px}.socials a{display:grid;place-items:center;width:48px;height:48px;border:1px solid #77785a;transition:transform .25s,background .25s}.socials a:hover{transform:translateY(-3px);background:#dfcfaa}.socials svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;padding:25px 5% 35px;background:#293c28;color:#e9dcbb}footer p,footer button{font-size:13px}footer button{border:0;background:transparent;color:inherit;text-decoration:underline;text-underline-offset:5px;min-height:44px;padding:10px}footer small{width:100%;font-size:11px;opacity:.8}.skip{position:absolute;top:-100px;left:15px;padding:20px;background:var(--paper);z-index:100}.skip:focus{top:10px}.reveal{transition:opacity .8s,transform .8s}.motion-on .reveal.pending{opacity:.2;transform:translateY(18px)}.paused .reveal{opacity:1!important;transform:none!important}.paused .bloom-stage{transform:none;transition:none}@media(max-width:900px){header{padding:20px 4%}header .seal{width:115px}nav{gap:28px;padding-top:18px}.hero{min-height:740px;height:85svh}.hero-copy{padding-top:185px}h1{font-size:76px}.hero p{font-size:21px}.welcome-frame{padding:60px 5%;gap:6%;min-height:650px}.welcome-copy h2{font-size:38px}.welcome-copy>p:not(.place){font-size:17px}.place{font-size:10px;letter-spacing:.1em}.oval{aspect-ratio:3/5}.peonies{min-height:720px;padding:80px 5%}.peony-copy{width:46%}.peony-copy h2{font-size:47px}.bloom-stage{right:-8%;width:65%}.contact{padding:75px 6%;gap:8%}}@media(max-width:560px){header{padding:16px 5%;align-items:center}header .seal{width:90px}nav{gap:17px;padding:0}nav a{font-size:10px;letter-spacing:.04em}nav .nav-contact{padding:12px 14px}.hero{min-height:660px;height:89svh;max-height:800px}.hero-land{height:100%;object-position:54% bottom;opacity:.9}.hero-copy{padding:160px 5% 0}h1{font-size:clamp(41px,10vw,56px);line-height:1.12;letter-spacing:-.035em}.sprig{font-size:31px;margin:18px auto 11px}.hero p{font-size:17px}.button{font-size:11px;letter-spacing:.1em;padding:16px 23px;gap:20px;margin-top:24px}.welcome{padding:0 4% 16px}.welcome-frame{padding:48px 7% 35px;grid-template-columns:1fr;gap:35px;min-height:0}.welcome-copy h2{font-size:clamp(29px,7.3vw,40px)}.place{font-size:10px;margin-bottom:18px}.welcome-copy>p:not(.place){font-size:17px;max-width:310px}.text-link{font-size:11px;letter-spacing:.08em}.portrait{width:83%;justify-self:center}.oval{aspect-ratio:3/4.2}.side-bloom{left:-140px;bottom:160px;width:260px;opacity:.35}.corner{font-size:25px}.portrait figcaption{font-size:10px}.peonies{display:block;min-height:1000px;padding:65px 7% 0}.peony-copy{width:100%;max-width:none}.peony-copy h2{font-size:49px}.peony-copy>p{font-size:18px;max-width:300px}.bloom-stage{right:-11%;bottom:-25px;width:120%;height:540px;z-index:0}.flower-controls{margin-top:25px}.contact{padding:65px 8%;grid-template-columns:1fr;gap:35px;text-align:center}.contact>img{width:140px}.contact h2{font-size:45px}.contact p{font-size:17px}.socials{justify-content:center}footer{padding:24px 7%;justify-content:center;text-align:center}footer p{font-size:12px}footer small{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-on .reveal.pending{opacity:1;transform:none}.bloom-stage{transform:none}}

/* taste-skill-ignore: User reference requires feathered artwork; gradient is an image alpha mask, not a colour fill. */ .hero-land{height:82%;mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.15) 28%,#000 58%,#000 86%,transparent 100%)}
/* taste-skill-ignore: User reference requires feathered artwork; gradient is an image alpha mask, not a colour fill. */ @media(max-width:560px){.hero-land{height:76%;mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.2) 30%,#000 60%,#000 86%,transparent 100%)}}

/* taste-skill-ignore: User reference requires feathered artwork; gradient is an image alpha mask, not a colour fill. */ .sprig{height:26px;line-height:0}.sprig svg{width:95px;height:26px}.corner svg{width:38px;height:28px}.side-bloom{mask-image:radial-gradient(ellipse,#000 20%,transparent 70%)}


#main-bloom{filter:url(#botanical-ink)}.petal-colour{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;transition:opacity .25s}.bloom-stage:has([data-colour="burgundy"]) .petal-colour{display:none}
.petal-colour{height:auto;aspect-ratio:2/3}


html:has(body.paused){scroll-behavior:auto}

.socials svg{fill:currentColor;stroke:none}

/* Motion and loading optimisation; approved visual composition preserved. */
.contact>img{aspect-ratio:1;height:auto}
.bloom-stage{transition:opacity .25s,transform 1s ease-out}
#main-bloom,.petal-colour{transition:none}
.paused .bloom-stage{transition:none}
@media(max-width:560px){nav{gap:12px}nav a{font-size:11px;min-height:44px;display:flex;align-items:center}nav .nav-contact{padding:12px}.seal{flex-shrink:0}}
@media(prefers-reduced-motion:reduce){.bloom-stage{transition:none}}

#main-bloom{clip-path:inset(8% 0 0 0)}
@media(max-width:360px){header .seal{width:76px}nav{gap:8px}nav a{font-size:10px}nav .nav-contact{padding:12px 10px}}

.side-bloom{height:auto}

/* One natural aspect ratio for both botanical layers at every breakpoint. */
.bloom-stage{display:block}
.bloom-stage>img{display:block;width:100%;height:auto}
.petal-colour{width:100%;height:auto;aspect-ratio:2/3}
.reveal{transition:opacity .55s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1)}
.motion-on .reveal.pending{opacity:0;transform:translateY(12px)}
.reveal:focus-within{opacity:1!important;transform:none!important}
.peony-copy .plate-caption{font-size:14px;min-height:2.8em;line-height:1.4}
.flower-controls button[data-loading]{opacity:.65;text-decoration:underline;text-underline-offset:5px}
.flower-controls button:active{transform:translateY(0)}
nav a:not(.nav-contact):hover{text-decoration:underline;text-underline-offset:6px}
#motion:disabled{cursor:default;text-decoration:none;opacity:.8}
@media(prefers-reduced-motion:reduce){.motion-on .reveal.pending{opacity:1;transform:none}.reveal{transition:none}}
@media(min-width:561px) and (max-width:700px){.welcome-frame{grid-template-columns:1fr;gap:35px}.portrait{width:60%;max-width:340px;justify-self:center}.oval{aspect-ratio:3/4.2}}
@media(max-width:360px){.contact h2{font-size:38px}}

#petal-image{filter:none}.petal-colour[hidden]{display:none!important}

/* Safari-safe filled petals: bitmap images with plain alpha masks, no SVG image filters. */
#petal-image{filter:none!important;clip-path:none!important;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:100% 100%;mask-size:100% 100%}
#petal-image[data-colour="blush"]{-webkit-mask-image:url("assets/blush-petal-mask.svg?v=c54c2b470331");mask-image:url("assets/blush-petal-mask.svg?v=c54c2b470331")}
#petal-image[data-colour="ivory"]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201024%201536%22%3E%3Cg%20fill%3D%22white%22%3E%3Cpath%20d%3D%22M220%20369%20C201%20340%20208%20304%20231%20286%20C254%20254%20290%20251%20323%20276%20C333%20245%20359%20231%20383%20237%20C407%20228%20445%20234%20470%20262%20C500%20241%20532%20239%20557%20255%20C584%20260%20604%20291%20607%20331%20C632%20322%20655%20336%20673%20363%20C698%20384%20700%20415%20688%20441%20C681%20474%20657%20490%20641%20502%20C662%20516%20674%20547%20665%20571%20C647%20606%20615%20619%20582%20613%20C559%20624%20526%20623%20503%20610%20C489%20642%20468%20669%20446%20684%20C422%20710%20386%20712%20355%20698%20C321%20689%20297%20665%20296%20634%20C276%20622%20260%20613%20252%20603%20C228%20627%20192%20621%20177%20598%20C166%20582%20170%20570%20176%20560%20C163%20547%20166%20529%20180%20514%20C187%20505%20198%20498%20210%20495%20C178%20489%20154%20467%20150%20445%20C143%20416%20145%20394%20161%20382%20C179%20369%20198%20366%20220%20369Z%22%2F%3E%3Cpath%20d%3D%22M729%20502%20Q738%20491%20737%20519%20Q767%20485%20795%20485%20Q828%20481%20849%20504%20Q882%20511%20886%20541%20Q917%20552%20920%20586%20Q925%20617%20907%20641%20Q933%20635%20938%20666%20Q936%20692%20911%20704%20Q874%20724%20833%20714%20Q788%20710%20761%20687%20Q730%20694%20711%20667%20Q691%20651%20702%20627%20Q685%20598%20696%20567%20Q699%20532%20729%20502Z%22%2F%3E%3Cpath%20d%3D%22M172%20682%20Q202%20656%20234%20674%20Q267%20679%20274%20714%20Q283%20749%20258%20769%20Q232%20791%20204%20781%20Q172%20775%20159%20747%20Q151%20712%20172%20682Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201024%201536%22%3E%3Cg%20fill%3D%22white%22%3E%3Cpath%20d%3D%22M220%20369%20C201%20340%20208%20304%20231%20286%20C254%20254%20290%20251%20323%20276%20C333%20245%20359%20231%20383%20237%20C407%20228%20445%20234%20470%20262%20C500%20241%20532%20239%20557%20255%20C584%20260%20604%20291%20607%20331%20C632%20322%20655%20336%20673%20363%20C698%20384%20700%20415%20688%20441%20C681%20474%20657%20490%20641%20502%20C662%20516%20674%20547%20665%20571%20C647%20606%20615%20619%20582%20613%20C559%20624%20526%20623%20503%20610%20C489%20642%20468%20669%20446%20684%20C422%20710%20386%20712%20355%20698%20C321%20689%20297%20665%20296%20634%20C276%20622%20260%20613%20252%20603%20C228%20627%20192%20621%20177%20598%20C166%20582%20170%20570%20176%20560%20C163%20547%20166%20529%20180%20514%20C187%20505%20198%20498%20210%20495%20C178%20489%20154%20467%20150%20445%20C143%20416%20145%20394%20161%20382%20C179%20369%20198%20366%20220%20369Z%22%2F%3E%3Cpath%20d%3D%22M729%20502%20Q738%20491%20737%20519%20Q767%20485%20795%20485%20Q828%20481%20849%20504%20Q882%20511%20886%20541%20Q917%20552%20920%20586%20Q925%20617%20907%20641%20Q933%20635%20938%20666%20Q936%20692%20911%20704%20Q874%20724%20833%20714%20Q788%20710%20761%20687%20Q730%20694%20711%20667%20Q691%20651%20702%20627%20Q685%20598%20696%20567%20Q699%20532%20729%20502Z%22%2F%3E%3Cpath%20d%3D%22M172%20682%20Q202%20656%20234%20674%20Q267%20679%20274%20714%20Q283%20749%20258%20769%20Q232%20791%20204%20781%20Q172%20775%20159%20747%20Q151%20712%20172%20682Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}

.socials{flex-wrap:wrap;gap:12px}.socials a{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;min-width:48px;padding:12px;font-size:14px}.socials svg{width:20px;height:20px}
footer nav{display:flex;flex-wrap:wrap;gap:10px 22px}footer nav a{font-size:13px;text-decoration:underline;text-underline-offset:5px}.privacy-notice{position:fixed;z-index:90;right:16px;bottom:16px;width:min(calc(100% - 32px),680px);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid #a38a56;background:#293c28f7;color:#f2e8cf;box-shadow:0 12px 36px #17231745}.privacy-notice[hidden]{display:none}.privacy-notice p{margin-top:4px;font-size:14px;line-height:1.45}.privacy-notice a{text-decoration:underline;text-underline-offset:3px}.privacy-notice button{flex:none;min-height:44px;padding:10px 15px;border:1px solid #e9dcbb;background:#e9dcbb;color:#293c28}.legal-site header{position:relative}.legal-site header nav{padding-top:20px}.legal-page{width:min(calc(100% - 40px),880px);min-height:70vh;margin:0 auto;padding:80px 0 100px}.legal-page h1{font-size:clamp(50px,9vw,92px);line-height:.95}.legal-page h2{margin-top:50px}.legal-page p,.legal-page li{max-width:720px}.legal-page a{text-decoration:underline;text-underline-offset:4px}.legal-date{margin-bottom:18px;font-size:13px;letter-spacing:.12em}.legal-lead{margin-top:30px;font-size:clamp(20px,3vw,25px)}.legal-page ul{padding-left:22px}.legal-page li{font-size:18px;line-height:1.6}.legal-table{max-width:100%;margin-top:24px;overflow-x:auto}.legal-table table{width:100%;min-width:650px;border-collapse:collapse}.legal-table th,.legal-table td{padding:14px;border:1px solid #9b8b63;text-align:left;vertical-align:top}.legal-table code{font-size:14px}@media(max-width:560px){.privacy-notice{display:grid}.privacy-notice[hidden]{display:none}.privacy-notice button{width:100%}.legal-site header{min-height:125px}.legal-page{padding-top:45px}.legal-page h2{font-size:34px}footer nav{justify-content:center}}
