@font-face{font-family:Editorial;src:url('fonts/editorial-regular.otf') format('opentype');font-display:swap;font-weight:400}@font-face{font-family:Editorial;src:url('fonts/editorial-italic.otf') format('opentype');font-style:italic;font-display:swap}@font-face{font-family:LocalSans;src:url('fonts/sans-regular.otf') format('opentype');font-display:swap}@font-face{font-family:LocalSans;src:url('fonts/sans-bold.otf') format('opentype');font-weight:700;font-display:swap}
:root{--cream:#ffffff;--paper:#ffffff;--ink:#302e29;--muted:#726f67;--rose:#a0604d;--line:#dcd6cb;--sage:#e9e9df}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:LocalSans,Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--rose);outline-offset:5px}img{display:block;width:100%;height:auto}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:Editorial,Georgia,serif;font-weight:400;line-height:1.08}em{color:var(--rose);font-weight:400}h2{font-size:clamp(36px,4.2vw,60px)}.wrap{width:min(1240px,calc(100% - 112px));margin-inline:auto}.eyebrow{font-size:11px;letter-spacing:2.1px;font-weight:700;line-height:1.6}.skip{position:absolute;left:20px;top:-100px;z-index:100;background:#fff;padding:12px}.skip:focus{top:10px}.site-header{height:108px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;background:var(--cream);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:15px}.brand-symbol{font-family:Editorial,serif;font-size:58px;line-height:1;position:relative;width:43px}.brand-symbol>span{font-size:25px;position:absolute;right:-7px;bottom:3px;color:var(--rose)}.brand b{font-weight:400;letter-spacing:5px;font-size:23px;line-height:1.3;display:block}.brand small{display:block;font-size:8px;letter-spacing:3px;margin-top:3px}.site-header nav{display:flex;align-items:center;gap:38px;font-size:13px}.site-header nav>a:hover{color:var(--rose)}.nav-contact{border:1px solid #7d786f;padding:12px 22px;margin-left:16px}.nav-contact span{margin-left:25px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.hero-copy{padding:65px 5vw 23px 6vw;display:flex;flex-direction:column;justify-content:center}.hero .eyebrow{font-size:10px;letter-spacing:1.7px;display:flex;align-items:center;gap:9px}.eyebrow>span{width:6px;height:6px;background:var(--rose);border-radius:50%}.hero h1{font-size:clamp(44px,4.8vw,76px);letter-spacing:-1.6px;line-height:1.02;margin:27px 0 23px}.hero-note{font-size:15px;color:var(--muted);max-width:300px}.button{background:var(--ink);color:white;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:16px 23px;font-size:12px;line-height:1.5;transition:background .2s;align-self:flex-start}.button:hover{background:var(--rose)}.hero .button{margin-top:30px}.hero-bottom{margin-top:55px;border-top:1px solid var(--line);padding-top:17px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:8px;letter-spacing:1.4px}.hero-bottom>a{font-size:21px}.hero-visual{position:relative;padding:24px 24px 24px 0;min-width:0}.hero-image{height:100%;min-height:605px;object-fit:cover;object-position:47% center}.hero-tag{position:absolute;bottom:80px;left:-35px;width:153px;height:153px;background:var(--cream);border-radius:50%;display:flex;align-items:center;justify-content:center;gap:7px;transform:rotate(-10deg);border:1px solid #b9ab96;outline:7px solid var(--cream)}.hero-tag span{font-family:Editorial,serif;font-style:italic;font-size:26px;line-height:1.1}.hero-tag b{font-size:35px;font-weight:400;color:var(--rose)}.image-caption{position:absolute;right:49px;bottom:45px;color:#fff;font-size:8px;letter-spacing:2px;text-shadow:0 1px 5px #000}.occasion-strip{display:flex;align-items:center;justify-content:center;gap:55px;border-block:1px solid var(--line);padding:23px 20px;font-family:Editorial,serif;font-size:22px}.occasion-strip i{font-size:19px;color:var(--rose)}.welcome{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-block:110px;align-items:center}.welcome-image{position:relative;padding:0 24px 24px 0}.welcome-image img{height:490px;object-fit:cover;object-position:center;border-radius:180px 180px 0 0}.welcome-image span{position:absolute;right:-9px;bottom:0;background:var(--paper);font-family:Editorial,serif;font-size:21px;font-style:italic;padding:19px 23px;border-bottom:1px solid var(--line)}.original{font-size:16px;line-height:1.8}.original p{margin:15px 0}.original h1{font-size:55px;margin:25px 0}.original h2{font-size:35px;margin:36px 0 18px}.original h3{font-size:29px;margin:30px 0 15px}.original h4{font:700 12px LocalSans,Arial,sans-serif;letter-spacing:1.4px;margin:20px 0}.original h5{font-size:17px;margin:24px 0 12px}.original a{color:var(--rose);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.original ul,.original ol{padding-left:23px}.original>p:empty{display:none}.original img{max-height:540px;object-fit:contain;margin:24px 0}.welcome-copy>p:has(img){display:none}.welcome-copy h3{font-size:clamp(31px,3.2vw,46px);text-transform:none;line-height:1.15}.welcome-copy h4{color:var(--rose)}.welcome-copy em{font-style:normal;color:var(--muted)}.catalog{padding:85px 0 100px;background:#f6f7f4}.section-heading{display:flex;justify-content:space-between;gap:32px;align-items:flex-end;margin-bottom:34px}.section-heading .eyebrow{margin-bottom:16px;color:var(--rose)}.section-heading>p{font-size:14px;color:var(--muted);padding-bottom:3px}.filters{display:flex;gap:9px;padding-bottom:30px;flex-wrap:wrap}.filters button{background:transparent;border:1px solid #c6c7bc;border-radius:2px;padding:9px 18px;font-size:12px;color:var(--ink)}.filters button.active,.filters button:hover{background:var(--ink);color:white;border-color:var(--ink)}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px 26px}.product-card{min-width:0}.product-card[hidden]{display:none}.card-photo{position:relative;overflow:hidden;background:#e1ddd5}.card-photo img{aspect-ratio:1.13;object-fit:cover;transition:transform .6s}.product-card:hover img{transform:scale(1.045)}.card-arrow{position:absolute;bottom:15px;right:15px;background:var(--cream);border-radius:50%;width:37px;height:37px;display:grid;place-items:center;font-size:20px}.card-caption{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-top:17px}.card-caption h3{font-size:26px}.card-caption>span{font-size:10px;color:var(--muted)}.photo-feature{display:grid;grid-template-columns:1fr 1fr;background:#353b33;color:var(--cream)}.photo-feature>div:first-child{overflow:hidden}.photo-feature img{height:550px;object-fit:cover;object-position:50% 38%}.feature-copy{padding:70px 12%;display:flex;flex-direction:column;justify-content:center}.feature-copy h2{margin:25px 0}.feature-copy h2 em{color:#d7b5a6}.feature-copy>p:not(.eyebrow){font-size:14px;color:#d4d7d0}.feature-copy .button{margin-top:30px}.button-light{background:var(--cream);color:var(--ink)}.service{padding-block:100px}.big-star{font-family:Georgia,serif;font-size:115px;color:var(--rose);line-height:1}.service-copy{columns:2;column-gap:75px}.service-copy h3{font-size:28px;break-after:avoid}.service-copy p,.service-copy ul{break-inside:avoid}.service-copy hr{border:0;border-top:1px solid var(--line);margin:25px 0}.service-copy img{display:none}.contact{background:#f8efeb;padding:70px 0}.contact-inner{width:min(1240px,calc(100% - 112px));margin:auto;display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center}.contact h2{margin-top:22px}.contact-inner>div:last-child{font-size:13px}.contact-inner>div:last-child>a{display:block;margin:10px 0}.contact-inner>div:last-child>p:first-child{font-size:10px;letter-spacing:1.7px}.contact-inner .contact-mail{font-family:Editorial,serif;font-size:31px;border-bottom:1px solid #b8a79b;padding-bottom:12px;margin-bottom:22px!important}.contact a:hover{color:var(--rose)}footer{padding:44px 4%;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:11px;color:var(--muted)}.footer-brand{font-family:Editorial,serif;font-size:29px;line-height:1;color:var(--ink)}.footer-brand span{display:block;font:8px LocalSans,sans-serif;letter-spacing:2.4px;margin-top:9px}footer>div{display:flex;gap:22px}.detail-heading{padding-block:42px}.back-link{font-size:12px;color:var(--muted);display:inline-block;margin-bottom:33px}.detail-heading h1{font-size:clamp(46px,7vw,86px);margin:12px 0}.detail-heading .eyebrow{color:var(--rose)}.detail-slogan{font-family:Editorial,serif;font-size:26px;font-style:italic;color:var(--muted)}.detail-cover img{height:460px;object-fit:cover;object-position:center 47%}.article-layout{display:grid;grid-template-columns:300px 1fr;gap:80px;padding-block:75px;align-items:start}.article-layout aside{position:sticky;top:40px;padding-top:26px}.article-layout aside h2{margin:20px 0 28px;font-size:43px}.article-layout aside .button{display:flex;font-size:12px}.aside-phone{display:block;margin-top:18px;font-size:13px}.article-body>h1,.article-body>h2,.article-body>h3{font-size:32px}.article-body>h1:first-child,.article-body>h2:first-child,.article-body>h3:first-child{margin-top:0}.article-body p{overflow-wrap:anywhere}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin:30px 0 45px}.gallery-item{display:block;padding:0;border:0;background:#ede6de;position:relative;overflow:hidden}.gallery-item img{margin:0;max-height:none;height:300px;object-fit:cover;transition:transform .4s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item>span{position:absolute;right:12px;bottom:12px;background:var(--cream);border-radius:50%;width:32px;height:32px;display:grid;place-items:center}.related{padding-bottom:90px}.related .section-heading h2{font-size:39px}.related .section-heading>a{font-size:12px}.legal{max-width:900px;padding-block:45px 90px}.legal .original{overflow-wrap:anywhere}.legal .original h2{font-size:31px}.legal .original h3{font-size:24px}dialog{background:#1c1e1c;border:0;color:white;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;padding:65px 75px;overflow:hidden}dialog::backdrop{background:#000c}dialog[open]{display:grid;place-items:center}dialog>img{height:calc(100dvh - 150px);width:100%;object-fit:contain}dialog button{position:absolute;background:none;border:0;color:white;font-size:34px;padding:10px}.lightbox-close{right:20px;top:10px}.lightbox-prev{left:15px;top:45%}.lightbox-next{right:15px;top:45%}.lightbox-count{position:absolute;bottom:15px;font-size:12px}body.modal-open{overflow:hidden}@media(min-width:1600px){.hero{max-width:1600px;margin:auto}.hero-copy{padding-left:90px}.hero h1{font-size:78px}}
@media(max-width:1050px){.wrap,.contact-inner{width:calc(100% - 64px)}.site-header nav{gap:23px}.nav-contact{margin-left:0}.hero-copy{padding-left:32px;padding-right:25px}.hero h1{font-size:53px}.hero .eyebrow{font-size:8px}.hero-tag{width:120px;height:120px;left:-20px;bottom:65px}.hero-tag span{font-size:23px}.hero{min-height:570px}.hero-image{min-height:535px}.occasion-strip{gap:30px}.welcome{gap:50px}.card-caption{align-items:flex-start;flex-direction:column}.article-layout{grid-template-columns:230px 1fr;gap:45px}.feature-copy{padding:50px 9%}.contact h2{font-size:46px}}
@media(max-width:760px){.wrap,.contact-inner{width:calc(100% - 40px)}.site-header{height:83px;padding-inline:20px}.brand-symbol{font-size:45px;width:33px}.brand-symbol>span{font-size:21px}.brand b{font-size:19px}.brand small{font-size:7px}.menu-toggle{display:block;border:0;background:none;font-size:24px;padding:8px}.site-header nav{display:none;position:absolute;top:83px;left:0;right:0;background:var(--cream);padding:25px;z-index:20;box-shadow:0 20px 25px #0001;flex-direction:column;align-items:stretch;gap:20px}.site-header nav.open{display:flex}.nav-contact{align-self:flex-start}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:40px 24px 25px}.hero .eyebrow{font-size:9px}.hero h1{font-size:clamp(43px,9.6vw,67px);letter-spacing:-1px;margin-top:25px}.hero-note{font-size:14px;max-width:none}.hero .button{margin-top:25px}.hero-bottom{margin-top:30px;font-size:8px}.hero-visual{padding:0 20px 20px}.hero-image{height:420px;min-height:0;object-position:50% 55%}.hero-tag{left:auto;right:39px;bottom:43px;width:110px;height:110px}.hero-tag span{font-size:22px}.image-caption{display:none}.occasion-strip{gap:15px;justify-content:space-around;flex-wrap:wrap;padding:20px;font-size:19px}.occasion-strip i{font-size:12px}.occasion-strip span:last-child,.occasion-strip i:nth-last-child(2){display:none}.welcome{grid-template-columns:1fr;padding-block:60px;gap:35px}.welcome-image{max-width:480px;width:100%;margin:auto;padding-right:20px}.welcome-image img{height:390px}.welcome-image span{font-size:19px;right:0;padding:16px}.welcome-copy h3{font-size:35px}.welcome-copy img{display:none}.catalog{padding-block:55px}.section-heading{align-items:start;flex-direction:column;gap:18px}.section-heading>p{font-size:13px}.filters{gap:7px;padding-bottom:23px}.filters button{font-size:11px;padding:8px 11px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 15px}.card-photo img{aspect-ratio:.9}.card-caption h3{font-size:23px;overflow-wrap:anywhere;line-height:1.1}.card-caption>span{font-size:9px}.card-caption{padding-top:12px}.card-arrow{width:30px;height:30px;right:10px;bottom:10px;font-size:17px}.photo-feature{grid-template-columns:1fr}.photo-feature img{height:360px;object-position:center 34%}.feature-copy{padding:43px 25px 55px}.feature-copy h2{font-size:45px}.service{padding-block:60px}.service .section-heading{flex-direction:row}.big-star{font-size:75px}.service-copy{columns:1}.service-copy h3{font-size:27px}.contact{padding:50px 0}.contact-inner{grid-template-columns:1fr;gap:35px}.contact h2{font-size:43px}.contact-inner .contact-mail{font-size:29px}footer{flex-wrap:wrap;padding:30px 20px;gap:25px}footer>p{font-size:10px}footer>div{flex-basis:100%;border-top:1px solid var(--line);padding-top:20px;flex-wrap:wrap}.detail-heading{padding-block:25px}.detail-heading h1{font-size:clamp(38px,9vw,60px);overflow-wrap:anywhere}.detail-slogan{font-size:23px}.back-link{margin-bottom:25px}.detail-cover img{height:310px}.article-layout{grid-template-columns:1fr;gap:35px;padding-block:35px}.article-layout aside{position:static;border-bottom:1px solid var(--line);padding:0 0 25px}.article-layout aside h2{font-size:33px;margin:15px 0}.article-layout aside h2 br{display:none}.article-layout aside .button{display:inline-flex}.gallery{gap:10px}.gallery-item img{height:230px}.related{padding-bottom:55px}.related .product-grid .product-card:last-child{display:none}.related .section-heading h2{font-size:35px}.original{font-size:15px}.original h1{font-size:40px}.legal .original h2{font-size:27px}.legal .original h3{font-size:23px}dialog{padding:65px 40px}.lightbox-prev{left:0}.lightbox-next{right:0}dialog button{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(min-width:761px){.hero-visual{height:650px}.hero-image{min-height:0}.hero-copy{min-height:650px}}@media(min-width:761px) and (max-width:1050px){.hero-visual{height:600px}.hero-copy{min-height:600px}}
/* Original vector logo, with locally rendered brand lettering. */
.brand{gap:17px}.brand-logo{width:66px;height:66px;object-fit:contain}.brand-title{font-family:Editorial,Georgia,serif;font-size:29px;line-height:1.2;white-space:nowrap;letter-spacing:.1px}@media(max-width:760px){.brand{gap:12px}.brand-logo{width:51px;height:51px}.brand-title{font-size:24px}}
.brand-title{font-size:25px;white-space:normal;max-width:290px;line-height:1.12}@media(max-width:1050px){.brand-title{max-width:210px;font-size:23px}.site-header nav{gap:18px}}@media(max-width:760px){.brand-title{max-width:205px;font-size:21px}}@media(max-width:370px){.brand-title{max-width:170px;font-size:19px}}
/* Header shares the content grid at every breakpoint. */
.site-header{padding:0;position:relative;display:block;height:auto}.header-inner{min-height:108px;display:flex;align-items:center;justify-content:space-between;gap:32px}.site-header nav{flex-shrink:0}
@media(max-width:1050px){.header-inner{gap:20px}.site-header nav{gap:18px}.brand-title{max-width:210px;font-size:23px}}
@media(max-width:760px){.header-inner{min-height:83px;gap:12px}.site-header nav{top:100%;left:0;right:0}.brand-title{max-width:205px;font-size:21px}}
@media(max-width:370px){.brand-title{max-width:170px;font-size:19px}}
