
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--forest:#21392d;--forest2:#314b3c;--cream:#f4f0e8;--paper:#fffdf8;--ink:#252923;--muted:#76796f;--rose:#d4a5a0;--terra:#b86f58;--gold:#c5a66b;--line:rgba(33,57,45,.18);--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--gutter:clamp(22px,6vw,92px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}a:hover{text-decoration:none}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(3.5rem,8.4vw,8.8rem)}h2{font-size:clamp(2.5rem,5.2vw,5.5rem)}h3{font-size:clamp(1.6rem,2.4vw,2.3rem)}h1 em,h2 em,.statement em{font-weight:400;color:var(--rose)}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:.69rem;font-weight:700;line-height:1.5;margin-bottom:24px;color:var(--terra)}.eyebrow--light{color:#e7d9c2}.lead{font-size:clamp(1.15rem,1.8vw,1.55rem);line-height:1.6;color:#42483f}.skip-link{position:absolute;left:-999px;top:8px;background:white;padding:12px;z-index:999}.skip-link:focus{left:8px}
.announcement{height:36px;background:var(--forest);color:#e9e1d4;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}.announcement a{color:#fff}.site-header{height:100px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:30;border-bottom:1px solid var(--line)}.brand-lockup{display:flex;align-items:center;gap:13px}.brand-symbol{width:48px;height:48px;border:1px solid var(--forest);border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:1.5rem;color:var(--forest);position:relative}.brand-symbol span{font-family:var(--sans);font-size:.65rem;color:var(--terra);position:absolute;right:-5px;top:-4px}.brand-name{display:block;font-family:var(--serif);font-size:1.65rem;line-height:1.1;letter-spacing:-.04em;color:var(--forest)}.brand-text>span{display:block;font-size:.59rem;letter-spacing:.17em;text-transform:uppercase;color:var(--muted);margin-top:5px}.primary-navigation{display:flex;align-items:center;gap:28px}.primary-navigation .menu,.primary-navigation .menu-fallback{list-style:none;margin:0;padding:0;display:flex;gap:clamp(14px,2vw,30px);align-items:center}.primary-navigation li{margin:0}.primary-navigation li a{font-size:.82rem;white-space:nowrap}.primary-navigation li a:hover{color:var(--terra)}.header-cta{padding:12px 17px;border:1px solid var(--forest);border-radius:99px;font-size:.78rem;white-space:nowrap}.header-cta span{margin-left:12px;color:var(--terra)}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;gap:28px;padding:15px 22px;border-radius:99px;background:var(--forest);color:white;font-size:.78rem;letter-spacing:.02em;transition:transform .25s,background .25s}.button:hover{transform:translateY(-2px);background:var(--forest2)}.button--light{background:var(--paper);color:var(--forest)}.button--light:hover{background:#e8ddcc;color:var(--forest)}.button span{font-size:1rem}.text-link{display:inline-flex;align-items:center;gap:16px;border-bottom:1px solid var(--gold);padding-bottom:7px;font-size:.85rem;color:var(--forest);font-weight:600}.underlined-link{display:inline-block;border-bottom:1px solid var(--gold);padding-bottom:6px;font-size:.83rem}.underlined-link--light{color:#fff}.section-pad{padding:clamp(70px,10vw,150px) var(--gutter)}
/* Home */
.home-hero{min-height:min(790px,calc(100vh - 136px));background:var(--forest);color:white;position:relative;display:flex;align-items:center;overflow:hidden}.home-hero__image{position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,35,25,.92),rgba(17,35,25,.5) 47%,rgba(17,35,25,.05)),radial-gradient(ellipse at 75% 42%,#b3a18a 0,#6d7960 17%,#344b3a 42%,#172b20 72%);background-size:cover;background-position:center}.home-hero__image:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 76% 45%,rgba(226,197,173,.12),transparent 34%),linear-gradient(0deg,rgba(13,26,18,.28),transparent 45%)}.home-hero__copy{position:relative;z-index:2;padding:100px var(--gutter);max-width:940px}.home-hero h1{margin-bottom:26px;font-size:clamp(4.3rem,10vw,10.5rem);line-height:.9}.home-hero h1 em{color:#d9b3a7}.home-hero__copy>p:not(.eyebrow){max-width:470px;font-size:clamp(1rem,1.5vw,1.3rem);color:#e9e5db}.hero-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:34px}.home-hero__vertical{position:absolute;right:32px;top:50%;writing-mode:vertical-rl;transform:translateY(-50%);letter-spacing:.22em;font-size:.62rem;color:#e6ddcd}.hero-index{position:absolute;right:var(--gutter);bottom:36px;font-size:.7rem;letter-spacing:.15em;color:#eee}.hero-index i{display:inline-block;width:54px;height:1px;background:var(--gold);vertical-align:middle;margin:0 12px}.intro-editorial{display:grid;grid-template-columns:1fr 2fr;gap:7vw;background:var(--paper)}.intro-side{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}.ornament{font-size:clamp(4rem,9vw,9rem);line-height:.8;color:var(--rose)}.intro-copy h2{margin-bottom:32px}.intro-copy p:not(.lead){max-width:690px;color:#676a60}.intro-copy .text-link{margin-top:20px}.service-editorial{padding:clamp(70px,9vw,130px) var(--gutter);background:var(--cream)}.service-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:55px}.service-heading h2{margin:0}.service-heading>p{max-width:360px;color:#686b61;margin-bottom:7px}.service-grid{display:grid;grid-template-columns:1.1fr .9fr 1fr;gap:16px}.service-card{min-height:500px;position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:27px;color:white;overflow:hidden;background-color:var(--forest);isolation:isolate}.service-card:before{content:"";position:absolute;inset:0;z-index:-2;transition:transform .6s; background:radial-gradient(ellipse at 65% 30%,#8c9b7e 0,transparent 45%),linear-gradient(135deg,#5a6a52,#1c3025)}.service-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(12,26,18,.8),transparent 65%)}.service-card:hover:before{transform:scale(1.04)}.service-card--wedding:before{background:radial-gradient(ellipse at 62% 28%,#d6b7ad 0,#a58f7a 20%,#4c5d49 52%,#1d3225 100%)}.service-card--everyday:before{background:radial-gradient(ellipse at 70% 30%,#d9b6b0 0,#a37e73 18%,#64775c 45%,#253b2d 100%)}.service-card--events:before{background:radial-gradient(ellipse at 52% 35%,#d4c8ac 0,#8b947a 25%,#465d49 55%,#21392d 100%)}.service-card__num{font-size:.65rem;letter-spacing:.18em}.service-card__title{font-family:var(--serif);font-size:clamp(2.2rem,3.4vw,4.1rem);line-height:1.02;letter-spacing:-.04em}.service-card__bottom{border-top:1px solid rgba(255,255,255,.45);padding-top:15px;display:flex;justify-content:space-between;font-size:.8rem}.service-card__bottom b{font-size:1.1rem;font-weight:400}.statement-band{padding:clamp(80px,12vw,175px) var(--gutter);background:var(--forest);color:white;text-align:center}.statement{font-family:var(--serif);font-size:clamp(3rem,7.5vw,8rem);line-height:1.05;letter-spacing:-.055em;margin:25px 0}.statement em{color:#d5a9a1}.statement-caption{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:#d8d8cb}.home-about{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,8vw,130px);align-items:center}.image-placeholder{background:radial-gradient(ellipse at 55% 35%,#d8b6a6 0,#8b9a7d 22%,#536b51 48%,#273e31 80%);min-height:500px;display:flex;align-items:end;justify-content:center;padding:20px;color:white;position:relative;overflow:hidden}.image-placeholder:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,37,27,.6),transparent 45%)}.image-placeholder span{position:relative;z-index:1;font-size:.6rem;letter-spacing:.15em;text-align:center}.about-copy h2{margin-bottom:28px}.about-copy p:not(.eyebrow){color:#686b61}.about-copy .text-link{margin-top:18px}.home-contact{background:var(--terra);color:white;padding:clamp(70px,9vw,130px) var(--gutter);display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end}.home-contact h2{margin-bottom:0}.home-contact h2 em{color:#f2d7ca}.home-contact>div:last-child p{max-width:420px;color:#f7e8df}.home-contact .button{margin-top:15px}
/* wedding */
.wedding-hero{min-height:720px;position:relative;background:#384b3a;color:white;display:flex;align-items:center;overflow:hidden}.wedding-hero__image{position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,38,28,.82),rgba(22,38,28,.32) 65%,rgba(22,38,28,.05)),radial-gradient(ellipse at 72% 38%,#d7c4b1 0,#a8a78d 22%,#4d634b 48%,#263b2c 80%)}.wedding-hero__content{position:relative;padding:100px var(--gutter);max-width:1000px}.wedding-hero h1{font-size:clamp(4rem,9vw,9.5rem);line-height:.9;margin-bottom:30px}.wedding-hero h1 em{color:#e5bdb3}.wedding-hero__content>p:not(.eyebrow){max-width:530px;font-size:1.15rem;color:#eee7dc;margin-bottom:30px}.wedding-hero__side{position:absolute;right:32px;writing-mode:vertical-rl;letter-spacing:.2em;font-size:.62rem}.wedding-intro{display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw}.wedding-intro h2{font-size:clamp(2.8rem,5vw,5.2rem)}.wedding-intro p:not(.eyebrow){max-width:740px;color:#696b62}.wedding-services{padding:0 var(--gutter) clamp(80px,10vw,140px)}.wedding-service{display:grid;grid-template-columns:130px 1fr;gap:35px;border-top:1px solid var(--line);padding:40px 0}.wedding-service:last-child{border-bottom:1px solid var(--line)}.wedding-service>span{font-family:var(--serif);font-size:3.2rem;color:var(--terra)}.wedding-service h2{font-size:clamp(2rem,3.2vw,3.3rem);margin-bottom:12px}.wedding-service p{max-width:740px;color:#6b6e64;margin:0}.wedding-gallery{padding:90px var(--gutter);background:var(--cream);display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.gallery-heading{grid-column:1/-1;max-width:800px;margin-bottom:30px}.gallery-heading h2{margin-bottom:16px}.gallery-heading p:last-child{color:var(--muted)}.gallery-placeholder{min-height:350px;display:grid;place-items:center;text-align:center;font-size:.62rem;letter-spacing:.18em;color:#fff;background:radial-gradient(ellipse at 60% 30%,#dfc5b8,#87947b 32%,#344b39 70%)}.gallery-placeholder--two{background:radial-gradient(ellipse at 30% 40%,#d5b6ad,#a9a68b 25%,#53664b 55%,#283c2c)}.gallery-placeholder--three{grid-column:1/-1;min-height:300px;background:radial-gradient(ellipse at 50% 30%,#e4d4be,#a3a88d 30%,#455c47 70%)}.wedding-process h2{margin-bottom:55px}.process-row{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.process-row>div{border-top:1px solid var(--line);padding-top:22px}.process-row span{color:var(--terra);font-family:var(--serif);font-size:2.3rem}.process-row h3{margin:16px 0 10px}.process-row p{color:var(--muted)}
/* floristik */
.floristik-hero{display:grid;grid-template-columns:1.1fr .9fr;min-height:650px;background:var(--cream)}.floristik-hero__visual{position:relative;background:radial-gradient(ellipse at 45% 32%,#d9b2a9 0,#b4ad91 19%,#6c8165 43%,#293f30 80%);min-height:600px;display:grid;place-items:center}.visual-stamp{border:1px solid rgba(255,255,255,.65);color:white;padding:28px 35px;text-align:center;letter-spacing:.35em;font-size:.72rem;line-height:2;transform:rotate(-8deg)}.floristik-hero__copy{padding:clamp(50px,7vw,100px) var(--gutter) clamp(50px,7vw,100px) 6vw;align-self:center}.floristik-hero h1{font-size:clamp(3.8rem,7.5vw,7.5rem);line-height:.92}.floristik-hero h1 em{color:var(--terra)}.floristik-hero__copy>p:not(.eyebrow){color:var(--muted);max-width:420px}.floristik-manifesto{text-align:center;background:var(--paper)}.floristik-manifesto h2{font-size:clamp(2.6rem,5.7vw,5.6rem)}.floristik-manifesto .lead{max-width:700px;margin:25px auto 0}.floristik-occasions{padding:0 var(--gutter) 120px;display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.floristik-occasions article{border-top:1px solid var(--line);padding-top:20px}.occasion-index{font-size:.65rem;letter-spacing:.16em;color:var(--terra)}.floristik-occasions h2{font-size:clamp(1.8rem,2.8vw,3rem);margin:25px 0 14px}.floristik-occasions p{color:var(--muted)}.floristik-photo-band{padding:90px var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;background:var(--forest);color:white}.floristik-photo-band h2{margin:0}.floristik-photo-band h2 em{color:#d8aaa1}.floristik-photo-band>p{color:#e0e1d7;max-width:430px}
/* sympathy */
.sympathy-hero{min-height:600px;display:grid;grid-template-columns:1fr 1fr;background:#e9e6dd}.sympathy-hero__art{background:radial-gradient(ellipse at 48% 42%,#c9c8b7,#8b9987 30%,#566c5a 55%,#283d30 85%)}.sympathy-hero__copy{align-self:center;padding:70px var(--gutter) 70px 5vw}.sympathy-hero h1{font-size:clamp(3.4rem,6.8vw,6.8rem)}.sympathy-hero h1 em{color:var(--terra)}.sympathy-hero__copy>p:not(.eyebrow){max-width:470px;color:#696c63}.sympathy-content{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw}.sympathy-content h2{font-size:clamp(2.7rem,5vw,5rem)}.sympathy-content p:not(.eyebrow){color:#676a61}.sympathy-note{text-align:center;background:var(--cream);padding:90px 20px}.sympathy-note p{font-family:var(--serif);font-size:clamp(2.1rem,4.5vw,4.7rem);font-style:italic;margin-bottom:16px}.sympathy-note span{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
/* business */
.business-hero{background:var(--forest);color:white;min-height:660px;position:relative;display:flex;align-items:center;overflow:hidden}.business-hero__copy{position:relative;z-index:2;padding:100px var(--gutter);max-width:850px}.business-hero h1{font-size:clamp(4rem,8vw,8rem)}.business-hero h1 em{color:#d7b4a6}.business-hero__copy>p:not(.eyebrow){max-width:500px;color:#e1e5da;margin-bottom:30px}.business-hero__shape{position:absolute;width:55vw;height:55vw;right:-8vw;top:-10vw;border-radius:50%;background:radial-gradient(ellipse at 38% 35%,#d7c4a9,#84957a 30%,#3d5a44 65%,#1d3325 80%);opacity:.9}.business-intro{max-width:1100px}.business-intro h2{max-width:850px}.business-intro>p:not(.eyebrow){max-width:760px;color:var(--muted)}.business-services{padding:0 var(--gutter) 120px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.business-services>div{background:var(--cream);padding:35px 28px}.business-services span{font-family:var(--serif);font-size:2.7rem;color:var(--terra)}.business-services h2{font-size:2rem;margin:22px 0 15px}.business-services p{color:var(--muted)}
/* contact */
.contact-hero{background:var(--forest);color:white;padding:clamp(75px,10vw,140px) var(--gutter);display:flex;align-items:end;justify-content:space-between;gap:40px;position:relative;overflow:hidden}.contact-hero:after{content:"";position:absolute;width:55vw;height:55vw;right:-13vw;top:-25vw;border-radius:50%;border:1px solid rgba(226,205,171,.24);box-shadow:0 0 0 45px rgba(226,205,171,.04),0 0 0 90px rgba(226,205,171,.035)}.contact-hero__copy{position:relative;z-index:2}.contact-hero h1{font-size:clamp(4rem,8vw,8.4rem);margin-bottom:26px}.contact-hero h1 em{color:#d8aaa1}.contact-hero__copy>p:not(.eyebrow){max-width:480px;color:#e3e5dc}.contact-hero__seal{position:relative;z-index:2;border:1px solid rgba(255,255,255,.4);width:140px;height:140px;border-radius:50%;display:grid;place-content:center;text-align:center;font-size:.6rem;letter-spacing:.2em;line-height:1.8;flex-shrink:0}.contact-hero__seal span{font-size:1.5rem;color:var(--gold)}.contact-details{display:grid;grid-template-columns:1fr .8fr;gap:10vw}.contact-main h2{font-size:clamp(2.8rem,5vw,5.3rem);margin-bottom:45px}.contact-method{display:grid;grid-template-columns:100px 1fr;border-top:1px solid var(--line);padding:19px 0;gap:20px}.contact-method>span{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.contact-method>a,.contact-method p{margin:0;font-size:1.05rem;color:var(--forest)}.contact-main>.button{margin-top:20px}.opening-card{background:var(--cream);padding:clamp(28px,4vw,55px);align-self:start}.opening-card h3{font-size:2.5rem}.hours-row{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:16px 0;font-size:.8rem}.hours-row span{color:#6c6e65}.hours-row b{text-align:right;font-weight:600}.hours-note{border-top:1px solid var(--line);padding-top:18px;font-size:.75rem;color:var(--muted)}.contact-form-band{padding:clamp(70px,9vw,125px) var(--gutter);background:var(--terra);color:white;display:grid;grid-template-columns:1fr .8fr;gap:9vw;align-items:center}.contact-form-band h2{font-size:clamp(3rem,6vw,6rem)}.contact-form-band h2 em{color:#f0d7ca}.contact-form-band>div>p:not(.eyebrow){color:#f8e8df}.contact-form-note{border-left:1px solid rgba(255,255,255,.4);padding-left:40px}.contact-form-note p{margin-bottom:28px}.contact-form-note .underlined-link{display:block;width:max-content;margin-top:18px}
/* about */
.about-hero{display:grid;grid-template-columns:1fr .8fr;min-height:680px;background:var(--forest);color:white}.about-hero__copy{align-self:center;padding:80px var(--gutter)}.about-hero h1{font-size:clamp(4rem,8vw,8rem)}.about-hero h1 em{color:#d8aaa1}.about-hero__copy>p:not(.eyebrow){max-width:440px;color:#e2e4da}.about-hero__image{background:radial-gradient(ellipse at 50% 30%,#c9b3a0,#8d9a7c 28%,#435b45 60%,#243a2c);display:flex;align-items:end;justify-content:center;padding:20px;font-size:.6rem;letter-spacing:.12em;color:white}.about-story{display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw}.about-story h2{font-size:clamp(2.7rem,5vw,5rem)}.about-story p:not(.eyebrow){color:var(--muted)}.about-values{padding:0 var(--gutter) 120px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.about-values>div{border-top:1px solid var(--line);padding-top:20px}.about-values span{font-family:var(--serif);font-size:2.5rem;color:var(--terra)}.about-values h2{font-size:2.4rem;margin:15px 0}.about-values p{color:var(--muted)}
/* CTA/footer/legal */
.closing-cta{background:var(--forest);color:white;text-align:center;padding:clamp(75px,10vw,145px) 24px}.closing-cta h2{font-size:clamp(2.8rem,6.5vw,6.5rem);max-width:1000px;margin:0 auto 24px}.closing-cta>p:not(.eyebrow){color:#e0e4da;max-width:620px;margin:0 auto 30px}.site-footer{background:#192a20;color:#f5f1e8;padding:70px var(--gutter) 22px}.footer-main{display:grid;grid-template-columns:1.25fr .7fr 1fr;gap:8vw;padding-bottom:65px}.brand-symbol--footer{border-color:#e5ddce;color:#f5f1e8}.footer-statement{font-family:var(--serif);font-size:2.6rem;line-height:1.12;margin:25px 0 18px;letter-spacing:-.04em}.footer-small{font-size:.8rem;color:#c0c7bb;max-width:300px}.footer-label{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:#d8b6a5;margin-bottom:22px}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:10px}.footer-links a,.footer-main p:not(.footer-statement){font-size:.83rem;color:#e0e3d9}.footer-arrow{display:inline-block;margin-top:10px;border-bottom:1px solid var(--gold);padding-bottom:5px;font-size:.8rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.2);padding-top:20px;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:.65rem;color:#c0c7bb}.footer-bottom div{display:flex;gap:20px}.page-hero{padding:100px var(--gutter);background:var(--cream);position:relative;overflow:hidden}.page-hero h1{max-width:1000px}.page-hero .hero-intro{max-width:650px;font-size:1.2rem}.hero-mark{position:absolute;right:10%;top:20%;font-size:clamp(5rem,12vw,12rem);color:rgba(184,111,88,.17)}.legal-page,.generic-content{padding:75px var(--gutter) 120px}.legal-header,.single-header{max-width:1000px;margin:0 auto 50px}.legal-header h1,.single-header h1{font-size:clamp(3rem,7vw,6rem)}.prose{max-width:800px;margin:0 auto;color:#555a51}.prose h2{font-size:2.2rem;margin-top:2.2em}.prose h3{font-size:1.5rem;margin-top:1.8em}.prose a{color:var(--terra);text-decoration:underline;text-underline-offset:4px}.single-page{padding-bottom:100px}.single-featured{max-width:1100px;margin:0 auto 55px}.single-featured img{width:100%;max-height:650px;object-fit:cover}.post-nav{max-width:800px;margin:50px auto;display:flex;justify-content:space-between;gap:20px}.post-nav a,.search-result a{color:var(--forest)}.error-page{min-height:70vh;padding:100px var(--gutter);background:var(--cream)}.error-page h1{font-size:clamp(4rem,8vw,8rem)}.error-page>p:not(.eyebrow){max-width:500px;color:var(--muted)}.journal-hero{padding:90px var(--gutter) 75px;background:var(--cream)}.journal-hero h1{font-size:clamp(3.8rem,8vw,8rem);margin-bottom:20px}.journal-hero>p:last-child{max-width:600px;color:var(--muted);font-size:1.15rem}.journal-list{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 24px}.journal-card__image{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:radial-gradient(ellipse at 50% 30%,#d9b7a9,#84947a 32%,#2e4935 75%);margin-bottom:22px;overflow:hidden;color:white;font-size:.6rem;letter-spacing:.12em}.journal-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.journal-card__image:hover img{transform:scale(1.04)}.journal-card__meta{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--terra)}.journal-card h2{font-size:2rem;margin:12px 0}.journal-card p{font-size:.9rem;color:var(--muted)}.journal-empty{grid-column:1/-1;padding:70px 0}.journal-empty h2{font-size:3rem}.journal-list .nav-links{grid-column:1/-1}.search-result{padding:25px 0;border-bottom:1px solid var(--line)}.search-result h2{font-size:2rem}
@media(max-width:1100px){.primary-navigation{gap:14px}.primary-navigation .menu,.primary-navigation .menu-fallback{gap:14px}.primary-navigation li a{font-size:.75rem}.header-cta{display:none}.service-card{min-height:410px}.footer-main{gap:4vw}}
@media(max-width:850px){.announcement span:nth-child(2){display:none}.site-header{height:82px}.menu-toggle{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;background:none;border:0;color:var(--forest);font:inherit;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em}.menu-toggle span{display:block;width:26px;height:1px;background:var(--forest)}.primary-navigation{display:none;position:fixed;inset:118px 0 0;background:var(--paper);padding:35px var(--gutter);align-items:stretch;flex-direction:column;gap:28px;overflow:auto}.primary-navigation.is-open{display:flex}.primary-navigation .menu,.primary-navigation .menu-fallback{flex-direction:column;align-items:flex-start;gap:22px}.primary-navigation li a{font-family:var(--serif);font-size:2rem}.header-cta{display:inline-block;width:max-content}.home-hero{min-height:680px}.home-hero__vertical{display:none}.intro-editorial,.home-about,.home-contact,.wedding-intro,.sympathy-content,.contact-details,.contact-form-band,.about-story{grid-template-columns:1fr;gap:35px}.intro-side{display:block}.ornament{display:none}.service-heading{display:block}.service-heading>p{margin-top:25px}.service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:400px}.service-card:last-child{grid-column:1/-1}.wedding-hero{min-height:650px}.wedding-service{grid-template-columns:70px 1fr;gap:15px}.wedding-gallery{grid-template-columns:1fr}.gallery-heading,.gallery-placeholder--three{grid-column:auto}.process-row,.floristik-occasions,.business-services,.about-values{grid-template-columns:1fr}.floristik-hero,.sympathy-hero,.about-hero{grid-template-columns:1fr}.floristik-hero__visual{min-height:420px}.floristik-hero__copy{padding:60px var(--gutter)}.sympathy-hero__art{min-height:340px}.sympathy-hero__copy{padding:60px var(--gutter)}.business-hero__shape{width:75vw;height:75vw;right:-30vw;top:5vw}.contact-hero{align-items:start;flex-direction:column}.contact-hero__seal{width:100px;height:100px;position:absolute;right:var(--gutter);bottom:40px}.contact-form-note{border-left:0;border-top:1px solid rgba(255,255,255,.4);padding:30px 0 0}.about-hero__image{min-height:420px}.journal-list{grid-template-columns:repeat(2,1fr)}.footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{flex-wrap:wrap}}
@media(max-width:560px){.announcement{font-size:.55rem}.brand-symbol{width:40px;height:40px}.brand-name{font-size:1.35rem}.brand-text>span{font-size:.52rem}.home-hero__copy{padding-top:80px;padding-bottom:90px}.home-hero h1{font-size:clamp(4rem,17vw,6rem)}.hero-actions{align-items:flex-start;flex-direction:column}.service-grid{grid-template-columns:1fr}.service-card,.service-card:last-child{grid-column:auto;min-height:390px}.statement{font-size:clamp(3rem,13vw,5rem)}.wedding-hero h1,.business-hero h1,.contact-hero h1,.about-hero h1{font-size:clamp(3.5rem,15vw,5.5rem)}.wedding-service{grid-template-columns:44px 1fr}.wedding-service>span{font-size:2rem}.wedding-gallery{padding:65px var(--gutter)}.gallery-placeholder{min-height:260px}.floristik-occasions{padding-bottom:70px}.floristik-photo-band{grid-template-columns:1fr;gap:25px}.hours-row{flex-direction:column;gap:3px}.hours-row b{text-align:left}.journal-list{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr;gap:38px}.footer-brand{grid-column:auto}.footer-bottom{align-items:flex-start;flex-direction:column}.footer-bottom div{flex-wrap:wrap}.page-hero{padding-top:70px;padding-bottom:70px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Individuelle Bilder aus dem WordPress-Customizer */
.home-hero__image[style], .wedding-hero__image[style], .floristik-hero__visual[style], .sympathy-hero__art[style], .about-hero__image[style], .about-image[style], .gallery-placeholder[style] { background-size: cover; background-position: center; }
.service-card[style]::before { background: transparent; }
.business-hero__shape[style] { opacity: 1; background-repeat: no-repeat; }
.about-image[style] { background-size: cover; background-position: center; }


/* Flying bouquet: accessible back-to-top control */
.bj-back-top{position:fixed;right:clamp(14px,2.4vw,30px);bottom:clamp(14px,2.4vw,30px);z-index:999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:92px;min-height:104px;padding:5px 6px 9px;border:1px solid rgba(197,166,107,.55);border-radius:48px 48px 34px 34px;background:rgba(255,253,248,.94);box-shadow:0 10px 28px rgba(28,48,35,.18);color:var(--forest);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(16px) rotate(4deg);transition:opacity .3s ease,visibility .3s ease,transform .3s ease,box-shadow .3s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.bj-back-top.is-visible{opacity:1;visibility:visible;transform:translateY(0) rotate(0)}
.bj-back-top:hover,.bj-back-top:focus-visible{box-shadow:0 14px 32px rgba(28,48,35,.24);outline:2px solid var(--gold);outline-offset:4px}
.bj-back-top__art{display:block;width:66px;height:76px;animation:bj-bouquet-float 3.2s ease-in-out infinite;transform-origin:50% 70%}
.bj-back-top__art svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 3px 2px rgba(33,57,45,.12))}
.bj-back-top__label{font-family:var(--sans);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1.3;color:var(--forest);white-space:nowrap}
.bj-back-top.is-flying .bj-back-top__art{animation:bj-bouquet-flight .85s cubic-bezier(.22,.8,.25,1) forwards}
.bj-back-top.is-flying{pointer-events:none}
@keyframes bj-bouquet-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-5px) rotate(2deg)}}
@keyframes bj-bouquet-flight{0%{transform:translateY(0) rotate(0) scale(1)}35%{transform:translateY(-22px) rotate(-12deg) scale(1.08)}100%{transform:translateY(-95px) rotate(18deg) scale(.65);opacity:0}}
@media(max-width:600px){.bj-back-top{right:12px;bottom:14px;width:76px;min-height:88px;padding:3px 4px 7px}.bj-back-top__art{width:55px;height:63px}.bj-back-top__label{font-size:8px}}
@media(prefers-reduced-motion:reduce){.bj-back-top__art,.bj-back-top.is-flying .bj-back-top__art{animation:none}.bj-back-top{transition:opacity .01ms,visibility .01ms,transform .01ms}}

/* 404 page actions: home link and direct email link */
.error-page__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px}
.error-page__actions .button--light{background:transparent;color:var(--ink,#242923);border:1px solid currentColor}
.error-page__actions .button--light:hover{background:var(--ink,#242923);color:#fff}
@media(max-width:600px){.error-page__actions{align-items:stretch;flex-direction:column}.error-page__actions .button{width:fit-content;max-width:100%}}
