:root{font-family:Arial,Helvetica,sans-serif;--paper:#f5f8f4;--ink:#163e36;--accent:#e2ecda;--line:#163e3630;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}html{scroll-behavior:smooth;scroll-padding-top:24px}a{color:inherit;text-decoration:none}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid currentColor;outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}figure{margin:0;position:relative}p{line-height:1.7}h1,h2,h3{font-weight:500;line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(56px,6.7vw,100px);margin:25px 0}h2{font-size:clamp(38px,4.3vw,64px);margin:20px 0 32px}h3{font-size:27px;margin:0 0 15px}em{font-family:Georgia,serif;font-weight:400}.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:600}.lead{font-size:18px;max-width:470px;margin:26px 0 32px}.button,form button,#checkout{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 24px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-size:15px}.button:hover,button:hover{filter:brightness(.9)}.skip-link{position:absolute;left:20px;top:-100px}.skip-link:focus{top:20px;z-index:10;background:var(--paper);padding:16px}.demo-banner{background:#091620;color:#eee;padding:11px 5%;display:flex;justify-content:space-between;gap:20px;font-size:12px}.demo-banner a{text-decoration:underline}.site-header{display:flex;align-items:center;justify-content:space-between;padding:27px 6%;gap:30px;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,serif;font-size:28px;letter-spacing:-.04em}.site-header nav{display:flex;gap:30px;font-size:14px}.site-header nav a:last-child{border-bottom:1px solid;padding-bottom:6px}.section{padding:100px 7%}.section-heading{max-width:800px}.offering{position:relative}.offering p{font-size:16px}.item-number{font-size:14px;opacity:.65}.offering button{padding:12px 0;border:0;border-bottom:1px solid;background:transparent;color:inherit;font-size:15px}.story-copy>p,.story>div>p{font-size:19px;max-width:650px}.text-link{display:inline-block;border-bottom:1px solid;padding:10px 0}.enquiry{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:1px solid var(--line)}.demo-note{font-size:14px;opacity:.8;max-width:470px}.interaction{padding:38px;background:var(--accent);align-self:start}form{display:grid;gap:15px}select{width:100%;min-height:50px;background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:12px}form button{margin-top:15px}#demo-result:not(:empty){border-top:1px solid var(--line);padding-top:20px}footer{padding:50px 6%;border-top:1px solid var(--line);display:flex;align-items:start;flex-wrap:wrap;justify-content:space-between;gap:25px;font-size:14px}.footer-brand{font-family:Georgia,serif;font-size:28px}.photo-credit{flex-basis:100%;font-size:12px;opacity:.75}.basket-row{padding:15px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.basket-row button{padding:7px 12px;background:transparent;color:var(--ink);border:1px solid}#clear-basket{padding:14px 20px;background:transparent;color:var(--ink);margin:0 10px 12px 0;border:1px solid}#basket-total{font-weight:bold}
/* Willow: approachable healthcare, soft shapes and clear steps. */
.clinic-hero{padding:70px 6% 80px;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.clinic-hero figure{height:560px}.clinic-hero img{border-radius:160px 160px 25px 25px;object-position:65% center}.clinic-hero figcaption{position:absolute;bottom:28px;left:-30px;padding:22px 30px;background:var(--ink);color:white;border-radius:16px;font-size:17px}.theme-clinic .button,.theme-clinic .interaction{border-radius:15px}.care-strip{margin:0 6%;padding:25px 35px;background:var(--accent);display:flex;justify-content:space-between;gap:25px;border-radius:18px;font-size:15px}.theme-clinic .offerings{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:45px}.theme-clinic .offering{padding:32px;background:white;border:1px solid var(--line);border-radius:22px}.theme-clinic .offer-copy{margin:40px 0 24px}.theme-clinic .story{background:#e6eee2;display:grid;grid-template-columns:1fr 1fr;gap:90px}.visit-steps{list-style:none;padding:0;margin:0}.visit-steps li{display:flex;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}.visit-steps li>span{border:1px solid;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;flex-shrink:0}.visit-steps h3{font-size:24px}.visit-steps p{margin:0}
/* FORME: editorial typography, an asymmetric portrait and a service menu. */
.theme-salon{--paper:#f5eae4;--ink:#542c39;--accent:#e8d2ca;--line:#542c3930}.theme-salon .brand{font-family:Arial,sans-serif;letter-spacing:.19em;font-size:22px}.salon-hero{padding:60px 7% 90px;display:grid;grid-template-columns:1.2fr .8fr;gap:40px 9%}.salon-title{grid-column:1/-1;text-align:center}.salon-title h1{font-family:Georgia,serif;font-size:clamp(65px,8.5vw,128px);margin:15px 0 0}.salon-hero figure{height:500px;margin-top:25px}.salon-hero img{border-radius:50% 50% 0 0}.salon-hero figcaption{margin-top:14px;font-size:13px;text-transform:uppercase;letter-spacing:.12em}.salon-aside{align-self:center;max-width:330px}.ornament{font-size:100px;line-height:1;font-family:Georgia,serif}.salon-aside .kicker{margin-top:45px;line-height:1.8}.theme-salon .button{border-radius:50px;background:transparent;color:var(--ink)}.theme-salon .collection{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;border-top:1px solid var(--line)}.theme-salon h2{font-family:Georgia,serif;font-style:italic}.theme-salon .offering{padding:25px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:35px 1fr;gap:20px}.theme-salon .offering button{grid-column:2;justify-self:start}.theme-salon .item-number{padding-top:7px}.theme-salon .story{background:var(--ink);color:var(--paper);text-align:center}.theme-salon .story-heading{max-width:850px;margin:auto}.theme-salon .story-copy p{margin:0 auto 20px}.theme-salon .enquiry h2{font-style:normal}
/* Stillwater: an immersive hospitality cover and wide room rows. */
.theme-hotel{--paper:#f2eee6;--ink:#293d3c;--accent:#e2ddd2;--line:#293d3c30}.theme-hotel h1,.theme-hotel h2,.theme-hotel h3{font-family:Georgia,serif}.theme-hotel .site-header{justify-content:center;flex-direction:column;gap:22px}.theme-hotel .brand{font-size:36px}.hotel-hero{position:relative;min-height:690px;display:grid;place-items:center;text-align:center;color:white;padding:100px 8%}.hotel-hero>img{position:absolute;inset:0;filter:brightness(.43)}.hotel-hero .hero-copy{position:relative;max-width:900px}.hotel-hero .lead{margin:25px auto 35px}.hotel-hero .button{background:#f2eee6;color:#293d3c;border-color:#f2eee6}.image-note{position:absolute;bottom:20px;font-size:12px;letter-spacing:.15em;text-transform:uppercase}.stay-bar{background:var(--ink);color:var(--paper);padding:30px 7%;display:flex;justify-content:space-between;gap:25px;font-size:15px}.theme-hotel .collection .section-heading{margin:auto;text-align:center}.theme-hotel .offerings{margin-top:60px}.theme-hotel .offering{display:grid;grid-template-columns:70px 1fr auto;gap:35px;align-items:center;padding:40px 0;border-top:1px solid var(--line)}.theme-hotel .offering p{margin-bottom:0;max-width:520px}.theme-hotel .item-number{font-family:Georgia,serif;font-size:40px}.hotel-story{display:grid;grid-template-columns:1fr 1fr;background:#e2ddd2;align-items:center}.hotel-story>img{min-height:560px;max-height:650px}.hotel-story>div{padding:65px 12%}.hotel-story li{padding:13px 0;border-bottom:1px solid var(--line)}.hotel-story ul{list-style:none;padding:0}
/* Gather: acid-lime typography and an energetic, dark stage. */
.theme-events{--paper:#18191a;--ink:#eef1e7;--accent:#292c2b;--line:#eef1e735}.theme-events .brand{font-weight:800;font-family:Arial,sans-serif}.events-hero{padding:80px 6% 65px;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:50px}.events-hero h1{font-weight:900;text-transform:uppercase;color:#dbff85;font-size:clamp(65px,8vw,116px)}.events-hero .button{background:#dbff85;color:#18191a;border:0}.event-photo{height:570px;position:relative;transform:rotate(3deg)}.event-photo img{border-radius:5px}.event-sticker{position:absolute;bottom:-20px;left:-25px;transform:rotate(-9deg);background:#bba6f4;color:#18191a;padding:25px;font-weight:800;font-size:20px;line-height:1.2}.event-ribbon{display:flex;justify-content:space-around;align-items:center;flex-wrap:wrap;gap:25px;background:#dbff85;color:#18191a;font-size:20px;font-weight:600;padding:25px}.event-ribbon span{font-size:30px}.theme-events .offerings{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:45px}.theme-events .offering{border:1px solid var(--line);padding:30px;min-height:330px;display:flex;flex-direction:column;align-items:start}.theme-events .offering:nth-child(2){background:#bba6f4;color:#18191a;transform:translateY(25px)}.theme-events .offer-copy{margin-top:35px}.theme-events .offering button{margin-top:auto}.theme-events .story{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;border-top:1px solid var(--line);align-items:center}.theme-events .story h2{color:#dbff85}.theme-events .enquiry{background:#dbff85;color:#18191a}.theme-events .interaction{--paper:#fff;--ink:#18191a;--line:#18191a30;background:#ffffff90}.theme-events footer{color:#eef1e7}
/* Roam: landscape, a route list and travel-journal details. */
.theme-tourism{--paper:#f4f0e5;--ink:#293e31;--accent:#e1e5d7;--line:#293e3130}.theme-tourism .brand{font-weight:800;font-family:Arial,sans-serif}.tourism-hero{position:relative;padding:85px 7%;min-height:720px;display:flex;align-items:center;color:#fff}.tourism-hero>img{position:absolute;inset:0;filter:brightness(.53)}.tourism-hero .hero-copy{position:relative;max-width:660px}.tourism-hero h1{font-family:Georgia,serif;font-size:clamp(65px,8vw,115px)}.tourism-hero .button{background:#eac184;color:#293e31;border:0}.compass{position:absolute;right:8%;bottom:65px;font-size:65px;text-align:center;line-height:1.3}.trip-strip{display:flex;gap:25px;justify-content:space-between;margin:0 7%;padding:28px 0;border-bottom:1px solid var(--line);font-size:14px}.theme-tourism .collection{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.theme-tourism h2{font-family:Georgia,serif}.theme-tourism .offering{padding:30px 30px 30px 75px;border-left:1px solid #293e3160;position:relative}.theme-tourism .item-number{position:absolute;left:-21px;top:30px;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--ink);background:var(--paper);opacity:1;border-radius:50%}.theme-tourism .story{background:var(--ink);color:var(--paper)}.theme-tourism .story h2{max-width:800px}.field-notes{display:grid;grid-template-columns:1fr 1fr;gap:70px;max-width:1050px;font-size:19px}.theme-tourism .interaction{border-radius:20px}
/* Everyday Objects: a quiet product-led shop with a real sample basket. */
.theme-store{--paper:#f9f7f2;--ink:#38352f;--accent:#e7e3da;--line:#38352f30}.theme-store .brand{font-family:Arial,sans-serif;font-size:23px}.store-hero{display:grid;grid-template-columns:.9fr 1.1fr;min-height:640px}.store-copy{padding:70px 12%;align-self:center}.store-hero h1{font-family:Georgia,serif;font-size:clamp(65px,7vw,105px)}.store-hero figure{min-height:620px;background:#e5e0d9}.store-hero figure img{object-position:center}.store-hero figcaption{position:absolute;left:30px;bottom:30px;font-size:12px;letter-spacing:.15em;background:#f9f7f2d9;padding:12px}.theme-store .button{background:transparent;color:var(--ink);border:0;border-bottom:1px solid;padding-left:0;padding-right:0}.theme-store .collection{padding-top:85px}.theme-store .offerings{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.theme-store .offering .item-number{display:none}.product-photo,.product-art{height:330px;margin-bottom:25px;background:#e7e3da}.product-art{display:grid;place-items:center;overflow:hidden}.art-1{background:#dce0d5}.art-1 span{width:145px;height:170px;background:#b7aa8b;transform:rotate(-9deg);position:relative;box-shadow:15px 20px 25px #0002}.art-1 span:before{content:'';position:absolute;width:70px;height:60px;border:9px solid #b7aa8b;border-bottom:0;left:28px;top:-55px;border-radius:35px 35px 0 0}.art-2{background:#e6dbd4}.art-2 span{width:155px;height:205px;background:#816650;border-left:12px solid #5e4939;transform:rotate(10deg);box-shadow:5px 5px 0 #f9f7f2,18px 20px 25px #0002}.theme-store .offering h3{font-size:24px}.theme-store .offering button{width:100%;text-align:left;display:block}.theme-store .story{border-top:1px solid var(--line);text-align:center;padding:100px 15%}.theme-store .story-heading{max-width:800px;margin:auto}.theme-store .story-copy p{margin:0 auto 20px}.theme-store .enquiry{background:#eeebe2}.theme-store .interaction{background:var(--paper)}
@media(max-width:900px){.section{padding:70px 6%}.clinic-hero{gap:35px}.clinic-hero figure{height:450px}.events-hero{gap:25px}.event-photo{height:450px}.theme-salon .collection,.theme-tourism .collection,.theme-events .story{gap:35px}.enquiry{gap:35px}.theme-clinic .story{gap:35px}.theme-events .offering{padding:23px}.theme-store .offerings{gap:20px}.product-photo,.product-art{height:260px}.store-copy{padding:50px 10%}.store-hero figure{min-height:520px}.theme-hotel .offering{gap:20px}.care-strip{padding:23px;gap:15px}}
@media(max-width:650px){h1{font-size:55px}h2{font-size:40px}.demo-banner{font-size:11px;padding:12px 5%}.site-header{align-items:flex-start;flex-direction:column;gap:22px;padding:24px 6%}.site-header nav{gap:26px;font-size:14px}.brand{font-size:26px}.section{padding:60px 6%}.enquiry{grid-template-columns:1fr;gap:25px}.interaction{padding:25px}.clinic-hero{grid-template-columns:1fr;padding:45px 6% 55px}.clinic-hero figure{height:380px;margin-left:20px}.clinic-hero img{border-radius:100px 100px 20px 20px}.clinic-hero figcaption{left:-20px;font-size:15px;padding:18px}.care-strip,.trip-strip{flex-direction:column;gap:14px}.theme-clinic .offerings,.theme-clinic .story{grid-template-columns:1fr}.theme-clinic .offer-copy{margin-top:25px}.salon-hero{padding:35px 6% 60px;grid-template-columns:1fr;gap:25px}.salon-title h1{font-size:61px}.salon-hero figure{height:360px;margin-top:0}.salon-aside{max-width:none}.salon-aside .ornament{float:right;font-size:65px}.salon-aside .lead{max-width:80%}.salon-aside .kicker{margin-top:25px}.theme-salon .collection{grid-template-columns:1fr;gap:20px}.hotel-hero{min-height:570px;padding:65px 6%}.hotel-hero h1{font-size:65px}.stay-bar{flex-direction:column;gap:18px;padding:25px 6%}.theme-hotel .offering{grid-template-columns:40px 1fr;gap:20px}.theme-hotel .offering button{grid-column:2;justify-self:start}.theme-hotel .item-number{font-size:28px}.hotel-story{grid-template-columns:1fr}.hotel-story>img{min-height:0;height:330px}.hotel-story>div{padding:50px 6%}.events-hero{grid-template-columns:1fr;padding:35px 6% 60px;gap:45px}.events-hero h1{font-size:72px}.event-photo{height:350px;width:94%;margin:auto}.event-sticker{font-size:16px;left:-10px;padding:20px}.event-ribbon{font-size:15px;gap:16px}.event-ribbon span{font-size:20px}.theme-events .offerings,.theme-events .story{grid-template-columns:1fr}.theme-events .offering:nth-child(2){transform:none}.theme-events .offering{min-height:280px}.tourism-hero{min-height:650px;padding:65px 6%}.tourism-hero h1{font-size:70px}.compass{font-size:42px;bottom:30px}.theme-tourism .collection{grid-template-columns:1fr;gap:20px}.theme-tourism .offerings{margin-left:20px}.theme-tourism .offering{padding-left:45px;padding-right:0}.field-notes{grid-template-columns:1fr;gap:0;font-size:17px}.store-hero{grid-template-columns:1fr}.store-copy{padding:40px 6%}.store-hero h1{font-size:75px}.store-hero figure{min-height:0;height:400px}.theme-store .offerings{grid-template-columns:1fr}.product-photo,.product-art{height:350px}.theme-store .story{padding:65px 6%}footer{flex-direction:column;gap:25px}.photo-credit{flex-basis:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Resolve theme colours on the body where each palette is defined. */
body{background:var(--paper);color:var(--ink)}
.store-hero figure{height:640px;min-height:0}
@media(max-width:900px){.store-hero figure{height:560px}}
@media(max-width:650px){.store-hero figure{height:400px}}
