@import url('location.css');
:root{--ink:#f3eee5;--accent:#d9bf98;--line:#413a30;--muted:#bdb6aa}
body{background:#100f0d;color:var(--ink)}
.header{margin:0;padding:0 5%;min-height:112px;border-bottom:1px solid var(--line);background:#100f0d}
.logo{display:block;line-height:0;flex-shrink:0}.logo img{width:110px;height:103px;object-fit:contain}.header nav{gap:22px}
.button{background:var(--accent);color:#18140e;border-color:var(--accent);border-radius:0;font-weight:600;transition:background .2s}
.button:hover{background:#ead6b8;color:#100f0d}
.hero{height:auto;min-height:650px;max-height:none;display:grid;grid-template-columns:1.1fr 1fr;gap:4%;padding:64px 6% 76px;background:#100f0d;isolation:auto}
.hero:after{display:none}.hero-copy{max-width:760px}.hero-visual{position:static;z-index:auto;min-width:0}.hero-brand{display:block;width:100%;height:auto;max-width:600px;margin:auto}
.eyebrow{font-size:14px;letter-spacing:.13em;color:var(--accent)}h1{font-size:clamp(46px,5.1vw,78px);line-height:1.08;margin:28px 0}h1 em{font-size:inherit;color:var(--accent)}
.hero-copy>p{color:var(--muted);margin:26px 0 32px}.hero-note{color:var(--muted);font-size:14px;max-width:420px}
.ticker{background:#191714;border-color:var(--line);color:var(--accent);padding:26px 5%;letter-spacing:.05em}.ticker b{font-size:10px}
.section{padding-top:96px;padding-bottom:96px}h2{font-size:clamp(38px,4.2vw,60px)}
.intro .eyebrow,.section .eyebrow{color:var(--accent)}.coming strong{color:var(--ink)}.coming p{color:var(--muted)}
.about{background:#191714;max-width:none}.occasions{background:#100f0d;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.occasion-grid{gap:30px}.occasion-grid article{border-color:var(--line)}.occasion-grid a:hover{color:var(--accent)}.number{font-size:13px}.occasion-icon{color:var(--accent)}
.packages{max-width:none;background:#191714}.package{border-radius:0;background:#151310}.package.featured{border-color:var(--accent);background:#242018}.package-label{font-size:14px}.package .price{color:var(--ink)}.package li{font-size:16px}.package-note{font-size:16px}
.steps-section{border-top:0}.steps h3{line-height:1.2}.faq{border-top:1px solid var(--line)}summary{font-size:17px}summary:hover{color:var(--accent)}
.contact{background:#d9bf98;color:#17130e;border-top:1px solid #edddc6;padding:85px 6%}.contact .eyebrow{color:#51432f}.contact h2{font-size:clamp(48px,5vw,72px)}.contact em{color:#51432f}.contact p{color:#403729}.contact-status{border:1px solid #17130e;border-radius:0;background:#17130e;color:#f4e5ce}.contact-status:hover{background:#332b20}
footer{background:#100f0d;color:var(--muted)}footer .logo{width:auto}footer .logo img{width:126px;height:119px}
@media(min-width:1600px){.hero{padding-left:max(6%,calc((100vw - 1440px)/2));padding-right:max(6%,calc((100vw - 1440px)/2))}}
@media(max-width:1100px){.header{padding:12px 5%}.header nav{padding:14px 0 5px}.hero{min-height:580px;gap:2%;padding:54px 6%}.hero h1{font-size:54px}.logo img{width:95px;height:89px}}
@media(max-width:800px){.header{gap:8px;min-height:0}.header nav{font-size:14px;gap:10px 20px}.button.small{font-size:14px}.hero{grid-template-columns:1fr;min-height:0;gap:24px;padding:42px 6% 30px}.hero h1{font-size:clamp(43px,8vw,62px)}.hero-brand{max-width:390px}.hero-copy>p{font-size:17px}.hero-note{max-width:none}.section{padding:62px 6%}.ticker{font-size:14px;gap:12px 22px}.eyebrow{font-size:13px}.package{padding:28px}.contact{padding:62px 6%}footer{gap:18px}footer .logo{flex-basis:100%}footer .logo img{margin:auto}}
@media(prefers-reduced-motion:reduce){.button{transition:none}}

.box-photos{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;margin-top:30px}.box-photos figure{margin:0;min-width:0}.box-photo{overflow:hidden;border:1px solid var(--line);background:#191714}.box-photo img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}.box-photos figcaption{padding:24px 0 0}.box-photo-label{font-size:13px;letter-spacing:.12em;color:var(--accent)}.box-photos h3{font-size:30px;line-height:1.2;margin:10px 0 0}@media(max-width:800px){.box-photos{gap:30px;grid-template-columns:1fr;margin-top:16px}.box-photos figcaption{padding-top:18px}.box-photos h3{font-size:28px}}
.inquiry-form{max-width:780px;margin:36px auto 0;text-align:left}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-grid label{display:flex;flex-direction:column;gap:8px;font-size:16px;font-weight:600}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-width:0;border:1px solid #77664e;border-radius:0;background:#fffaf2;color:#17130e;padding:14px;font:inherit;font-weight:400;min-height:50px}.form-grid textarea{resize:vertical}.form-grid :is(input,select,textarea):focus-visible{outline:2px solid #17130e;outline-offset:3px}.form-wide{grid-column:1/-1}.form-hint,.form-privacy{font-size:14px;line-height:1.6}.form-privacy{margin:24px 0}.form-privacy a{text-decoration:underline}.form-submit{background:#17130e;color:#f4e5ce;border-color:#17130e;cursor:pointer;min-height:52px}.form-submit:hover{background:#332b20;color:#fff}.form-submit:disabled{opacity:.6;cursor:wait}.form-status{line-height:1.6;margin-bottom:0}.form-status[data-state="error"]{padding:16px;border:1px solid #86291d;color:#641c13;background:#fff1e9}.form-status[data-state="success"]{padding:16px;border:1px solid #4d5c38;background:#f3f5e9;color:#29341e}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}@media(max-width:600px){.form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}.form-submit{width:100%}}
/* Full-length product portraits, framed in the site's champagne palette. */
.box-photos{gap:32px;row-gap:42px}.box-photos figure{border:1px solid #756247;background:#191714}.box-photo{border:0;background:#f3eee5;padding:32px 36px;aspect-ratio:4/5;display:flex;align-items:center;justify-content:center}.box-photo img{width:100%;height:100%;max-height:560px;aspect-ratio:auto;object-fit:contain;mix-blend-mode:multiply}.box-photos figcaption{padding:27px 30px 30px;border-top:1px solid #756247}.box-photos h3{font-size:clamp(25px,2.4vw,32px);margin-top:10px}.box-photo-label{font-size:13px;letter-spacing:.16em}@media(max-width:800px){.box-photos{gap:26px}.box-photo{padding:26px 32px;max-height:580px}.box-photos figcaption{padding:23px 24px 26px}}
#fotiboxx{row-gap:40px}.box-photo{width:100%;min-width:0}@media(max-width:800px){#fotiboxx{row-gap:24px}}
.extras{border-top:1px solid var(--line)}.extras-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:30px;margin-top:36px}.extra-card{border:1px solid var(--line);background:#191714;min-width:0}.extra-image{height:350px;background:#f3eee5;padding:25px;display:flex;justify-content:center}.extra-image img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.extra-copy{padding:28px}.extra-copy h3{font-size:34px;margin:0 0 16px}.extra-copy p{color:var(--muted)}.backdrop-colors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:26px}.backdrop-colors figure{margin:0;min-width:0}.backdrop-colors img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;background:#f3eee5}.backdrop-colors figcaption{padding-top:10px;color:var(--accent);font-size:16px}.faq a{text-decoration:underline;text-underline-offset:3px}@media(max-width:800px){.extras-grid{grid-template-columns:1fr;gap:24px}.extra-image{height:310px}.extra-copy{padding:24px}.backdrop-colors{gap:10px}}
.backdrop-crop{aspect-ratio:3/4;overflow:hidden;background:#151310}.backdrop-colors .backdrop-crop img{height:100%;aspect-ratio:auto;object-fit:cover;transform:scale(1.95);transform-origin:center}
/* Compact landing layout with clear navigation and product overview. */
.header{min-height:86px;padding:8px 6%;gap:24px}.logo img{width:76px;height:72px}.header nav{gap:24px;font-size:15px}.hero{min-height:0;grid-template-columns:1.15fr 1fr;padding:48px 6%;gap:7%;align-items:center}.hero h1{font-size:clamp(44px,5.5vw,76px);margin:20px 0}.hero-copy>p{font-size:18px;max-width:540px;margin:22px 0 28px}.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.hero-link{font-size:15px;text-decoration:underline;text-underline-offset:5px}.hero-note{max-width:none;margin-top:24px}.hero-products{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#f3eee5;border:1px solid #756247;padding:26px 26px 18px;max-width:490px;width:100%;margin:auto}.hero-products img{width:100%;height:300px;object-fit:contain;mix-blend-mode:multiply}.hero-products span{grid-column:1/-1;text-align:center;color:#51432f;font-size:14px;padding-top:8px}.ticker{padding:16px 6%;font-size:14px}.section{padding-top:64px;padding-bottom:64px}.section-top{align-items:center}.section-top h2{margin-bottom:12px}h2{font-size:clamp(36px,4vw,50px)}.package-grid{margin-top:28px;gap:20px}.package{padding:26px}.package h3{font-size:34px}.package .price{font-size:28px;font-weight:600}.package-label{font-size:14px}.package-note{max-width:100%;line-height:1.7}.extra-image{height:260px}.backdrop-crop{max-height:210px}.box-photo{max-height:430px}.box-photos{margin-top:8px}.intro{gap:6%}.intro-copy>p{font-size:16px}.about .intro-copy{max-width:680px}.occasion-grid{gap:24px}.occasion-icon{display:none}.contact h2{font-size:clamp(38px,4.5vw,58px)}footer nav{display:flex;flex-wrap:wrap;gap:18px;justify-content:center}
@media(max-width:1100px){.header{flex-wrap:nowrap;padding:10px 5%;gap:16px}.header nav{order:0;flex-basis:auto;padding:0;border:0;gap:14px}.hero-products img{height:260px}}
@media(max-width:800px){.header{flex-wrap:wrap;justify-content:space-between}.header nav{order:3;flex-basis:100%;justify-content:space-between;padding:12px 0 4px;border-top:1px solid var(--line);gap:8px;font-size:14px}.hero{grid-template-columns:1fr;padding:32px 6%;gap:26px}.hero h1{font-size:48px}.hero-copy>p{font-size:16px;max-width:none;margin:18px 0 24px}.hero-products{max-width:430px;padding:18px}.hero-products img{height:210px}.hero-note{font-size:14px}.section{padding:46px 6%}.package-grid{margin-top:24px}.package{padding:24px}.extras-grid{margin-top:24px}.box-photo{max-height:400px}.hero-actions{gap:18px}.intro{gap:20px}}
@media(max-width:390px){.header nav{font-size:13px;gap:8px}.hero h1{font-size:42px}.hero-products img{height:180px}.hero-actions{align-items:flex-start;flex-direction:column}}
/* Larger products with a quieter, warm grey presentation. */
.hero-products{max-width:540px;padding:10px 8px 0;gap:4px;background:#b4a995;border:0}.hero-products img{height:360px}.hero-products span{background:#100f0d;color:var(--muted);margin:0 -8px;padding:16px 0 0;font-size:14px}
@media(max-width:1100px){.hero-products img{height:320px}}
@media(max-width:800px){.hero-products{max-width:490px;padding:8px 6px 0}.hero-products img{height:300px}.hero-products span{margin:0 -6px}}
@media(max-width:390px){.hero-products img{height:250px}}
.hero-products{background:#d6cdbc}.hero-products img{filter:brightness(1.18) contrast(1.06);}
.hero-products{background:#292722}.hero-products img{mix-blend-mode:normal;filter:none;}
.header .logo img{width:104px;height:98px}
.hero-products{padding-top:14px}
.hero-products img{height:420px;object-fit:cover;object-position:center}
@media(max-width:1100px){.hero-products img{height:380px}}
@media(max-width:800px){.header .logo img{width:96px;height:90px}.hero-products img{height:360px}}
@media(max-width:390px){.hero-products img{height:310px}}
/* Put the products directly beneath the title on phones. */
@media(max-width:800px){
.hero{display:flex;flex-direction:column;align-items:stretch;gap:16px;padding:24px 6% 32px}
.hero-copy{display:contents}
.hero-copy>.eyebrow{order:0}
.hero h1{order:1;margin:0;font-size:clamp(36px,7vw,48px)}
.hero-products{order:2;max-width:430px;margin:0 auto}
.hero-products img{height:clamp(210px,30svh,290px);object-fit:contain}
.hero-products span{padding-top:10px}
.hero-actions{order:3;gap:14px;flex-direction:row;align-items:center}
.hero-copy>p{order:4;margin:0;font-size:16px}
.hero-note{order:5;margin:0}
}
.menu-toggle{display:none}
@media(max-width:800px){
.header{position:relative;flex-wrap:nowrap;gap:12px}
.header .logo{margin-right:auto}
.menu-toggle{display:block;order:2;min-height:44px;padding:10px 12px;border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-size:15px;cursor:pointer}
.header>.button{order:1}
.header #main-nav{display:none;position:absolute;top:100%;left:0;right:0;z-index:20;background:#191714;border:1px solid var(--line);padding:12px 6%;margin:0}
.header .menu-toggle[aria-expanded="true"]+#main-nav{display:flex;flex-direction:column;align-items:stretch;gap:0}
.header #main-nav a{padding:12px 0;font-size:16px}
.menu-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
}
/* Mobile presentation: quiet surfaces, clear hierarchy and comfortable controls. */
@media(max-width:800px){
.header{padding:8px 20px;gap:12px;min-height:88px;border-bottom-color:#d9bf981f}
.header .logo img{width:88px;height:82px}
.header>.button.small{min-height:44px;padding:10px 17px;border-radius:24px;border-color:#d9bf9866;background:transparent;color:var(--accent);font-size:14px;gap:0}
.header>.button span{display:none}
.menu-toggle{display:flex;align-items:center;gap:8px;border:0;padding:10px 4px 10px 8px;font-size:14px}
.menu-icon{width:18px;height:12px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;display:block}
.header #main-nav{left:16px;right:16px;top:calc(100% + 4px);padding:12px 20px;border-radius:14px;border-color:#d9bf9833;box-shadow:0 18px 40px #0007}
.header #main-nav a+a{border-top:1px solid #d9bf981a}
.hero{padding:26px 22px 36px;gap:18px;text-align:center}
.hero-copy>.eyebrow{font-size:12px;letter-spacing:.18em}
.hero h1{font-size:clamp(38px,10.5vw,54px);line-height:1.06;letter-spacing:-.02em}
.hero h1 em{margin-top:6px}
.hero-products{max-width:420px;padding:8px 12px 0;gap:0;border:0;background:radial-gradient(ellipse at 50% 48%,#34302a 0%,#211f1b 48%,#100f0d 76%)}
.hero-products img{height:clamp(230px,32svh,310px);object-fit:cover;mix-blend-mode:normal;filter:none}
.hero-products span{margin:0;padding:10px 0 0;background:transparent;color:#bdb6aa;font-size:13px;letter-spacing:.04em}
.hero-actions{display:flex;flex-direction:column;gap:12px;width:100%;max-width:380px;margin:2px auto 0}
.hero-actions .button{width:100%;min-height:50px;padding:13px 22px;border-radius:10px;font-size:16px}
.hero-link{font-size:14px;min-height:40px;display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--muted)}
.hero-copy>p{font-size:16px;line-height:1.7;max-width:420px;margin:0 auto}
.hero-note{padding-top:16px;border-top:1px solid #d9bf9829;font-size:13px;line-height:1.7}
.section{padding:48px 22px}
.package{border-radius:14px;border-color:#d9bf9833;padding:26px}
.package.featured{border-color:#d9bf9880}
.package .button{border-radius:10px;min-height:48px}
.extra-card,.box-photos figure{border-radius:14px;overflow:hidden}
.contact{padding:48px 22px;background:#191714;color:var(--ink);border-color:#413a30;text-align:left}
.contact .eyebrow{color:var(--accent);font-size:12px}
.contact h2{font-size:42px;line-height:1.1}
.contact em{color:var(--accent)}
.contact p{color:var(--muted)}
.inquiry-form{margin-top:28px}
.form-grid{grid-template-columns:1fr;gap:20px}
.form-wide{grid-column:1/-1}
.form-grid label{font-size:14px;font-weight:500;gap:9px}
.form-grid input,.form-grid select,.form-grid textarea{background:#25221e;border:1px solid #5b5143;border-radius:9px;color:#f3eee5;font-size:16px;min-height:52px;padding:14px;color-scheme:dark}
.form-grid textarea{min-height:140px}
.form-grid input::placeholder,.form-grid textarea::placeholder{color:#b0a799;opacity:1}
.form-grid :is(input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.form-grid>.form-hint{margin:0;padding:14px 16px;border-left:2px solid var(--accent);background:#242018;border-radius:0 8px 8px 0}
.form-submit{width:100%;border-radius:10px;background:var(--accent);color:#17130e;border-color:var(--accent);min-height:52px}
.form-submit:hover{background:#ead6b8;color:#17130e}
.form-status[data-state="error"]{color:#641c13}
.form-status[data-state="success"]{color:#29341e}
.form-privacy{font-size:13px}
}
@media(max-width:360px){.header{padding-left:16px;padding-right:16px;gap:8px}.header .logo img{width:76px;height:72px}.header>.button.small{padding:10px 13px}.hero{padding-left:18px;padding-right:18px}.hero-products img{height:240px}}
/* A faded product detail forms the opening backdrop; model portraits remain below. */
.hero.hero-background{position:relative;isolation:isolate;overflow:hidden;display:block;min-height:560px;padding-top:72px;padding-bottom:72px}
.hero-background-image{position:absolute;z-index:-2;right:-2%;top:0;width:65%;height:100%;object-fit:contain;object-position:right center;opacity:.3;pointer-events:none}
.hero.hero-background:after{content:"";display:block;position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#100f0d 0%,#100f0de6 30%,#100f0d55 66%,#100f0d22 100%);pointer-events:none}
.hero-background .hero-copy{display:block;max-width:650px}
@media(max-width:800px){
.hero.hero-background{display:flex;min-height:540px;padding:40px 22px;justify-content:center;gap:22px}
.hero-background .hero-copy{display:contents}
.hero-background-image{right:-18%;width:130%;height:100%;object-fit:cover;object-position:center;opacity:.2}
.hero.hero-background:after{background:linear-gradient(180deg,#100f0d77,#100f0d55 45%,#100f0dcc 100%)}
.hero-background .hero-actions{order:4}
.hero-background .hero-copy>p{order:3;color:#e0d9ce;text-shadow:0 1px 8px #0009}
.hero-background .hero-note{order:5;color:#c9c1b5}
}
.hero-background-image{right:4%;top:8%;width:52%;height:84%;object-fit:contain;object-position:center}
@media(max-width:800px){.hero-background-image{right:5%;top:12%;width:90%;height:76%;object-fit:contain;object-position:center}}
/* Mobile: show the product above the copy; keep the desktop backdrop. */
@media(max-width:800px){
.hero.hero-background{min-height:0;padding:24px 22px 36px;gap:20px}
.hero.hero-background:after{display:none}
.hero-background .hero-background-image{position:relative;z-index:0;order:-1;right:auto;top:auto;width:100%;max-width:340px;height:clamp(230px,34svh,320px);margin:0 auto;object-fit:contain;opacity:.9}
.hero-background .hero-actions>.button{display:none}
.hero-background .hero-actions{margin:0}
.hero-background .hero-copy>p{text-shadow:none}
}

/* Consistent soft button shapes on desktop and mobile. */
.button{border-radius:10px}
.header>.button.small{border-radius:999px}

/* One complete dropdown navigation at every screen size. */
.header{position:relative;z-index:30;flex-wrap:nowrap}
.header .logo{margin-right:auto}
.header>.button{order:1}
.header .menu-toggle{display:flex;order:2;align-items:center;gap:10px;min-height:44px;padding:10px 14px;border:1px solid #d9bf9840;border-radius:24px;background:transparent;color:var(--ink);font:inherit;font-size:15px;cursor:pointer}
.menu-icon{width:18px;height:12px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;display:block}
.header #main-nav{display:none;position:absolute;top:calc(100% + 4px);left:auto;right:5%;width:min(320px,calc(100vw - 32px));max-height:calc(100dvh - 150px);overflow-y:auto;z-index:40;box-sizing:border-box;margin:0;padding:12px 22px;background:#191714;border:1px solid #d9bf9833;border-radius:14px;box-shadow:0 18px 40px #0007}
.header .menu-toggle[aria-expanded="true"]+#main-nav{display:flex;flex-direction:column;align-items:stretch;gap:0}
.header #main-nav a{padding:11px 0;font-size:16px;text-align:left}
.header #main-nav a+a{border-top:1px solid #d9bf981a}
.header #main-nav a:hover{color:var(--accent)}
.menu-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:800px){.header #main-nav{right:16px;max-height:calc(100dvh - 120px)}.header .menu-toggle{padding:10px 8px;font-size:14px;gap:8px;border:0}}
/* Brand name fills the open desktop header space. */
.header .logo{margin-right:0}
.header-domain{margin-right:auto;color:var(--accent);font-family:"Cormorant Garamond",serif;font-size:36px;letter-spacing:.025em;line-height:1.2;text-decoration:none}
@media(max-width:800px){.header-domain{display:none}.header .logo{margin-right:auto}}
.steps-action{margin-top:32px}.steps-action .button{min-height:48px}@media(max-width:800px){.steps-action .button{width:100%;justify-content:center}}
.legal-page{max-width:900px;margin:0 auto;line-height:1.8;overflow-wrap:anywhere}
.legal-page h1{font-size:clamp(36px,5vw,56px);line-height:1.15;margin:0 0 32px}
.legal-page h2{font-size:28px;line-height:1.3;margin:36px 0 16px}
.legal-page p,.legal-page li{font-size:16px;color:var(--muted)}
.legal-page a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
footer{flex-wrap:wrap}
footer .legal-links{flex-basis:100%;grid-column:1/-1;justify-content:center;margin-top:20px;padding-top:20px;border-top:1px solid var(--line);font-size:14px}
/* Shared, balanced footer on every page. */
footer.site-footer{display:block;padding:32px 6% 24px;background:#151410;border-top:1px solid var(--line);color:var(--muted)}
.site-footer .footer-top,.site-footer .footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1280px;margin:0 auto}
.site-footer .footer-brand{display:flex;align-items:center;gap:20px;text-decoration:none}
.site-footer .footer-brand img{display:block;width:80px;height:76px;object-fit:contain}
.site-footer .footer-brand span{font-family:"Cormorant Garamond",serif;font-size:30px;color:var(--accent);letter-spacing:.025em}
.site-footer nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:24px;margin:0;padding:0;border:0;font-size:14px}
.site-footer a{color:var(--muted);text-decoration:none}
.site-footer a:hover{color:var(--accent)}
.site-footer a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.site-footer .footer-bottom{margin-top:24px;padding-top:20px;border-top:1px solid #d9bf9826}
.site-footer .footer-top-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:14px;white-space:nowrap}
.site-footer nav a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:800px){footer.site-footer{padding:28px 22px 20px}.site-footer .footer-top{flex-direction:column;gap:12px}.site-footer .footer-bottom{flex-direction:column;gap:8px;margin-top:20px;padding-top:16px}.site-footer nav{justify-content:center;gap:22px}.site-footer .footer-brand{gap:14px}.site-footer .footer-brand img{width:64px;height:60px}.site-footer .footer-brand span{font-size:28px}}
.site-footer .footer-contact{display:flex;justify-content:space-between;gap:28px;max-width:1280px;margin:20px auto 0;font-size:14px;line-height:1.8}
.site-footer address{font-style:normal}
.site-footer address strong{color:var(--ink);font-weight:500}
.site-footer .footer-contact-links{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.site-footer .footer-contact-links a{display:inline-flex;align-items:center;gap:8px;min-height:32px}
@media(max-width:800px){.site-footer .footer-contact{flex-direction:column;align-items:center;text-align:center;gap:16px}.site-footer .footer-contact-links{align-items:center}.site-footer .footer-contact-links a{min-height:40px}}
.box-photo{background:radial-gradient(ellipse at center,#514b40 0%,#35322b 75%)}.box-photo img{mix-blend-mode:normal}.box-photos figure{border-color:#d9bf9838}.box-photos figcaption{border-top-color:#d9bf9838}
.extra-image{background:radial-gradient(ellipse at center,#514b40 0%,#35322b 75%)}.extra-image img{mix-blend-mode:darken}.extra-image img[src="softbox.png"]{mix-blend-mode:normal}.extra-card{border-color:#d9bf9838}
.extra-image{background:radial-gradient(ellipse at center,#817869 0%,#625c50 75%)}
.extra-card,.extra-image{background:#242018}
.extra-card:first-child .extra-image{background:#b9ad97}.extra-image img[src="hintergrundsystem.jpg"]{mix-blend-mode:multiply}
.extra-card:first-child .extra-image{padding:10px;overflow:hidden}.extra-image img[src="hintergrundsystem.jpg"]{transform:scale(1.4);transform-origin:50% 55%}@media(max-width:800px){.extra-image img[src="hintergrundsystem.jpg"]{transform:scale(1.05)}}
/* Light extra cards and a clearly grouped contact footer. */
.extra-card{background:#f3eee5;color:#242018;border-color:#d6c8b3}
.extra-card .extra-image,.extra-card:first-child .extra-image{background:#f3eee5}
.extra-copy h3{color:#242018}
.extra-copy p{color:#514b42}
.extra-card .backdrop-colors figcaption{color:#655238}
.site-footer .footer-columns{display:grid;grid-template-columns:1.4fr 1fr .65fr;gap:48px;max-width:1280px;margin:0 auto;align-items:start}
.site-footer .footer-heading{font:500 14px/1.4 "DM Sans",sans-serif;color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin:10px 0 18px}
.site-footer .footer-identity address{font-size:14px;line-height:1.9;margin-top:18px}
.site-footer .footer-contact-links{align-items:flex-start;gap:4px}
.site-footer .footer-contact-links a{min-height:40px;gap:12px;font-size:14px}
.site-footer .contact-icon{width:20px;height:20px;flex:none;color:var(--accent)}
.site-footer .footer-navigation{flex-direction:column;align-items:flex-start;gap:0}
.site-footer .footer-navigation a{min-height:40px}
.site-footer .footer-bottom{margin-top:32px}
@media(max-width:800px){.site-footer .footer-columns{grid-template-columns:1fr 1fr;gap:28px;text-align:left}.site-footer .footer-identity{grid-column:1/-1}.site-footer .footer-brand{justify-content:flex-start}.site-footer .footer-heading{margin-top:0}.site-footer .footer-navigation{align-items:flex-start}.site-footer .footer-contact-links{align-items:flex-start}}
@media(max-width:480px){.site-footer .footer-columns{grid-template-columns:1fr;gap:24px}.site-footer .footer-navigation{flex-direction:row;gap:24px}.site-footer .footer-heading{margin-bottom:10px}}
/* Brief first-visit brand reveal; content loads independently underneath. */
.welcome-intro{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:#100f0d;animation:welcome-reveal 1.65s ease both;cursor:pointer}
.welcome-mark{width:clamp(170px,25vw,250px);text-align:center;animation:welcome-mark-in 1.1s cubic-bezier(.2,.7,.3,1) both}
.welcome-mark img{display:block;width:100%;height:auto}
.welcome-line{display:block;height:1px;width:80px;margin:22px auto 0;background:#d9bf98;transform-origin:center;animation:welcome-line-in 1s ease both}
@keyframes welcome-mark-in{from{opacity:0;transform:translateY(10px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes welcome-line-in{from{opacity:0;transform:scaleX(0)}to{opacity:.8;transform:scaleX(1)}}
@keyframes welcome-reveal{0%,65%{opacity:1}100%{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){.welcome-intro{display:none;animation:none}.welcome-mark,.welcome-line{animation:none}}
@media(min-width:481px) and (max-width:800px){.header .header-domain{display:block;font-size:clamp(24px,4vw,32px);margin-right:auto}.header .logo{margin-right:0}}@media(max-width:480px){.header{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:4px 10px}.header .logo{grid-column:1;grid-row:1/3;margin:0}.header .logo img{width:58px;height:56px}.header .header-domain{display:block;grid-column:2;grid-row:1/3;font-size:clamp(20px,5.8vw,26px);margin:0}.header>.button.small{grid-column:3;grid-row:1;min-height:36px;padding:7px 12px}.header .menu-toggle{grid-column:3;grid-row:2;min-height:36px;justify-content:center;padding:6px}.header #main-nav{grid-column:auto}}
.header .logo img,.site-footer .footer-brand img,.welcome-mark img{mix-blend-mode:screen;filter:contrast(1.18);background:transparent}.header .logo,.site-footer .footer-brand{background:transparent}
@media(max-width:800px){.hero-background .hero-background-image{opacity:.58;filter:saturate(.85)}}
.header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}
.header .logo{grid-column:2;grid-row:1;margin:0;justify-self:center}
.header .menu-toggle{grid-column:1;grid-row:1;justify-self:start;order:0}
.header>.button.small{grid-column:3;grid-row:1;justify-self:end;order:0}
.header #main-nav{left:5%;right:auto;grid-column:auto;grid-row:auto}
@media(max-width:800px){.header{grid-template-columns:1fr auto 1fr;gap:8px}.header #main-nav{left:16px;right:auto}}
@media(max-width:480px){.header .logo img{width:70px;height:66px}.header .menu-toggle{min-height:44px;padding:8px 0}.header>.button.small{min-height:40px;padding:8px 12px}}
.header .logo img{width:124px;height:116px}@media(max-width:800px){.header .logo img{width:112px;height:105px}}@media(max-width:480px){.header .logo img{width:96px;height:90px}}
.header .logo img,.site-footer .footer-brand img,.welcome-mark img{mix-blend-mode:normal;filter:url(#logo-transparent)}
.header .logo img{width:150px;height:140px}@media(max-width:800px){.header .logo img{width:140px;height:131px}}@media(max-width:480px){.header .logo img{width:112px;height:105px}}
/* Restrained motion with fully visible content as the default. */
@media(prefers-reduced-motion:no-preference){
html{scroll-behavior:smooth}
.button,.menu-toggle{transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.package,.extra-card,.box-photos figure{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
a{transition:color .2s ease}
.header .menu-toggle[aria-expanded="true"]+#main-nav{animation:menu-reveal .2s ease both}
.faq details[open]>p{animation:detail-reveal .25s ease both}
@media(hover:hover){.button:hover{transform:translateY(-2px)}.package:hover,.extra-card:hover,.box-photos figure:hover{transform:translateY(-3px);box-shadow:0 10px 24px #0002}}
}
@keyframes menu-reveal{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@keyframes detail-reveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.menu-toggle,.package,.extra-card,.box-photos figure,a{transition:none}}
.occasion-grid article{background:#242018;border:1px solid #8c7758;border-radius:14px;padding:26px 22px;gap:0}.occasion-grid article p{margin-bottom:26px}.occasion-grid article a{background:#dbc198;color:#19150f;border:1px solid #dbc198;border-radius:10px;min-height:48px;padding:13px 16px;align-items:center;font-weight:600;gap:12px;text-decoration:none}.occasion-grid article a:hover{background:#ead5b4;color:#19150f}.occasion-grid article a:focus-visible{outline:2px solid #f3eee5;outline-offset:4px}.occasion-grid article:focus-within{border-color:#dbc198}@media(max-width:600px){.occasion-grid{grid-template-columns:1fr}.occasion-grid article{padding:24px}}

/* Center action labels without decorative arrows. */
.button,.occasion-grid article a{justify-content:center;text-align:center}
