:root{--blue:#08784f;--ink:#163c2c;--aqua:#886016;--pale:#f4f8f5;--line:#dce7df}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);background:white;font:16px/1.6 Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #c79630;outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.08}h1{font-size:clamp(44px,5.2vw,80px);letter-spacing:-2.5px}h2{font-size:clamp(32px,3.3vw,49px);letter-spacing:-1px}h3{font-size:28px}.announcement{background:var(--blue);color:white;text-align:center;padding:9px 45px;font-size:14px;position:relative}.announcement a{text-decoration:underline;margin-left:12px}.announcement button{position:absolute;right:16px;top:3px;background:none;color:white;border:0;font-size:25px}header{display:flex;align-items:center;justify-content:space-between;padding:19px 4%;gap:24px;position:sticky;top:0;background:#fff;z-index:10;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:15px;flex-shrink:0}.brand strong{font:48px/.8 Georgia,serif;color:var(--blue);position:relative;padding-bottom:12px}.brand strong span{position:absolute;bottom:-5px;left:0;font-size:50px;line-height:.5;color:#c79630}.brand div{font:14px Georgia,serif;letter-spacing:.5px}.brand small{display:block;font:9px Arial;letter-spacing:2px;margin-top:7px}nav{display:flex;gap:19px}nav a{font-size:14px}nav a:hover{color:var(--aqua)}.bag{background:none;border:1px solid var(--line);border-radius:4px;padding:8px 12px;font-size:14px}.bag span{background:var(--pale);padding:2px 6px;margin-left:4px}.menu{display:none}.hero{display:grid;grid-template-columns:46% 54%;background:var(--pale);min-height:590px}.hero-copy{padding:75px 7% 55px 11%}.eyebrow{font-size:12px;letter-spacing:2.4px;font-weight:600;margin-bottom:22px;color:var(--aqua)}.hero-copy>p:not(.eyebrow){margin-top:26px;font-size:18px;line-height:1.7}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.button{border:1px solid var(--blue);display:inline-block;background:var(--blue);color:white;padding:14px 22px;font-size:14px;font-weight:600;border-radius:2px;text-align:center}.button:hover{background:#075a3c;color:white}.outline{background:transparent;color:var(--blue)}.hero-note{margin-top:43px;font-size:13px;color:#53695c}.hero-image{position:relative;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover}.hero-image span{position:absolute;bottom:25px;right:25px;background:#fffE;padding:8px 13px;font-size:11px;letter-spacing:2px}.section{padding:75px 6%;scroll-margin-top:20px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:36px}.section-top>p{max-width:390px;color:#53695c}.services{display:grid;grid-template-columns:1fr 1fr;gap:30px}.services article{background:var(--pale)}.services img{width:100%;height:270px;object-fit:cover;display:block}.services article>div{padding:28px 30px 32px}.services .eyebrow{margin-bottom:14px}.services p:not(.eyebrow){margin:14px 0 20px;max-width:400px}.text-button{background:transparent;border:0;border-bottom:1px solid var(--blue);padding:0 0 5px;color:var(--blue);font-size:14px;font-weight:600}.shop{background:#ffffff}.filters{display:flex;gap:12px;margin-bottom:30px;flex-wrap:wrap}.filters button,.tabs button{background:white;border:1px solid var(--line);padding:10px 20px;color:var(--ink);font-size:14px}.filters .active,.tabs .active{background:var(--blue);color:white;border-color:var(--blue)}.products{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.product .photo{height:230px;position:relative;overflow:hidden;background:#eef3ef}.product img{height:100%;width:100%;object-fit:cover;transition:transform .4s}.product:hover img{transform:scale(1.04)}.badge{position:absolute;left:12px;top:12px;background:var(--blue);color:white;padding:5px 10px;font-size:12px}.product h3{font:18px Arial;margin:17px 0 7px}.price{display:flex;gap:10px;align-items:center}.price del{color:#69766d;font-size:14px}.price strong{color:var(--blue);font-size:18px}.stock{font-size:13px;color:#53695c;margin:8px 0 13px}.product button{width:100%;background:white;border:1px solid var(--line);color:var(--blue);padding:10px;font-size:14px}.product button:hover{background:var(--blue);color:white}.portfolio{display:grid;grid-template-columns:40% 60%;gap:0;align-items:center}.portfolio>div{padding-right:50px}.portfolio p:not(.eyebrow){margin:23px 0;color:#53695c}.portfolio img{width:100%;height:420px;object-fit:cover}.tabs{display:flex;gap:10px}.about{border-top:1px solid var(--line);text-align:center}.about>p:not(.eyebrow){max-width:720px;margin:25px auto 45px;font-size:18px;color:#53695c}.steps{display:grid;grid-template-columns:repeat(3,1fr);text-align:left;gap:50px}.steps span{font:36px Georgia;color:#a47922}.steps h3{font-size:25px;margin:15px 0 12px}.steps p{color:#53695c}.contact{background:var(--blue);color:white;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.contact .eyebrow{color:#f6d997}.contact p:not(.eyebrow){margin:23px 0;max-width:400px}.white{background:white;color:var(--blue);border-color:white}.contact small{display:block;margin-top:18px;color:#e2efE7}footer{padding:38px 6%;display:flex;gap:18px;align-items:center;flex-wrap:wrap}.footer-brand{font:24px Georgia}footer p,footer span,footer small{font-size:13px;color:#53695c}footer small{margin-left:auto}dialog{border:0;padding:40px;width:min(550px,92vw);color:var(--ink);border-radius:5px;box-shadow:0 20px 70px #163c2c40}dialog::backdrop{background:#0e2a3b99}.close{position:absolute;top:8px;right:14px;background:none;border:0;font-size:28px;color:var(--ink)}dialog h2{font-size:32px;margin-bottom:20px}dialog p{margin:16px 0}dialog label{display:block;margin:14px 0;font-size:14px}dialog input,dialog textarea,dialog select{display:block;width:100%;padding:11px;border:1px solid var(--line);font:16px Arial;margin-top:6px}dialog textarea{min-height:90px}.bag-item{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:14px 0;gap:15px}.bag-item button{background:none;border:0;color:var(--blue);text-decoration:underline;font-size:13px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 22px;z-index:30;border-radius:3px;display:none;white-space:nowrap}@media(min-width:1500px){main{max-width:1600px;margin:auto}}@media(max-width:1150px){header{gap:12px}.brand div{display:none}nav{gap:14px}.hero-copy{padding-left:10%;padding-top:60px}.products{gap:16px}.product .photo{height:200px}}@media(max-width:800px){header{padding:16px 5%}.brand div{display:block;font-size:11px}.brand small{font-size:8px;letter-spacing:1px}.brand strong{font-size:38px}.menu{display:block;background:none;border:0;font-size:22px;color:var(--blue);margin-left:auto}.bag{font-size:12px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:20px;box-shadow:0 12px 15px #163c2c14;grid-template-columns:1fr 1fr;gap:20px}nav.open{display:grid}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:45px 6% 35px}.hero-image{height:290px}.hero h1{letter-spacing:-1.5px}.hero-note{margin-top:25px}.section{padding:48px 6%}.section-top{display:block}.section-top>p{margin-top:20px}.services{grid-template-columns:1fr;gap:24px}.services img{height:245px}.products{grid-template-columns:1fr 1fr;gap:26px 15px}.product .photo{height:180px}.price{flex-wrap:wrap;gap:4px 10px}.portfolio{grid-template-columns:1fr;gap:30px}.portfolio>div{padding:0}.portfolio img{height:280px}.steps{grid-template-columns:1fr;gap:28px}.steps>div{border-top:1px solid var(--line);padding-top:22px}.steps h3{margin-top:8px}.contact{grid-template-columns:1fr;gap:12px}footer{display:block}footer>*{display:block;margin:10px 0}footer small{margin-left:0}.announcement{font-size:12px}.announcement a{display:inline-block;margin-left:3px}.hero-image span{font-size:10px}.product h3{font-size:16px}#toast{white-space:normal;width:85%;text-align:center}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.product img{transition:none}}

.floral-intro{display:block;margin-top:24px;font-size:14px;text-decoration:underline;text-underline-offset:5px;color:var(--aqua)}.floral{display:grid;grid-template-columns:43% 57%;gap:0;background:#f4f8f5;padding-top:65px;padding-bottom:65px}.floral-photo img{width:100%;height:100%;max-height:640px;object-fit:cover;display:block}.floral-copy{padding:20px 0 20px 55px}.floral-copy>p:not(.eyebrow){margin:24px 0;max-width:520px;color:#53695c}.floral-options{margin:28px 0}.floral-options article{display:flex;gap:20px;padding:18px 0;border-top:1px solid #dce7df}.floral-options span{font:24px Georgia;color:var(--aqua)}.floral-options h3{font-size:23px}.floral-options p{font-size:15px;color:#53695c;margin-top:9px}nav{gap:13px}nav a{font-size:13px}@media(max-width:1100px){.brand div{display:none}}@media(max-width:800px){.brand div{display:block}.floral{grid-template-columns:1fr;gap:30px}.floral-photo img{height:320px}.floral-copy{padding:0}.floral-options h3{font-size:22px}nav a{font-size:14px}}

/* Give the brand and navigation their own space. */
.storefront header{display:grid;grid-template-columns:1fr auto;gap:0;padding:24px 5% 0;background:white}
.storefront header .brand{grid-column:1;grid-row:1;margin-bottom:24px}
.storefront header .brand div{display:block;font-size:14px}
.storefront header .brand small{font-size:10px;letter-spacing:1.6px}
.storefront header .bag{grid-column:2;grid-row:1;margin-bottom:24px;padding:11px 18px;font-size:14px}
.storefront header nav{grid-column:1/-1;grid-row:2;display:flex;justify-content:center;align-items:center;gap:clamp(18px,2.4vw,40px);border-top:1px solid var(--line);padding:18px 0;position:static;box-shadow:none}
.storefront header nav a{font-size:15px;white-space:nowrap;line-height:1.5;padding:4px 0}
.storefront header .menu{display:none}
.storefront{scroll-padding-top:155px}
html:has(.storefront){scroll-padding-top:155px}
@media(max-width:1100px){
.storefront header{grid-template-columns:1fr auto auto;gap:15px;padding:20px 5%}
.storefront header .brand,.storefront header .bag{margin-bottom:0}
.storefront header .brand{grid-column:1;grid-row:1}
.storefront header .menu{display:block;grid-column:2;grid-row:1;margin:0;padding:8px 12px;min-height:44px;min-width:44px}
.storefront header .bag{grid-column:3;grid-row:1}
.storefront header nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;max-height:calc(100dvh - 100px);overflow-y:auto;padding:14px 6% 25px;box-shadow:0 15px 25px #163c2c14;gap:0}
.storefront header nav.open{display:flex;flex-direction:column;align-items:stretch}
.storefront header nav a{font-size:18px;padding:14px 4px;border-bottom:1px solid var(--line);min-height:52px}
html:has(.storefront){scroll-padding-top:100px}
}
@media(max-width:600px){.storefront header{gap:8px;padding:19px 5%}.storefront header .brand div{font-size:11px}.storefront header .brand small{font-size:8px;letter-spacing:.7px}.storefront header .brand{gap:10px}.storefront header .bag{padding:9px 10px;font-size:13px}.storefront header .menu{padding:8px}.storefront header .brand strong{font-size:36px}}
@media(max-width:360px){.storefront header .brand div{display:none}}
.fee-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.fee-grid article{border:1px solid var(--line);padding:35px;background:var(--pale)}.fee-grid h3{font-size:29px}.fee-grid h3 strong{font-weight:400;color:var(--blue)}.fee-grid article>p:not(.eyebrow){margin:22px 0;color:#53695c}.consultation-note{font-size:14px;background:var(--pale);padding:14px}.floral-teaser .floral-photo img{height:340px}.floral-teaser{align-items:center}.floral-page-hero{display:grid;grid-template-columns:56% 44%;background:var(--pale);align-items:center;gap:0}.floral-page-hero>div{padding-right:45px}.floral-page-hero h1{font-size:clamp(40px,4.5vw,67px)}.floral-page-hero p:not(.eyebrow){margin:25px 0;max-width:470px;font-size:18px}.floral-page-hero .button{margin:5px 8px 5px 0}.floral-page-hero img{width:100%;height:480px;object-fit:cover}.floral-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:40px}.floral-service-grid article{padding:30px;border:1px solid var(--line)}.floral-service-grid span{font:30px Georgia;color:var(--aqua)}.floral-service-grid h3{margin-top:18px;font-size:27px}.floral-service-grid p{margin:20px 0;color:#53695c}.back-interior{display:block;margin-top:22px;text-decoration:underline;text-underline-offset:5px}@media(max-width:800px){.fee-grid,.floral-page-hero,.floral-service-grid{grid-template-columns:1fr}.fee-grid article{padding:25px}.floral-page-hero{gap:30px}.floral-page-hero>div{padding:0}.floral-page-hero img{height:330px}.floral-service-grid{gap:20px}.floral-teaser .floral-photo img{height:280px}}

.about-page-intro{background:var(--pale);text-align:center;padding-top:65px;padding-bottom:65px}.about-page-intro h1{font-size:64px;letter-spacing:-1px}.about-page-intro>p:last-child{font:24px Georgia;margin-top:22px}.story-section{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.story-copy p{font-size:18px;color:#53695c;margin-bottom:22px}.team-section{padding-top:20px}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:40px}.team-member h3{font:17px/1.6 Arial;margin:0 0 16px;min-height:55px}.team-member h3 span{color:var(--aqua);margin:0 3px}.headshot-slot{aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f4f7f1,#e6ede5);border:8px solid #e4ece4;box-shadow:inset 3px 3px 6px #b4c7b5,inset -3px -3px 6px #ffffff,3px 3px 8px #133b5315;border-radius:5px}.headshot-slot>span{font-size:14px;color:#637d67;letter-spacing:1px}.team-member img{width:100%;height:100%;object-fit:cover}.about-editor{margin-top:40px;background:white;border:1px solid var(--line);padding:30px}.about-editor h2{font-size:34px;margin-bottom:14px}.about-editor>p{color:#53695c;margin-bottom:25px}.about-editor label{display:block;font-size:14px;margin:15px 0}.about-editor input,.about-editor textarea{display:block;width:100%;font:16px Arial;padding:12px;border:1px solid var(--line);margin-top:6px}.about-editor textarea{min-height:200px;line-height:1.7}.team-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.team-edit-card{border:1px solid var(--line);padding:20px}.team-edit-card>p{font-weight:600;color:var(--blue)}.team-edit-card .headshot-slot{max-width:170px;aspect-ratio:4/5;margin:20px auto}.about-editor .editor-footer{justify-content:flex-start}.about-public-preview{width:min(1100px,95vw);max-height:90vh}.about-public-preview .team-grid{gap:18px}.about-public-preview .story-copy{margin-top:25px}.about-public-preview h2{margin-top:25px}@media(max-width:850px){.story-section{grid-template-columns:1fr;gap:25px}.team-grid{grid-template-columns:1fr 1fr;gap:25px 18px}.team-member h3{font-size:16px}.team-edit-grid{grid-template-columns:1fr}.about-page-intro h1{font-size:45px}.about-editor{padding:22px}.about-public-preview .team-grid{grid-template-columns:1fr 1fr}}@media(max-width:380px){.team-grid{grid-template-columns:1fr}.team-member h3{min-height:0}}

.fee-grid article{display:flex;flex-direction:column}.fee-grid article h3{min-height:64px}.fee-grid .fee-rate{min-height:58px;font-size:18px;color:var(--blue)}.fee-grid article .button{margin-top:auto;align-self:flex-start}@media(max-width:800px){.fee-grid article h3,.fee-grid .fee-rate{min-height:0}}

.service-page-intro{background:var(--pale);text-align:center}.service-page-intro h1{font-size:clamp(37px,4.5vw,66px);letter-spacing:-1px}.service-page-intro>p:last-of-type{font-size:19px;margin-top:24px;color:#53695c}.service-page-intro .actions{justify-content:center}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.service-detail>img{width:100%;height:440px;object-fit:cover}.service-detail>div>p:not(.eyebrow){margin:25px 0;color:#53695c}.commercial-detail{background:var(--pale)}.package-detail{margin:25px 0 30px;padding:25px;border:1px solid var(--line);background:white}.package-detail h3{font-size:27px}.package-detail h4{font-size:15px;margin:20px 0 10px}.pending-inclusions{font-size:15px;color:#53695c}.service-page-fees h2{margin-bottom:30px}@media(max-width:800px){.service-detail{grid-template-columns:1fr;gap:30px}.service-detail>img{height:280px}.commercial-detail>img{grid-row:1}.service-page-intro h1{font-size:39px}}

.headshot-slot{aspect-ratio:1/1;border-radius:20px;border:7px solid #e3ebdf;overflow:hidden;position:relative;box-shadow:inset 4px 4px 9px #b7c8b4,inset -4px -4px 9px #ffffff,0 5px 13px #163c2c1a}.headshot-slot::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 2px 2px 5px #163c2c33,inset -2px -2px 5px #ffffff80}.headshot-slot img{display:block;min-width:0;min-height:0}.photo-controls{margin-top:20px;border-top:1px solid var(--line);padding-top:10px}.photo-controls select{display:block;width:100%;padding:10px;font:16px Arial;border:1px solid var(--line);margin-top:6px;background:white}.photo-controls input[type=range]{padding:0;min-height:30px;accent-color:var(--blue);cursor:pointer}.photo-controls output{float:right;color:var(--blue);font-weight:600}.team-edit-card .headshot-slot{max-width:240px;aspect-ratio:1/1}.team-edit-card .headshot-slot img{width:100%;height:100%;object-fit:cover}

#residential-commercial{scroll-margin-top:170px}.contact-page-intro{text-align:center;background:var(--pale)}.contact-page-intro h1{font-size:60px}.contact-page-intro>p:last-child{margin-top:25px;font-size:18px;color:#53695c}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-info-block{margin-top:35px}.contact-info-block h3{font-size:25px;margin-bottom:15px}.contact-info-block p{margin-bottom:22px;color:#53695c}.phone-link{display:block;font-size:22px;color:var(--blue);margin:9px 0;text-decoration:underline;text-underline-offset:5px}.hours-card{background:var(--pale);border:1px solid var(--line);padding:35px;align-self:start}.hours-card h2{font-size:36px}.hours-card table{width:100%;border-collapse:collapse;margin-top:30px;font-size:16px}.hours-card th,.hours-card td{padding:17px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.hours-card th{font-weight:400}.hours-card td{text-align:right;padding-left:16px}.hours-card>p:last-child{margin-top:24px;font-size:14px;color:#53695c}.map-section{padding-top:0}.map-section iframe{display:block;width:100%;height:420px;border:1px solid var(--line);border-radius:5px;background:var(--pale)}.map-section>.text-button{display:inline-block;margin-top:20px}@media(max-width:800px){.contact-details{grid-template-columns:1fr;gap:35px}.hours-card{padding:25px}.contact-page-intro h1{font-size:45px}.map-section iframe{height:330px}#residential-commercial{scroll-margin-top:105px}}

:root{--gold:#f7b63b;--gold-dark:#886016}body{background:#fff}.brand-logo{width:98px;height:75px;object-fit:contain;display:block}.storefront header{padding-left:0;padding-right:0}.storefront header>.brand{margin-left:5%}.storefront header>.bag{margin-right:5%}.storefront header nav{background:var(--blue);border-top:3px solid var(--gold);border-bottom:3px solid var(--gold);padding:16px 5%;color:white}.storefront header nav a{color:white}.storefront header nav a:hover{color:#ffe0a1}.announcement{background:#064f35}.announcement a{color:#ffe0a1}.button:not(.outline):not(.white){background:var(--gold);border-color:var(--gold);color:#183c2c}.button:not(.outline):not(.white):hover{background:#ffd072;border-color:#ffd072}.outline{border-color:var(--blue)}.hero{background:white}.eyebrow{color:var(--gold-dark)}.hero-image img{object-position:center}.badge{background:var(--gold);color:#183c2c;font-weight:600}.price strong{color:#805a12}.section-top h2{position:relative}.section-top h2::after{content:"";display:block;width:70px;height:3px;background:var(--gold);margin-top:22px}.contact{border-top:4px solid var(--gold)}.contact .eyebrow{color:#ffe0a1}.white{color:var(--blue)}.hero-image span{border-left:3px solid var(--gold)}.brand strong{display:none}.inspiration-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.inspiration-grid img{display:block;width:100%;height:270px;object-fit:cover}.inspiration-grid h3{font-size:26px;margin-top:20px}.inspiration-grid p{margin-top:8px;color:#53695c;font-size:15px}.inspiration-grid a:hover h3{color:var(--gold-dark)}.inspiration-gallery{background:white}.floral-options span,.steps span{color:var(--gold-dark)}.storefront .contact-page-intro,.storefront .about-page-intro,.storefront .service-page-intro{background:white;border-bottom:1px solid var(--line)}.headshot-slot{border-color:#dce7d9;background:linear-gradient(135deg,#f6f9f4,#e0e9dc)}.storefront header .brand div{color:var(--blue)}
@media(max-width:1100px){.storefront header{padding:16px 5%;grid-template-columns:1fr auto auto}.storefront header>.brand{margin:0}.storefront header>.bag{margin:0}.storefront header nav{padding:10px 6% 22px;background:var(--blue)}.storefront header nav a{border-bottom:1px solid #ffffff30}.brand-logo{width:78px;height:60px}.storefront header .menu{color:var(--blue)}}
@media(max-width:800px){.inspiration-grid{grid-template-columns:1fr;gap:30px}.inspiration-grid img{height:280px}.brand-logo{width:66px;height:52px}.storefront header .brand div{font-size:10px}.storefront header .brand small{font-size:8px;letter-spacing:.5px}.hero-image{height:320px}}
.storefront header .brand-name{font:700 clamp(25px,2.7vw,42px)/1.15 Georgia,serif;letter-spacing:-.5px}.storefront header .brand-name small{font:600 18px/1.4 Arial,sans-serif;letter-spacing:1px;color:var(--gold-dark);margin-top:9px}.brand-logo{width:115px;height:90px}.shop .section-top h1{font-size:clamp(38px,4vw,60px);letter-spacing:-1px}.shop-empty{grid-column:1/-1;padding:45px 25px;border:1px dashed var(--line);background:var(--pale);text-align:center}.storefront .shop{background:white;min-height:60vh}@media(max-width:800px){.storefront header .brand-name{font-size:24px;max-width:230px}.storefront header .brand-name small{font-size:14px}.brand-logo{width:66px;height:52px}}@media(max-width:500px){.storefront header .brand-name{font-size:19px;max-width:170px}.storefront header .brand-name small{font-size:12px;margin-top:5px}.brand-logo{width:52px;height:45px}.storefront header .brand{gap:8px}.storefront header .bag{padding:7px;font-size:12px}}@media(max-width:360px){.storefront header .brand-name{display:block;font-size:17px}.brand-logo{width:42px;height:38px}}

.storefront header .brand-motto{display:block;font:400 15px/1.5 Arial,sans-serif;letter-spacing:1px;color:var(--blue);margin-top:5px}@media(max-width:800px){.storefront header .brand-motto{font-size:12px;letter-spacing:.4px}}@media(max-width:500px){.storefront header .brand-motto{font-size:10px;letter-spacing:0;margin-top:3px}}
/* Brand hierarchy: main name first, alias and motto equally readable. */
.storefront header .brand-name{font-family:Georgia,serif;font-weight:400;font-size:clamp(40px,3.8vw,56px);line-height:1.12;letter-spacing:-.6px;max-width:none}
.storefront header .brand-name small,.storefront header .brand-motto{display:block;font:400 20px/1.5 Arial,sans-serif;letter-spacing:.4px;margin-top:7px}
.storefront header .brand-name small{color:var(--gold-dark)}
.storefront header .brand-motto{color:var(--blue);margin-top:2px}
@media(max-width:800px){.storefront header{grid-template-columns:1fr auto auto}.storefront header .brand{grid-column:1/-1;grid-row:1;align-items:center}.storefront header .brand-name{font-size:clamp(29px,5vw,40px)}.storefront header .brand-name small,.storefront header .brand-motto{font-size:16px;letter-spacing:.2px}.storefront header .brand-logo{width:75px;height:65px}.storefront header .menu{grid-column:2;grid-row:2}.storefront header .bag{grid-column:3;grid-row:2}.storefront header{row-gap:10px}.storefront header nav{max-height:calc(100dvh - 190px)}html:has(.storefront){scroll-padding-top:200px}#residential-commercial{scroll-margin-top:205px}}
@media(max-width:500px){.storefront header .brand-name{font-size:30px;max-width:none;letter-spacing:-.5px}.storefront header .brand-name small,.storefront header .brand-motto{font-size:15px;line-height:1.5;letter-spacing:0}.storefront header .brand{gap:12px}.storefront header .brand-logo{width:57px;height:53px}}
/* Override the original logo-caption rule with the intended brand hierarchy. */
.storefront header .brand div.brand-name{display:block;font:400 clamp(44px,4.5vw,68px)/1.1 Georgia,serif;letter-spacing:-1px;color:var(--blue);max-width:none}
.storefront header .brand div.brand-name small,.storefront header .brand div.brand-name .brand-motto{display:block;font:400 22px/1.45 Arial,sans-serif;letter-spacing:.3px;margin-top:7px}
.storefront header .brand div.brand-name small{color:var(--gold-dark)}
.storefront header .brand div.brand-name .brand-motto{margin-top:2px;color:var(--blue)}
@media(max-width:800px){.storefront header .brand div.brand-name{font-size:38px;letter-spacing:-.6px}.storefront header .brand div.brand-name small,.storefront header .brand div.brand-name .brand-motto{font-size:17px;letter-spacing:0}}
@media(max-width:500px){.storefront header .brand div.brand-name{font-size:32px}.storefront header .brand div.brand-name small,.storefront header .brand div.brand-name .brand-motto{font-size:15px}}
/* Matching brand names with a smaller italic motto. */
.storefront header .brand div.brand-name{font:400 40px/1.15 Georgia,serif;letter-spacing:-.4px;text-align:left}
.storefront header .brand div.brand-name small{font:inherit;font-style:normal;color:var(--blue);letter-spacing:inherit;margin:5px 0 0;padding:0;text-indent:0}
.storefront header .brand div.brand-name .brand-motto{font:italic 20px/1.5 Georgia,serif;letter-spacing:0;margin:7px 0 0;padding:0;text-indent:0}
@media(max-width:800px){.storefront header .brand div.brand-name{font-size:30px}.storefront header .brand div.brand-name small{font:inherit;font-style:normal;letter-spacing:inherit}.storefront header .brand div.brand-name .brand-motto{font:italic 17px/1.5 Georgia,serif}}
@media(max-width:500px){.storefront header .brand div.brand-name{font-size:26px;letter-spacing:-.3px}.storefront header .brand div.brand-name small{font:inherit;font-style:normal;letter-spacing:inherit}.storefront header .brand div.brand-name .brand-motto{font:italic 16px/1.5 Georgia,serif}}
@media(min-width:801px){.storefront header .brand div.brand-name{font-size:28px;letter-spacing:0}.storefront header .brand div.brand-name small{font-size:28px;letter-spacing:0}.storefront header .brand div.brand-name .brand-motto{font-size:16px}.storefront header .brand-logo{width:90px;height:75px}}

.storefront header .bag{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:white;border:1px solid var(--line);border-radius:8px;min-height:48px;padding:10px 14px;color:var(--blue)}.bag-icon{display:block;width:27px;height:31px;flex-shrink:0}.storefront header .bag .bag-count{display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:23px;border-radius:50%;margin:0;padding:0 5px;background:var(--gold);color:#163c2c;font-size:13px;font-weight:600}.storefront header .bag:hover{border-color:var(--gold-dark);background:#fafcf8}@media(max-width:500px){.storefront header .bag{padding:8px 11px}.bag-icon{width:24px;height:28px}}
.quantity-control{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:4px;overflow:hidden;margin:5px 0 14px;background:white}.quantity-control button,.product .quantity-control button{width:38px;height:38px;padding:0;border:0;background:var(--pale);color:var(--blue);font-size:20px;text-decoration:none}.quantity-control input,.quantity-control>span{width:48px;min-height:38px;border:0;text-align:center;font:16px Arial;color:var(--ink);padding:8px 0;-moz-appearance:textfield}.quantity-control input::-webkit-inner-spin-button{appearance:none}.product button:disabled,.quantity-control button:disabled{opacity:.4;cursor:not-allowed;background:#eee;color:#555}.bag-item p{font-size:14px;margin:8px 0}.bag-item .quantity-control{display:flex;width:max-content}.quantity-control button:hover:not(:disabled){background:var(--gold);color:var(--ink)}

.social-footer{width:100%;padding-top:24px;margin-top:12px;border-top:1px solid #c7963060}.social-heading{display:block;color:#08784f;font-family:Georgia,serif;font-size:22px;margin-bottom:16px}.social-links{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}.social-links a,.social-pending{display:inline-flex;gap:10px;align-items:center;font-size:15px}.social-links a{color:#08784f;padding:10px 14px;border:1px solid #c7963060;border-radius:8px;text-decoration:none;transition:background .2s}.social-links a:hover,.social-links a:focus-visible{background:#f7b63b30;border-color:#c79630}.social-links strong{font-size:21px}.social-pending{color:#59645f}.social-pending small{font-size:11px;background:#f7b63b30;color:#635021;padding:4px 7px;border-radius:5px}@media(max-width:600px){.social-links{gap:12px}.social-links a,.social-pending{font-size:14px}}

.portfolio-page h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(36px,4vw,56px);color:#08784f}.portfolio-intro{max-width:650px;margin:20px 0 40px;line-height:1.7}.portfolio-page-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 22px}.portfolio-placeholder{aspect-ratio:4/3;border:1px solid #c7963060;border-radius:14px;background:#f4f7f3;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;color:#648574;box-shadow:inset 0 1px 2px #fff,0 3px 8px #12352a08}.portfolio-placeholder svg{width:48px;height:48px}.portfolio-placeholder span{font-size:13px}.portfolio-slot h3{font-family:Georgia,serif;font-size:20px;font-weight:400;color:#08784f;margin:16px 0 7px}.portfolio-slot p{font-size:13px;color:#647069}.portfolio-cta{margin-top:60px;padding-top:32px;border-top:1px solid #c7963060}.portfolio-cta p{margin:16px 0 24px}@media(max-width:900px){.portfolio-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.portfolio-page-grid{gap:22px 12px}.portfolio-placeholder span{font-size:11px}.portfolio-slot h3{font-size:18px}}

.social-icon{width:21px;height:21px;flex:none;display:block}.social-links a{min-height:44px}.social-pending .social-icon{opacity:.7}
.portfolio-uploaded{display:block;aspect-ratio:4/3;width:100%;object-fit:cover;border-radius:14px}.team-member .headshot-slot{overflow:hidden}.team-member .headshot-slot img{width:100%;height:100%;object-fit:cover}

.team-section .team-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:850px;margin:40px auto 0;gap:48px 40px}.team-section .team-member{text-align:center;min-width:0}.team-section .team-name{font:22px/1.4 Arial,sans-serif;color:#123e30;margin:18px 0 5px;min-height:0}.team-section .team-title{font:16px/1.5 Arial,sans-serif;color:#53695c;margin:0}.team-section .headshot-slot{max-width:360px}@media(max-width:600px){.team-section .team-grid{gap:32px 18px}.team-section .team-name{font-size:18px}.team-section .team-title{font-size:14px}.team-section .headshot-slot{border-width:5px}}
/* Occasion collections */
.gallery-nav{position:relative}.gallery-nav summary{cursor:pointer;list-style:none;font-size:14px;white-space:nowrap;padding:12px 0}.gallery-nav summary::-webkit-details-marker{display:none}.gallery-nav summary:after{content:' ▾';color:#f7b63b}.gallery-dropdown{position:absolute;right:0;top:100%;width:240px;background:#08784f;border:1px solid #f7b63b;border-radius:8px;padding:10px;z-index:100;box-shadow:0 10px 25px #0003}.gallery-dropdown a{display:block!important;padding:9px 12px!important;margin:0!important;white-space:normal;color:white!important}.gallery-dropdown a:hover,.gallery-dropdown a:focus{background:#ffffff18;border-radius:5px}.occasion-collection{padding:48px 0;border-bottom:1px solid #dfe8e1;scroll-margin-top:160px}.occasion-description{max-width:760px;line-height:1.7;margin:18px 0 30px}.occasion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.occasion-grid .portfolio-uploaded{width:100%;height:auto;aspect-ratio:1/1;border-radius:12px}.occasion-grid .portfolio-placeholder{aspect-ratio:1/1}.occasion-grid h3{font-size:23px;margin:18px 0 8px}.occasion-grid p{line-height:1.6}.project-management{background:#f4f8f5;border-top:1px solid #dce8df;border-bottom:1px solid #dce8df}.project-management p:not(.eyebrow){max-width:780px;font-size:18px;line-height:1.7;margin:22px 0}.project-management h2{max-width:850px}
@media(max-width:800px){.gallery-dropdown{position:static;width:100%;box-sizing:border-box;box-shadow:none}.gallery-nav{width:100%}.gallery-nav summary{padding:12px}.occasion-grid{grid-template-columns:1fr}.occasion-collection{scroll-margin-top:100px}}
.footer-inquiries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:18px 32px;width:100%;padding-top:24px;border-top:1px solid #c7963060}.footer-inquiries h3{grid-column:1/-1;font-family:Georgia,serif;font-size:20px;font-weight:400;color:#08784f;margin:0 0 4px}.footer-inquiries a{font-size:16px;line-height:1.5;overflow-wrap:anywhere}.footer-inquiries a:hover{text-decoration:underline}.footer-inquiries a:focus-visible{outline:2px solid #f7b63b;outline-offset:4px}

.footer-inquiries a:nth-of-type(2){text-align:center}.footer-inquiries a:nth-of-type(3){text-align:right}
@media(max-width:650px){.footer-inquiries{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}.footer-inquiries a:nth-of-type(2){text-align:right}.footer-inquiries a:nth-of-type(3){grid-column:1/-1;text-align:left}}

.site-announcement{display:flex;align-items:center;justify-content:center;gap:12px 24px;padding:14px 5%;background:#f7b63b;color:#163c2c;text-align:center;border-bottom:1px solid #dd9c22;flex-wrap:wrap}.site-announcement p{font-size:16px;line-height:1.5;overflow-wrap:anywhere;max-width:1000px;white-space:pre-line}.site-announcement a,.announcement-preview-link{font-weight:700;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.site-announcement a:hover{color:#064f35}.site-announcement a:focus-visible{outline:2px solid #08784f;outline-offset:4px}@media(max-width:650px){.site-announcement{padding:12px 5%;gap:6px}.site-announcement p{font-size:15px;flex-basis:100%}}

.cart-actions{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 12px}.cart-save-note{font-size:14px;color:#53695c;margin-bottom:12px}.cart-actions button:disabled{opacity:.5;cursor:default}

/* Shop sales and rental listings */
.rental-intro{max-width:760px;margin:-10px 0 24px;color:#53695c}.listing-filters{margin-bottom:16px}.product .rental-badge{background:#c79630;color:#163c2c}.product .product-description{font-size:14px;color:#53695c;margin:10px 0;white-space:pre-line;overflow-wrap:anywhere}.product .rental-enquiry{background:var(--blue);color:white}.product .rental-enquiry:disabled{background:#eef3ef;color:#53695c}.rental-terms{font-size:13px;color:#53695c}.rental-contacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}.rental-contacts .button{display:flex;align-items:center;justify-content:center;min-height:52px;padding:12px 14px;line-height:1.4;text-align:center}@media(max-width:600px){.rental-contacts{grid-template-columns:1fr}}[hidden]{display:none!important}

/* Gallery navigation follows the same type scale as its neighbouring links. */
.storefront header nav .gallery-nav summary{font-family:inherit;font-size:15px;font-weight:400;line-height:1.5;padding:4px 0;color:inherit}
.gallery-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.collection-link{margin-top:26px}.gallery-empty{color:#53695c;max-width:620px}.gallery-photo-link{display:block;border-radius:12px}.occasion-grid .portfolio-slot p{font-size:16px;line-height:1.6}.occasion-description{font-size:16px}
@media(max-width:800px){.storefront header nav .gallery-nav summary{font-size:18px;padding:14px 4px;min-height:52px;border-bottom:1px solid #ffffff30}}

/* One portfolio for interiors, floral design and events. */
.work-gallery-tools{display:flex;align-items:end;flex-wrap:wrap;gap:18px;margin:32px 0}.work-gallery-tools label{display:grid;gap:7px;font-size:14px;flex:1;min-width:180px;max-width:300px}.work-gallery-tools select{width:100%;padding:12px;border:1px solid var(--line);border-radius:4px;background:white;color:var(--ink);font:inherit}.work-gallery-tools p{margin:0 0 10px;color:#53695c;font-size:14px}.work-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;margin-top:28px}.work-photo{min-width:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:white}.work-photo-open{position:relative;display:block;border:0;padding:0;width:100%;background:var(--pale);color:white;cursor:zoom-in}.work-photo-open img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.work-photo-open>span{position:absolute;bottom:12px;right:12px;background:#163c2ce6;padding:7px 12px;border-radius:3px;font-size:13px}.work-photo-details{padding:20px}.work-tags{display:flex;flex-wrap:wrap;gap:6px}.work-tags span{display:inline-block;background:#f1f6f2;color:#365943;border:1px solid #dce7df;padding:4px 9px;border-radius:4px;font-size:12px;line-height:1.5}.work-photo-details h2{font-size:24px;line-height:1.25;letter-spacing:0;margin-top:12px}.work-photo-details p{font-size:15px;line-height:1.6;color:#53695c;margin-top:10px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}.work-preview{width:min(1100px,94vw);max-height:90dvh;overflow:auto;padding:36px;grid-template-columns:minmax(0,1.35fr) minmax(240px,1fr);gap:30px}.work-preview[open]{display:grid}.work-preview-image{min-width:0;background:var(--pale);display:flex;align-items:center;justify-content:center;border-radius:6px}.work-preview-image img{display:block;width:100%;height:auto;max-height:75dvh;object-fit:contain}.work-preview-copy{min-width:0;align-self:center}.work-preview-copy h2{margin:18px 0;font-size:32px;overflow-wrap:anywhere}.work-preview-copy>p{line-height:1.7;white-space:pre-line;overflow-wrap:anywhere}.work-preview-navigation{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:24px 0}.work-preview-navigation .button{padding:10px 14px}.work-preview-navigation span{font-size:13px;color:#53695c}.work-preview button:disabled{opacity:.45;cursor:default}
@media(max-width:900px){.work-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-preview[open]{grid-template-columns:1fr}.work-preview-image img{max-height:50dvh}}
@media(max-width:550px){.work-gallery-grid{grid-template-columns:1fr}.work-gallery-tools label{max-width:none}.work-preview{padding:36px 20px 22px}.work-preview-copy h2{font-size:27px}}

/* Fitted rectangular photo frames retain each image's natural proportions. */
.work-gallery-grid{display:block;columns:3;column-gap:24px}
.work-photo{display:block;width:100%;break-inside:avoid;margin:0 0 28px;border:0;border-radius:0;overflow:visible}
.work-photo-open{display:block;width:fit-content;max-width:100%;border:1px solid var(--gold,#c79630);border-radius:0;background:transparent;padding:0;overflow:hidden}
.work-photo-open img{display:block;width:auto;max-width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:0}
.work-photo-details{padding:16px 0 0}
.work-preview{border-radius:0}
.work-preview-image{background:transparent;border-radius:0;align-self:center}
.work-preview-image img{width:auto;max-width:100%;height:auto;aspect-ratio:auto;border:1px solid var(--gold,#c79630);border-radius:0}
@media(max-width:900px){.work-gallery-grid{columns:2}}
@media(max-width:550px){.work-gallery-grid{columns:1}}

/* Disabled CMS images retain their settings in admin but render no public photo. */
img[data-cms-hidden="true"]{display:none!important}.hero-image:has(>img[data-cms-hidden="true"]),.floral-photo:has(>img[data-cms-hidden="true"]){display:none!important}
