:root{--ink:#143e50;--blue:#d8e9f1;--paper:#fbfcfd;--line:#c2d5de}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 Arial,sans-serif}a{color:inherit}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}a,button{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #ad611e;outline-offset:5px}header,footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 5vw}.brand{text-decoration:none;font:40px/1 Georgia,serif;letter-spacing:-2px}.brand span{display:block;font:10px/2 Arial,sans-serif;letter-spacing:2px}nav{display:flex;gap:28px;font-size:14px}nav a{text-decoration:none}.button{display:inline-block;border:1px solid var(--ink);background:var(--ink);color:white;padding:15px 25px;text-decoration:none;cursor:pointer;font-size:14px;letter-spacing:.03em;transition:background .2s,transform .2s}.button:hover{background:#246681;transform:translateY(-2px)}.small{padding:10px 22px}.outline{background:transparent;color:var(--ink)}.outline:hover{color:white}.hero{display:grid;grid-template-columns:1.08fr 1fr;min-height:720px}.hero-copy{padding:70px 5vw 85px}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.16em;font-weight:600;margin:0 0 26px}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.08;margin:0}h1{font-size:clamp(44px,4.8vw,76px);letter-spacing:-.04em}em{font-weight:400;color:#357c97}h2{font-size:clamp(36px,3.6vw,56px);letter-spacing:-.03em}h3{font-size:26px}.hero-copy>p:not(.eyebrow){max-width:440px;margin:30px 0}.text-link{display:inline-block;margin:20px;font-size:14px;text-underline-offset:6px}.hero-art{background:#d4e6ed;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:45px;position:relative;overflow:hidden}.invitation{background:white url('../template/floral-background-clean.png') center/100% 100%;width:min(100%,350px);padding:72px 45px 62px;text-align:center;box-shadow:15px 25px 50px #123a5024;transform:rotate(4deg);animation:arrive 1s ease-out}.invitation p{font:12px/1.8 Georgia,serif;letter-spacing:.08em}.invitation h2{font-size:70px;font-style:italic;margin:38px 0;color:#1d6c87}.invitation i{font-size:35px}.invitation span{font-size:10px;letter-spacing:.15em}.rule{height:1px;background:var(--line);width:60px;margin:25px auto}.caption{font-size:11px;letter-spacing:.13em;margin-top:40px}.ribbon{background:var(--ink);color:white;display:flex;justify-content:space-around;gap:25px;padding:23px 5vw;font:italic 20px Georgia,serif}.collection,.pricing,.enquire{padding:105px 8vw;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9vw}.collection p{max-width:410px;margin:28px 0}.sample{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:end}.sample img{width:100%;height:340px;object-fit:cover;box-shadow:0 10px 35px #193b4917}.sample span,.features article>span{font-size:14px;display:block;margin-bottom:35px}.sample h3{font-size:33px}.sample p{font-size:15px;margin:15px 0}.details{padding:90px 8vw;background:#eaf3f7}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:60px}.features article{border-top:1px solid #9db9c6;padding-top:24px}.features p{font-size:16px}.availability{font-size:14px;max-width:550px}.details>.availability{margin:35px 0 0}.pricing{align-items:start}.quote{border-top:1px solid var(--ink);padding-top:30px}.price{font:30px Georgia,serif}.quote ul{padding-left:20px;line-height:2}.quote>p:not(.price){font-size:14px;max-width:430px}.enquire{background:var(--ink);color:white;align-items:start}.enquire em{color:#a9d4e8}.enquire p{max-width:420px}form label{display:block;font-size:14px;margin:0 0 20px}input,textarea{display:block;width:100%;border:1px solid #7697a5;background:#ffffff09;color:inherit;padding:12px;margin-top:7px;border-radius:0}textarea{resize:vertical}form .button{background:#e4f1f6;color:var(--ink);border-color:#e4f1f6}form .outline{background:transparent;color:white}#prepared{margin-top:25px}footer{padding-top:45px;padding-bottom:45px}footer p,footer>a:last-child{font-size:14px}.skip{position:fixed;top:-100px;left:10px;padding:12px;background:white;z-index:100}.skip:focus{top:10px}dialog{border:0;padding:0;color:var(--ink);max-width:620px;width:calc(100% - 32px);max-height:90vh;overflow:auto}dialog::backdrop{background:#082c40bb}.close{position:sticky;float:right;top:8px;right:8px;width:44px;height:44px;font-size:30px;background:white;border:1px solid var(--line);cursor:pointer}.demo{padding:75px 65px;background:white url('../template/floral-background-clean.png') center/100% 100%;text-align:center}.demo h2{font-style:italic;font-size:58px}.demo h3{margin-top:30px}.demo p{font-family:Georgia,serif}.demo hr{border:0;border-top:1px solid var(--line);margin:35px auto;width:60px}.demo .demo-note{font:14px Arial,sans-serif;margin-top:40px}@keyframes arrive{from{opacity:0;transform:translateY(25px) rotate(0)}to{opacity:1;transform:rotate(4deg)}}@media(max-width:900px){nav{gap:14px}.hero-copy{padding-top:45px}.hero-art{padding:30px}.text-link{margin-left:0}.collection,.pricing,.enquire{padding:65px 6vw;gap:35px}.sample{grid-template-columns:1fr}.sample img{height:280px;object-fit:contain}.sample span{margin-bottom:12px}.features{gap:25px}}@media(max-width:650px){header{flex-wrap:wrap;padding:20px 6vw}nav{order:3;width:100%;justify-content:space-between;gap:10px;font-size:13px}.hero{grid-template-columns:1fr}.hero-copy{padding:40px 6vw}.hero-art{padding:45px 35px}.invitation{max-width:310px}.ribbon{flex-direction:column;align-items:center;gap:10px;font-size:18px}.collection,.pricing,.enquire{grid-template-columns:1fr}.features{grid-template-columns:1fr;gap:25px}.features article>span{margin-bottom:15px}.details{padding:65px 6vw}.sample{grid-template-columns:1fr 1fr}.sample img{height:260px}.sample h3{font-size:28px}footer{flex-wrap:wrap}.demo{padding:55px 35px}.demo h2{font-size:45px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Keep the supplied square logo intact, with an accessible company wordmark. */
.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}
.brand .brand-logo{display:block;width:96px;height:96px;object-fit:contain}
.brand .brand-copy{font:30px/1.2 Georgia,serif;letter-spacing:-1px}
.brand .brand-copy small{display:block;font:10px/2 Arial,sans-serif;letter-spacing:2px}
header{flex-wrap:wrap}
footer .brand-logo{width:140px;height:140px}
@media(max-width:650px){.brand .brand-logo{width:72px;height:72px}.brand .brand-copy{font-size:24px}footer .brand-logo{width:110px;height:110px}}
