@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/BricolageGrotesque-normal-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/BricolageGrotesque-normal-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/BricolageGrotesque-normal-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/BricolageGrotesque-normal-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/GeistMono-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/GeistMono-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/GeistMono-normal-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/GeistMono-normal-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Instrument Sans';
  font-style: italic;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/InstrumentSans-italic-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Instrument Sans';
  font-style: italic;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/InstrumentSans-italic-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/InstrumentSans-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/InstrumentSans-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/InstrumentSans-normal-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/InstrumentSans-normal-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/InstrumentSans-normal-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/InstrumentSans-normal-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--ink:#202322;--muted:#686e6a;--line:#dedfd9;--paper:#f5f5f0;--accent:#bd512c;--accent-dark:#993b1c;--tint:#f8ece6;--blue:#243a53;--radius:14px;--max:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:#fff;color:var(--ink);font-family:'Instrument Sans',Arial,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-family:'Bricolage Grotesque',Arial,sans-serif;font-weight:500;letter-spacing:-.045em;line-height:1.08;text-wrap:balance}h1{font-size:clamp(40px,4.6vw,66px)}h2{font-size:clamp(32px,3.3vw,46px)}h3{font-size:25px;letter-spacing:-.03em}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,summary{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}img,svg{max-width:100%;display:block}img{width:100%;height:100%;object-fit:cover}p{color:var(--muted)}p a,.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}button:disabled{opacity:.5;cursor:not-allowed}.wrap{width:min(calc(100% - 80px),var(--max));margin-inline:auto}.section{padding-block:88px}.section.soft{background:var(--paper)}.section.border{border-top:1px solid var(--line)}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:18px}.lead{font-size:19px;line-height:1.65;max-width:48ch;margin-top:24px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:36px}.section-head h2{max-width:21ch}.section-head p{max-width:43ch;font-size:16px}.section-head .eyebrow{margin-bottom:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:50px;padding:12px 22px;border:1px solid transparent;border-radius:7px;font-size:15px;font-weight:600;line-height:1.3;text-align:center;transition:background .18s,color .18s,border-color .18s;flex-shrink:0}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-dark)}.btn.secondary{background:#fff;border-color:var(--line)}.btn.secondary:hover{border-color:#8f9690;background:var(--paper)}.btn.light{background:#fff;color:var(--ink)}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:30px}.text-link{display:inline-flex;align-items:center;gap:14px;color:var(--accent);font-size:15px;font-weight:600;min-height:44px}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.small{font-size:13px;line-height:1.55;color:var(--muted)}.reassurance{margin-top:13px;font-size:13px;color:var(--muted)}.skip{position:fixed;top:-100px;left:20px;padding:12px 18px;background:var(--ink);color:white;z-index:100}.skip:focus{top:10px}.site-header{height:80px;position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.header-inner{height:100%;display:flex;align-items:center;gap:32px}.brand{display:inline-flex;align-items:center;gap:10px;font-family:'Bricolage Grotesque',sans-serif;font-size:22px;font-weight:600;letter-spacing:-.04em;white-space:nowrap}.brand svg{width:29px;height:29px;flex:none}.desktop-nav{display:flex;align-items:center;gap:27px;margin-left:auto;font-size:14px;font-weight:500}.desktop-nav a{padding-block:25px;position:relative}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{color:var(--accent)}.header-cta{min-height:42px;padding:10px 17px;font-size:13px}.mobile-nav{display:none;margin-left:auto}.mobile-nav summary{list-style:none;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);border-radius:6px;cursor:pointer}.mobile-nav summary::-webkit-details-marker{display:none}.menu-icon{width:17px;height:10px;border-block:1.5px solid var(--ink)}.mobile-panel{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);padding:16px 24px;box-shadow:0 16px 24px #2023220d}.mobile-panel a{display:block;padding:12px 0;font-size:16px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding-block:70px}.hero-copy{min-width:0}.hero h1{max-width:15ch}.hero-visual{min-width:0;position:relative;border-radius:var(--radius);background:var(--paper);overflow:hidden}.hero-visual>img,.hero-visual>picture>img{aspect-ratio:1.12;object-fit:cover}.visual-label{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 20px;border-top:1px solid #e7e6df;font-size:12px;color:var(--muted)}.visual-label span:first-child{color:var(--ink);font-weight:500}.hero-photo{position:relative}.hero-photo img{aspect-ratio:1.16;object-fit:cover}.hero-hand{position:absolute;inset:0;pointer-events:none}.hand-controls{display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding:16px 20px;background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 var(--radius) var(--radius)}.hand-controls button,.hand-controls a{padding:8px 11px;min-height:38px;border:1px solid var(--line);border-radius:5px;background:#fff;font-size:12px;line-height:1.4}.hand-controls [aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.hand-controls .control-caption{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-right:auto}.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:24px 0;border-block:1px solid var(--line);margin-bottom:0;gap:24px}.trust-item{display:flex;gap:12px;align-items:flex-start;font-size:13px}.trust-item svg{width:20px;height:20px;flex:none;margin-top:3px;color:var(--accent)}.trust-item strong{display:block;font-size:14px;font-weight:600}.trust-item span{color:var(--muted)}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.product-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;background:#fff;transition:border-color .2s,box-shadow .2s}.product-card:hover{border-color:#b5bbb4;box-shadow:0 10px 32px #20232208}.product-art{aspect-ratio:1.45;background:#f1f2ed;padding:30px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line)}.product-art svg{width:100%;height:100%;overflow:visible}.product-body{padding:26px;display:flex;flex-direction:column;gap:12px;flex:1}.product-body p{font-size:15px;line-height:1.6}.product-body h3{font-size:25px}.product-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;margin-top:auto}.product-bottom strong{font-size:15px;font-weight:600}.arrow-circle{width:33px;height:33px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:18px;flex:none}.product-footnote{margin-top:19px;font-size:13px}.feature-split{display:grid;grid-template-columns:1fr 1fr;gap:78px;align-items:center}.feature-image{border-radius:var(--radius);overflow:hidden;background:var(--paper);aspect-ratio:1.1}.feature-copy h2{max-width:18ch}.feature-copy>p{margin-top:22px}.feature-list{margin-top:25px}.feature-row{padding:18px 0;border-top:1px solid var(--line)}.feature-row h3{font-family:inherit;font-size:16px;font-weight:600;letter-spacing:0;line-height:1.4}.feature-row p{font-size:15px;margin-top:5px}.occasion-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}.occasion-link{display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);padding:23px 0}.occasion-link:hover h3{color:var(--accent)}.occasion-no{font-family:'Geist Mono',monospace;color:#a0a69f;font-size:12px;align-self:flex-start;padding-top:7px}.occasion-link h3{font-size:22px}.occasion-link p{font-size:14px;margin-top:5px}.occasion-link .arrow-circle{margin-left:auto}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}.step-no{font-family:'Geist Mono',monospace;font-size:12px;color:var(--accent);display:block;padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid var(--line)}.steps h3{font-size:21px;margin-bottom:12px}.steps p{font-size:15px}.founder{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px;align-items:center}.founder-photo{height:420px;border-radius:var(--radius);overflow:hidden}.founder-photo img{object-position:72% 73%;transform:scale(1.38);transform-origin:70% 75%}.founder h2{max-width:18ch}.founder p{margin-top:20px}.signature{margin-top:24px;border-top:1px solid var(--line);padding-top:20px;display:flex;flex-direction:column;font-size:14px}.signature strong{font-size:17px}.signature span{color:var(--muted)}.cta-section{background:var(--blue);color:white;padding:60px 0}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.cta-inner h2{max-width:23ch;font-size:38px}.cta-inner p{color:#c8d0d7;font-size:16px;margin-top:15px;max-width:53ch}.cta-inner .btn{min-width:225px}.footer{padding:62px 0 24px}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:42px}.footer-intro{font-size:14px;max-width:28ch;margin-top:18px}.footer h3{font-family:inherit;font-weight:600;font-size:13px;letter-spacing:0;margin-bottom:15px}.footer-links{display:flex;flex-direction:column;gap:7px;font-size:13px;color:var(--muted)}.footer-links a:hover{color:var(--accent)}.footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);margin-top:42px;padding-top:22px;font-size:12px;color:var(--muted)}.footer-cookie{border:0;background:none;padding:0;text-align:left;color:inherit;font:inherit;cursor:pointer}.crumbs{display:flex;gap:9px;align-items:center;padding-top:26px;font-size:12px;color:var(--muted);flex-wrap:wrap}.crumbs a:hover{color:var(--accent)}.page-intro{padding-block:48px 56px;max-width:880px}.page-intro h1{max-width:20ch}.page-intro .lead{max-width:64ch}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}.filters button{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:6px;padding:10px 16px;font-size:14px}.filters button[aria-pressed=true]{color:#fff;background:var(--ink);border-color:var(--ink)}.occasion-card{padding:26px;border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;gap:14px;min-height:240px}.occasion-card:hover{border-color:var(--accent)}.occasion-card .eyebrow{margin:0;font-size:10px}.occasion-card h2{font-size:25px;letter-spacing:-.025em}.occasion-card p{font-size:15px}.occasion-card .text-link{margin-top:auto}.occasion-card[hidden]{display:none}.price-card{border:1px solid var(--line);border-radius:12px;padding:30px;display:flex;flex-direction:column;background:#fff}.price-card .eyebrow{font-size:10px;min-height:16px}.price-card h2{font-size:27px;min-height:58px}.price-card>p{font-size:15px;min-height:72px;margin-top:13px}.price-amount{font-family:'Bricolage Grotesque',sans-serif;font-size:39px;letter-spacing:-.045em;margin-top:22px;line-height:1.2}.price-amount small{font-family:'Instrument Sans',sans-serif;font-size:14px;color:var(--muted);letter-spacing:0}.price-card ul{list-style:none;padding:0;margin:24px 0 26px;font-size:14px;flex:1}.price-card li{padding:8px 0;border-top:1px solid var(--line)}.price-card .btn{width:100%}.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:10px}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:18px 20px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:12px;background:var(--paper);font-weight:600}th:first-child,td:first-child{text-align:left}tbody tr:last-child td{border-bottom:0}.faq-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:76px}.faq-layout h2{max-width:15ch}.faq{border-top:1px solid var(--line)}.faq:last-child{border-bottom:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;padding:20px 32px 20px 0;font-size:17px;line-height:1.45;font-weight:500;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';position:absolute;right:0;top:18px;font-size:23px;color:var(--accent);font-weight:400}.faq[open] summary::after{content:'−'}.faq .answer{padding:0 28px 20px 0;font-size:15px;line-height:1.75;color:var(--muted)}.sample-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.sample-card{border:1px solid var(--line);border-radius:10px;padding:28px;background:#fff;display:flex;flex-direction:column;min-height:260px}.sample-card h3{font-family:inherit;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--accent);text-transform:uppercase;margin-bottom:22px}.sample-card blockquote{margin:0;color:var(--ink);font-size:17px;line-height:1.7}.sample-card .sample-line{margin-top:auto;padding-top:25px;color:var(--muted);font-size:12px}.checklist{padding:0;margin:25px 0 0;list-style:none}.checklist li{padding:15px 0 15px 26px;border-top:1px solid var(--line);font-size:15px;color:var(--muted);position:relative}.checklist li::before{content:'✓';position:absolute;left:0;color:var(--accent)}.package-box{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:32px}.package-box h3{margin-bottom:22px}.component-row{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:16px 0;font-size:14px}.component-row strong{font-weight:500}.component-row small{display:block;color:var(--muted);font-size:12px;max-width:35ch;margin-top:4px}.component-row .value{white-space:nowrap;flex:none}.package-total{display:flex;align-items:baseline;justify-content:space-between;border-top:1px solid var(--ink);padding-top:17px;margin-top:3px}.package-total strong{font-size:29px;font-family:'Bricolage Grotesque',sans-serif;font-weight:500;letter-spacing:-.03em}.benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.benefits>div{padding-top:22px;border-top:1px solid var(--line)}.benefits h3{font-size:22px;margin-bottom:14px}.benefits p{font-size:15px}.prose{max-width:760px;margin-inline:auto}.prose h2{font-size:30px;margin:45px 0 18px;letter-spacing:-.035em}.prose h3{font-size:23px;margin:32px 0 15px}.prose p{margin:15px 0;font-size:17px;line-height:1.85}.prose ul,.prose ol{color:var(--muted);padding-left:22px}.prose li{padding-block:5px}.prose a{overflow-wrap:anywhere}.article-hero{border-radius:12px;overflow:hidden;aspect-ratio:2.4;margin-bottom:48px}.article-card{border-top:1px solid var(--line);padding-top:23px;display:flex;flex-direction:column;gap:15px}.article-card h3{font-size:25px}.article-card p{font-size:15px}.article-card .text-link{margin-top:auto}.article-card .eyebrow{font-size:10px;margin:0}.ink path{fill:none;stroke:var(--blue);stroke-width:.48;stroke-linecap:round;stroke-linejoin:round}.product-art .ink path{stroke-width:.5}.article-meta{font-size:13px;color:var(--muted);margin-top:24px}.studio-caption{font-size:12px;margin-top:12px;color:var(--muted)}.workshop-image{aspect-ratio:1.1;overflow:hidden;border-radius:12px}.workshop-image img{object-position:55% 82%;transform:scale(1.65);transform-origin:55% 82%}.api-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}.api-list{display:flex;flex-direction:column;gap:0}.api-list div{padding:20px 0;border-top:1px solid var(--line)}.api-list h3{font-size:19px;margin-bottom:8px}.api-list p{font-size:15px}.disclosure{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:18px 22px;margin-top:26px;font-size:14px;color:var(--muted)}.related{border:1px solid var(--line);border-radius:10px;padding:22px;display:flex;gap:16px;align-items:center;justify-content:space-between;font-size:15px}.related:hover{border-color:var(--accent)}[hidden]{display:none!important}
@media(min-width:1500px){.hero{padding-block:90px}.hero h1{font-size:72px}}
@media(max-width:1100px){.desktop-nav{gap:18px}.header-inner{gap:22px}.hero{gap:36px}.hero h1{font-size:52px}.feature-split,.founder{gap:42px}.faq-layout{gap:40px}.footer-grid{gap:28px}.price-card{padding:24px}}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}.desktop-nav{display:none}.mobile-nav{display:block}.header-inner{gap:14px}.header-cta{margin-left:0}.hero{gap:28px;padding-block:48px}.hero h1{font-size:44px}.lead{font-size:17px}.trust-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.grid-3,.sample-grid{gap:16px}.product-art{padding:20px}.product-body{padding:20px}.product-body h3{font-size:22px}.section{padding-block:64px}.section-head{gap:25px}.steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}.founder-photo{height:370px}.benefits{gap:24px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/4}.price-card h2{min-height:0}.price-card>p{min-height:0}.price-card{padding:22px}.price-amount{font-size:33px}.api-grid{gap:32px}}
@media(max-width:700px){.site-header{height:68px}.brand{font-size:20px}.brand svg{width:27px;height:27px}.header-cta{font-size:12px;padding:10px 12px;min-height:40px}.hero{grid-template-columns:1fr;gap:32px;padding-block:38px 44px}.hero h1{font-size:clamp(39px,8.6vw,54px);max-width:17ch}.hero .lead{max-width:49ch;margin-top:20px}.hero-visual{max-width:560px;width:100%;margin:auto}.hero-photo img{aspect-ratio:1.45}.hero-visual>img,.hero-visual>picture>img{aspect-ratio:1.5}.section-head{flex-direction:column;align-items:flex-start;gap:17px;margin-bottom:27px}.section-head h2{max-width:24ch}.section-head p{max-width:55ch}.grid-3{grid-template-columns:1fr}.product-card{display:grid;grid-template-columns:.9fr 1.1fr}.product-art{aspect-ratio:auto;border-bottom:0;border-right:1px solid var(--line);padding:18px;min-height:210px}.product-body{padding:22px}.product-body h3{font-size:24px}.product-body p{font-size:14px}.feature-split,.founder,.faq-layout,.api-grid{grid-template-columns:1fr;gap:30px}.feature-image{aspect-ratio:1.45}.feature-copy h2{max-width:23ch}.occasion-list{grid-template-columns:1fr}.occasion-link{padding:20px 0}.founder{grid-template-columns:.8fr 1.2fr;gap:28px}.founder-photo{height:360px}.founder h2{font-size:31px}.founder p{font-size:15px}.cta-inner{flex-direction:column;align-items:flex-start;gap:28px}.cta-inner h2{font-size:34px}.cta-section{padding-block:46px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:9px}.page-intro{padding-block:35px 40px}.page-intro h1{font-size:42px}.page-intro .lead{font-size:17px}.grid-2{gap:20px}.occasion-card{padding:22px}.benefits{grid-template-columns:1fr;gap:25px}.benefits>div{padding-top:17px}.benefits h3{margin-bottom:9px}.sample-grid{grid-template-columns:1fr}.sample-card{min-height:0;padding:26px}.sample-card .sample-line{padding-top:20px}.price-card h2{min-height:0}.price-card>p{min-height:0}.price-card{padding:26px}.price-card ul{margin-block:20px}.price-amount{font-size:39px}.faq-layout h2{max-width:24ch}.prose p{font-size:16px}.article-hero{aspect-ratio:1.7}.article-card{padding-top:20px}.workshop-image{aspect-ratio:1.4}.trust-item{font-size:12px}.trust-item strong{font-size:13px}.hand-controls{padding:12px;gap:5px}.hand-controls .control-caption{width:100%;margin-bottom:4px}.hand-controls button,.hand-controls a{padding:8px 10px}.actions{margin-top:24px}}
@media(max-width:480px){.wrap{width:calc(100% - 36px)}.header-inner{gap:9px}.header-cta .long-label{display:none}.brand{font-size:18px}.mobile-nav summary{width:37px;height:37px}.hero h1{font-size:42px}.hero .lead{font-size:17px;line-height:1.65}.actions{gap:9px}.actions .btn{font-size:14px;padding-inline:15px;min-height:48px}.section{padding-block:52px}.eyebrow{margin-bottom:15px;font-size:11px}.trust-strip{gap:18px 14px;padding-block:23px}.trust-item{gap:8px}.trust-item svg{width:16px;height:16px}.section-head h2,h2{font-size:34px}.product-card{display:flex}.product-art{aspect-ratio:1.75;min-height:0;border-right:0;border-bottom:1px solid var(--line);padding:28px 48px}.product-body{padding:25px}.product-body p{font-size:15px}.founder{grid-template-columns:1fr;gap:27px}.founder-photo{height:320px}.founder-photo img{object-position:70% 72%;transform:scale(1.22)}.founder h2{font-size:34px}.founder p{font-size:16px}.steps{gap:28px 21px}.steps h3{font-size:21px}.steps p{font-size:14px}.grid-2{grid-template-columns:1fr}.footer-grid{gap:28px}.footer{padding-top:45px}.cta-inner .btn{width:100%}.package-box{padding:23px}.page-intro h1{font-size:39px}.filters{gap:7px}.filters button{font-size:13px;padding:9px 12px}.faq summary{font-size:16px}.hero-visual>img,.hero-visual>picture>img{aspect-ratio:1.25}.visual-label{padding:13px 15px;font-size:11px}.prose h2{font-size:27px}.article-hero{aspect-ratio:1.5}.header-cta{font-size:12px}.article-meta{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.inquiry-form{display:flex;flex-direction:column;gap:20px}.inquiry-form label{display:flex;flex-direction:column;gap:7px;font-size:14px}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:16px;min-width:0}.inquiry-form textarea{resize:vertical}.honeypot{position:absolute!important;left:-10000px!important;opacity:0}.inquiry-form .btn{align-self:flex-start}.inquiry-form a{color:var(--accent);text-decoration:underline}.inquiry-form #inquiry-status{font-size:14px;color:var(--accent)}#series-fields{display:flex;flex-direction:column;gap:16px}.series-optional{border:1px solid var(--line);border-radius:8px;background:var(--paper)}.series-optional summary{cursor:pointer;list-style:none;padding:14px 16px;font-size:14px;font-weight:500;color:var(--ink)}.series-optional summary::-webkit-details-marker{display:none}.series-optional summary::after{content:'+';float:right;color:var(--accent);font-size:18px;line-height:1}.series-optional[open] summary::after{content:'−'}.series-optional summary span{margin-left:7px;color:var(--muted);font-size:12px;font-weight:400}.series-optional-fields{display:flex;flex-direction:column;gap:16px;padding:2px 16px 16px}.series-optional-fields .grid-2{gap:16px}
/* Narrow phones: keep long German words and navigation inside the viewport. */
h1,h2,h3{overflow-wrap:anywhere;hyphens:auto}.prose a{overflow-wrap:anywhere}
@media(max-width:480px){.hero h1,.page-intro h1{font-size:clamp(32px,10vw,42px)}.hero .actions{gap:8px}.hero .actions .btn{padding:0 14px;font-size:13px}.hero .actions .btn span[aria-hidden]{display:none}}
@media(max-width:360px){.header-inner{gap:8px}.header-inner .brand{gap:7px}.header-inner .brand span{font-size:14px}.header-inner .brand svg{width:22px}.header-cta{padding:0 9px!important;font-size:11px!important}.mobile-nav summary{width:32px;height:36px}}
/* Avoid doubling the intro and following section's vertical spacing. */
.page-intro{padding-bottom:20px}
@media(max-width:700px){.page-intro{padding-bottom:12px}}
@media(max-width:480px){.hero h1{max-width:none}}
.home-hero h1{max-width:none;hyphens:none}

/* Product media must not derive its height from the SVG's intrinsic ratio. */
.product-card > .product-art{position:relative;height:260px;min-height:0;aspect-ratio:auto;flex:none;padding:0}
.product-card > .product-art > svg{position:absolute;inset:24px;width:calc(100% - 48px);height:calc(100% - 48px);overflow:hidden}
.product-card .product-body h3{min-height:2.16em}
.home-hero h1{font-size:clamp(40px,4.4vw,64px);line-height:1.08;letter-spacing:-.045em;text-wrap:initial}
.home-hero h1 > span{display:block;white-space:nowrap}
@media(max-width:1100px){.home-hero h1{font-size:clamp(32px,4.35vw,48px)}}
@media(max-width:900px){.product-card > .product-art{height:220px}}
@media(min-width:481px) and (max-width:700px){.product-card > .product-art{height:auto;min-height:230px;align-self:stretch}.product-card .product-body h3{min-height:0}}
@media(max-width:700px){.home-hero h1{font-size:clamp(36px,7.5vw,54px)}}
@media(max-width:480px){.product-card > .product-art{height:220px}.product-card .product-body h3{min-height:0}.home-hero h1{font-size:clamp(32px,8.7vw,42px)}}
/* Keep image and interactive address in the same cover-cropped coordinate system. */
.hero-hand{width:100%;height:100%}
/* Share content tracks across each card row, including longer product names. */
@supports(grid-template-rows:subgrid){
  @media(min-width:701px){
    .product-card{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:0}
    .product-card .product-body{display:contents}
    .product-card .product-body h3{min-height:0;margin:26px 26px 12px}
    .product-card .product-body p{margin:0 26px}
    .product-card .product-bottom{margin:0 26px 26px;padding-top:28px;align-self:end}
  }
  @media(min-width:701px) and (max-width:900px){
    .product-card .product-body h3{margin:20px 20px 12px}
    .product-card .product-body p{margin-inline:20px}
    .product-card .product-bottom{margin:0 20px 20px}
  }
}
.product-card h3{hyphens:none}
@media(min-width:701px) and (max-width:1100px){.grid-3:has(> .product-card){grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Paired CTAs share a width; narrow containers stack both at full width. */
.actions:has(> .btn + .btn){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));align-items:stretch}
.actions:has(> .btn + .btn) > .btn{width:100%;min-width:0}

/* Originalporträt, identisch mit Deimann Digital. */
.founder-photo img{object-position:center 28%;transform:none}
@media(max-width:480px){.founder-photo{height:auto;aspect-ratio:1}.founder-photo img{object-position:center;transform:none}}

/* Invitation example keeps the printed part and handwritten addition distinct. */
.invitation-preview{margin:30px;padding:34px;background:#fffdf8;border:1px solid #e3dfd5;box-shadow:0 12px 30px #2128230a}.invitation-preview h2{font-size:clamp(27px,2.6vw,39px);line-height:1.12;margin:24px 0 20px}.invitation-preview>p{font-size:14px;line-height:1.7}.invitation-details{display:flex;gap:22px;border-block:1px solid #e3dfd5;padding:16px 0;margin:24px 0;font-size:12px}.invitation-hand{max-width:330px}.invitation-hand svg{width:100%;height:auto;max-height:145px}.invitation-preview .small{font-size:11px}#series-fields .grid-2{margin-bottom:18px}.hero h1{hyphens:none}@media(max-width:600px){.invitation-preview{margin:18px;padding:24px}.invitation-preview h2{font-size:29px}.invitation-preview>p{font-size:13px}}
/* API-Dokumentation (22.09.2026): Code, Tabellen, eine ruhige Lesespalte */
code{font-family:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;font-size:.86em;background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:1px 6px;color:var(--ink);overflow-wrap:anywhere}
.code-block{margin:0;max-width:100%;min-width:0;overflow-x:auto;background:#161a19;color:#ecebe4;border-radius:var(--radius);padding:22px 24px;font-size:13.5px;line-height:1.6;box-shadow:0 24px 48px -36px rgba(22,26,25,.6)}
.code-block code{background:none;border:0;padding:0;color:inherit;font-size:inherit;white-space:pre;overflow-wrap:normal}
.doc{max-width:860px}
.doc h3{font-size:24px;margin:48px 0 14px;scroll-margin-top:96px}
.doc > p{margin:14px 0;font-size:16px;line-height:1.75}
.doc .code-block{margin:18px 0}
.table-scroll{max-width:100%;overflow-x:auto;margin:18px 0;border:1px solid var(--line);border-radius:var(--radius)}
.doc-table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5}
.doc-table th{text-align:left;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;background:var(--paper);padding:12px 16px;border-bottom:1px solid var(--line)}
.doc-table td{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink)}
.doc-table tr:last-child td{border-bottom:0}
.doc-table th,.doc-table td{text-align:left;white-space:normal}
.doc-table td:first-child{white-space:nowrap}
.pflicht{font-size:12px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.06em}
.doc-list{color:var(--muted);padding-left:22px;margin:14px 0}
.doc-list li{padding-block:4px}
.api-actions{margin-top:28px;margin-bottom:8px}
.doc-wrap{display:grid;grid-template-columns:minmax(0,860px) 220px;gap:72px;align-items:start}
.doc-toc{position:sticky;top:104px;display:flex;flex-direction:column;gap:2px;border-left:1px solid var(--line);padding-left:20px;font-size:14px}
.doc-toc a{color:var(--muted);padding:5px 0}.doc-toc a:hover{color:var(--accent)}
.doc-toc .eyebrow{margin-bottom:8px}.doc-toc-extra{margin-top:10px;color:var(--accent)!important}
@media(max-width:1100px){.doc-wrap{grid-template-columns:minmax(0,1fr)}.doc-toc{display:none}}
.api-home .code-block{font-size:13px}
@media(max-width:700px){.code-block{padding:18px;font-size:12.5px}.doc h3{font-size:21px;margin-top:38px}.doc-table{font-size:14px}.doc-table thead{display:none}.doc-table,.doc-table tbody{display:block}.doc-table tr{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px 10px;padding:12px 14px;border-bottom:1px solid var(--line)}.doc-table tbody tr:last-child{border-bottom:0}.doc-table th,.doc-table td{padding:0;border:0}.doc-table td:last-child{grid-column:1/-1;color:var(--muted)}}
/* Wissen-Beiträge 22.09.2026: Textsammlung Weihnachtsgrüße, Ratgeber Online-Briefversand */
.artikel-bild{margin-top:36px}.artikel-bild .article-hero{margin:0;max-width:980px;border-radius:var(--radius);overflow:hidden;aspect-ratio:3/2}
.tipp-liste{list-style:none;padding:0!important;margin:18px 0 0;display:flex;flex-direction:column;gap:12px}
.tipp-liste li{padding:14px 18px!important;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--muted)}
.tipp-liste strong{color:var(--ink)}
.gruss-titel{margin-bottom:22px}
.gruss-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.gruss-nav a{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 14px;font-size:14px;color:var(--ink)}
.gruss-nav a:hover{border-color:var(--accent);color:var(--accent)}
.gruss-gruppe{margin-top:52px;scroll-margin-top:96px}.gruss-gruppe h2{font-size:clamp(26px,2.4vw,32px)}.gruss-gruppe > p{margin:8px 0 20px;font-size:16px}
.gruss-mehr{margin-top:28px}
.antwort-box{border:1px solid var(--line);border-left:4px solid var(--accent);background:var(--tint);border-radius:12px;padding:20px 24px;margin:0 0 12px}
.antwort-box .eyebrow{margin-bottom:8px}.antwort-box p{margin:0!important;color:var(--ink)}
.wahl{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}
.wahl > div{border:1px solid var(--line);border-radius:12px;padding:18px 22px}.wahl h3{font-size:20px;margin:0 0 6px}
@media(max-width:700px){.wahl{grid-template-columns:1fr}.antwort-box{padding:16px 18px}.gruss-gruppe{margin-top:40px}}
/* KI-Assistenten (MCP) 22.09.2026: Beispielsätze, vier Einrichtungskarten, Code mit Kopierknopf */
.mcp-beispiele{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:28px}
.mcp-beispiele p{margin:0;padding:18px 20px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px;background:#fff;color:var(--ink);font-size:16px;line-height:1.5}
.mcp-setup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.mcp-karte{min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:24px;display:flex;flex-direction:column;gap:12px}
.mcp-karte h3{font-size:22px}
.mcp-karte p{font-size:15px;line-height:1.6}
.mcp-karte .code-kopie{margin-top:auto}
.code-kopie{position:relative;min-width:0}
.code-kopie .code-block{padding-right:100px;font-size:12.5px}
.kopieren{position:absolute;top:12px;right:12px;border:1px solid #3a403e;background:#232826;color:#ecebe4;border-radius:6px;padding:6px 11px;font-size:12px;font-weight:600;min-height:32px}
.kopieren:hover{background:#2e3431}
.mcp-fuss{margin-top:24px;font-size:15px}
@media(max-width:900px){.mcp-beispiele{grid-template-columns:1fr}}
@media(max-width:700px){.mcp-setup{grid-template-columns:1fr}.mcp-karte{padding:20px}.code-kopie .code-block{padding-right:18px;padding-top:52px}}
/* Premium-Politur 22.09.2026: Material, Tiefe, Bewegung. Eine Schicht am Ende, damit sie die älteren Flicken sauber übersteuert. */
:root{--ease:cubic-bezier(.2,.7,.2,1);--shadow-sm:0 1px 2px #1f2a240d,0 4px 12px #1f2a240a;--shadow-md:0 2px 4px #1f2a240d,0 18px 40px -12px #1f2a2424;--shadow-lg:0 4px 8px #1f2a240f,0 40px 80px -30px #1f2a2440}
::selection{background:#f3d9cc;color:var(--ink)}
body{font-feature-settings:"ss01","cv11";text-rendering:optimizeLegibility}
.price-amount,.product-bottom strong,.package-total strong,td,th{font-variant-numeric:tabular-nums lining-nums}
/* Kopfzeile: Glas, wird beim Scrollen leiser */
.site-header{background:rgba(255,255,255,.78);-webkit-backdrop-filter:saturate(1.6) blur(16px);backdrop-filter:saturate(1.6) blur(16px);border-bottom-color:transparent;transition:height .3s var(--ease),box-shadow .3s,border-color .3s,background .3s}
.site-header.is-scrolled{border-bottom-color:var(--line);box-shadow:0 8px 30px -18px #1f2a2433;background:rgba(255,255,255,.86)}
@media(min-width:901px){.site-header.is-scrolled{height:68px}}
.desktop-nav a{transition:color .2s}
.desktop-nav a::after{content:'';position:absolute;left:0;right:0;bottom:18px;height:1.5px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.desktop-nav a:hover::after,.desktop-nav a[aria-current=page]::after{transform:scaleX(1)}
.site-header.is-scrolled .desktop-nav a::after{bottom:14px}
.brand svg{transition:transform .5s var(--ease)}
.brand:hover svg{transform:rotate(-8deg) scale(1.06)}
/* Knöpfe: Tiefe, Druckzustand, wandernder Pfeil */
.btn{transition:background .2s,color .2s,border-color .2s,box-shadow .25s var(--ease),transform .25s var(--ease)}
.btn.primary{background:linear-gradient(180deg,#c85a33,var(--accent));box-shadow:inset 0 1px 0 #ffffff2e,0 1px 2px #7a2e1433,0 8px 20px -10px #bd512c99}
.btn.primary:hover{background:linear-gradient(180deg,#b44e29,var(--accent-dark));box-shadow:inset 0 1px 0 #ffffff26,0 1px 2px #7a2e1440,0 14px 28px -12px #bd512ccc;transform:translateY(-1px)}
.btn.secondary:hover,.btn.light:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.btn:active{transform:translateY(0) scale(.985);transition-duration:.08s}
.btn span[aria-hidden],.text-link span[aria-hidden]{display:inline-block;transition:transform .3s var(--ease)}
.btn:hover span[aria-hidden],.text-link:hover span[aria-hidden]{transform:translate(3px,-3px)}
.text-link:hover{text-decoration:none}
.text-link{background:linear-gradient(currentColor,currentColor) 0 calc(100% - 9px)/0 1px no-repeat;transition:background-size .35s var(--ease)}
.text-link:hover{background-size:calc(100% - 32px) 1px}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
/* Hero: Primärknopf einzeilig, Bild mit echter Tiefe */
@media(min-width:1101px){.home-hero .actions:has(> .btn + .btn){grid-template-columns:auto auto;justify-content:start}.home-hero .actions .btn{white-space:nowrap;padding-inline:24px}}
.hero-visual{box-shadow:var(--shadow-lg);border:1px solid #ffffffb3}
.hero-photo{overflow:hidden}
.hero-photo img{transition:transform 1.4s var(--ease)}
.hero-visual:hover .hero-photo img{transform:scale(1.02)}
.hand-controls button,.hand-controls a{transition:background .2s,border-color .2s,color .2s,transform .2s var(--ease)}
.hand-controls button:hover,.hand-controls a:hover{border-color:#aeb3ad;transform:translateY(-1px)}
.hand-controls{box-shadow:var(--shadow-sm)}
.hero-hand path{transition:d .45s var(--ease)}
/* Eyebrow mit feinem Strich */
.eyebrow{display:flex;align-items:center;gap:10px}
.eyebrow::before{content:'';width:18px;height:1.5px;background:currentColor;flex:none;opacity:.9}
/* Produktkarten: Papier liegt auf dem Tisch, hebt sich beim Hover */
.product-card,.price-card,.occasion-card,.mcp-karte,.related,.sample-card{transition:border-color .3s,box-shadow .4s var(--ease),transform .4s var(--ease)}
.product-card:hover,.price-card:hover,.occasion-card:hover,.related:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#cfd2cb}
.product-card > .product-art,.hero-visual .product-art{background:radial-gradient(120% 90% at 50% 30%,#f7f7f2 0%,#eceee7 100%)}
.product-art .art-obj{transform-box:fill-box;transform-origin:50% 60%;transition:transform .6s var(--ease)}
.product-card:hover .art-obj{transform:translateY(-3px) rotate(-.6deg) scale(1.015)}
.product-card:hover .arrow-circle,.occasion-link:hover .arrow-circle{background:var(--accent);border-color:var(--accent);color:#fff;transform:rotate(45deg)}
.arrow-circle{transition:background .3s,border-color .3s,color .3s,transform .4s var(--ease)}
.product-card:hover h3,.occasion-card:hover h2{color:var(--accent)}
.product-card h3,.occasion-card h2,.occasion-link h3{transition:color .25s}
/* Anlass-Liste: Zeile schiebt leicht nach rechts */
.occasion-link>div{transition:transform .4s var(--ease)}
.occasion-link:hover>div{transform:translateX(6px)}
.occasion-link{position:relative}
.occasion-link::before{content:'';position:absolute;left:0;top:-1px;height:1px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.occasion-link:hover::before{transform:scaleX(1)}
/* Preiskarten: ruhigere Proportionen */
.price-card>p{min-height:0}
.price-card h2{min-height:0}
.price-card .price-amount{margin-top:auto;padding-top:22px}
.price-card{gap:0}
/* Bilder: weiches Einblenden, Zoom im Bildrahmen */
.feature-image,.founder-photo,.workshop-image,.article-hero{box-shadow:var(--shadow-md)}
.feature-image img,.founder-photo img{transition:transform 1.4s var(--ease)}
.feature-image:hover img{transform:scale(1.03)}
/* MCP-Karten: Code sitzt direkt unter dem Text, keine Löcher */
.mcp-karte .code-kopie{margin-top:4px}
.mcp-setup{align-items:start}
.mcp-beispiele p{box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),box-shadow .35s}
.mcp-beispiele p:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.code-block{border:1px solid #2a302d;box-shadow:inset 0 1px 0 #ffffff0d,var(--shadow-lg)}
.kopieren{transition:background .2s,transform .2s}
.kopieren:active{transform:scale(.96)}
/* FAQ: Plus dreht, Antwort blendet ein */
.faq summary{transition:color .2s}
.faq summary:hover{color:var(--accent)}
.faq summary::after{content:'+';transition:transform .35s var(--ease)}
.faq[open] summary::after{content:'+';transform:rotate(45deg)}
.faq[open] .answer{animation:hp-fade .45s var(--ease)}
@keyframes hp-fade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
/* Abschluss-Block: Tiefe statt Flachfarbe */
.cta-section{position:relative;overflow:hidden;background:radial-gradient(80% 140% at 85% 0%,#31506f 0%,transparent 60%),radial-gradient(60% 120% at 0% 100%,#1b2d41 0%,transparent 70%),var(--blue);padding:84px 0}
.cta-section::after{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.06'/%3E%3C/svg%3E");pointer-events:none}
.cta-inner{position:relative;z-index:1}
.cta-inner h2{font-size:clamp(32px,3.4vw,48px)}
.cta-inner .btn.light{box-shadow:0 10px 30px -10px #0008}
/* Vertrauensleiste: Symbole in feinen Kreisen */
/* Fußzeile */
.footer{background:linear-gradient(180deg,#fff 0%,#fafaf7 100%)}
.footer-links a{transition:color .2s,transform .3s var(--ease);display:inline-block;width:fit-content}
.footer-links a:hover{transform:translateX(3px)}
@keyframes hp-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
/* Kontakt-Blase: nach dem ersten Scrollen nur noch das Porträt */
.hp-contact-launcher{transition:box-shadow .25s,transform .35s var(--ease),padding .35s var(--ease)!important}
.hp-contact-launcher:hover{transform:translateY(-2px);box-shadow:0 12px 34px #2226232e}
body.hp-compact .hp-contact-launcher{padding:5px;gap:0}
body.hp-compact .hp-contact-launcher>span,body.hp-compact .hp-contact-launcher>svg{display:none}
@media(max-width:700px){.hero-visual{box-shadow:var(--shadow-md)}.cta-section{padding:60px 0}.product-card:hover,.price-card:hover,.occasion-card:hover{transform:none}}
.feature-split>*,.hero>*,.faq-layout>*,.founder>*{min-width:0}
/* Beispielsätze als Chat-Nachricht statt Karte mit Farbbalken */
.mcp-beispiele{align-items:start}
.mcp-beispiele .chat{margin:0;display:flex;flex-direction:column;gap:8px}
.mcp-beispiele .chat figcaption{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-left:4px}
.mcp-beispiele .chat p{border:1px solid var(--line);border-radius:18px 18px 18px 4px;padding:15px 19px;background:#fff;color:var(--ink);font-size:16px;line-height:1.5;box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),box-shadow .35s}
.mcp-beispiele .chat:hover p{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.antwort-box{border:1px solid #efd9ce;border-left-width:1px}
/* Marken-Logos Claude/ChatGPT (Brandfetch, selbst gehostet) */
.marke{width:1.05em;height:1.05em;flex:none;display:inline-block;vertical-align:-.15em}
.mcp-karte h3{display:flex;align-items:center;gap:10px}
.mcp-karte h3 .marke{width:22px;height:22px}
.mcp-beispiele .chat figcaption{display:flex;align-items:center;gap:7px}
.mcp-beispiele .chat figcaption .marke{width:14px;height:14px}
/* Die Anschrift schreibt sich: beim Laden und bei jedem Schriftwechsel, Zeile für Zeile */
@media(prefers-reduced-motion:no-preference){
  #home-envelope path{stroke-dasharray:1;stroke-dashoffset:0}
  #home-envelope path{animation:hp-schreiben 1.5s cubic-bezier(.45,.1,.35,1) both;animation-delay:calc(.5s + var(--i,0) * 1.1s)}
  #home-envelope.schreibt path{animation-name:hp-schreiben-neu;animation-delay:calc(var(--i,0) * .9s);animation-duration:1.2s}
}
@keyframes hp-schreiben{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes hp-schreiben-neu{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.hero-hand path{transition:none}
/* So entsteht Ihr Brief: die fünf Stati der API als Zeitleiste */
.entstehung{margin-top:72px;padding-top:40px;border-top:1px solid var(--line)}
.entstehung-titel{font-size:22px;margin-bottom:30px}
.zeitleiste{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;position:relative}
.zeitleiste::before,.zeitleiste::after{content:'';position:absolute;left:6px;right:6px;top:6px;height:1.5px;background:var(--line)}
.zeitleiste::after{background:var(--accent);transform:scaleX(1);transform-origin:left}
.zeitleiste li{position:relative;display:flex;flex-direction:column;gap:6px;padding-top:30px}
.zeitleiste .punkt{position:absolute;top:0;left:0;width:13px;height:13px;border-radius:50%;background:#fff;border:1.5px solid var(--accent);box-shadow:0 0 0 4px #fff}
.zeitleiste li:last-child .punkt{background:var(--accent)}
.zeitleiste strong{font-size:16px;font-weight:600}
.zeitleiste code{align-self:flex-start;font-size:12px}
.zeitleiste p{font-size:14px;line-height:1.6}

@media(max-width:900px){
  .zeitleiste{grid-template-columns:1fr;gap:0}
  .zeitleiste::before,.zeitleiste::after{left:6px;right:auto;top:6px;bottom:6px;width:1.5px;height:auto}
  .zeitleiste::after{transform-origin:top}
  .zeitleiste li{padding:0 0 26px 34px}
}
/* Ruhiger (23.09.): Schriftwahl im Bild, Logos im Knopf, ein Gespräch statt sieben Kästen */
.home-hero .hero-visual{border:0}
.hand-switch{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:2px;padding:4px;border-radius:999px;background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 6px 20px -8px #1f2a2440;white-space:nowrap;max-width:calc(100% - 24px);overflow-x:auto;scrollbar-width:none}
.hand-switch button,.hand-switch a{border:0;background:none;border-radius:999px;padding:7px 13px;font-size:12.5px;line-height:1.3;color:var(--muted);transition:background .2s,color .2s}
.hand-switch button:hover,.hand-switch a:hover{color:var(--ink)}
.hand-switch [aria-pressed=true]{background:var(--ink);color:#fff}
.hand-switch a{border-left:1px solid #20232214;border-radius:0 999px 999px 0}
.btn-marken{display:inline-flex;gap:5px;margin-right:-6px}
.btn-marken .marke{width:17px;height:17px}
.home-hero .reassurance a{color:var(--ink);text-decoration:underline;text-decoration-color:#c9ccc6;text-underline-offset:4px}
.home-hero .reassurance a:hover{text-decoration-color:var(--accent)}
.trust-item svg{width:20px;height:20px;padding:0;border:0;background:none;margin-top:3px}
.ki-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}
.ki-text h2{max-width:16ch}
.chatfenster{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);overflow:hidden}
.cf-kopf{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}
.cf-kopf .marke{width:16px;height:16px}
.cf-kopf span{margin-left:4px}
.cf-verlauf{display:flex;flex-direction:column;gap:12px;padding:22px 20px 24px}
.cf-verlauf p{margin:0;font-size:15px;line-height:1.5}
.cf-sie{align-self:flex-end;max-width:82%;background:var(--paper);color:var(--ink);padding:11px 15px;border-radius:16px 16px 4px 16px}
.cf-ki{align-self:flex-start;max-width:92%;display:flex;flex-direction:column;gap:10px}
.cf-ki p{color:var(--ink)}
.cf-brief{background:#fffdf8;border:1px solid #e8e4da;border-radius:6px;padding:14px 16px;box-shadow:0 8px 18px -12px #1f2a2440;max-width:330px}
.cf-brief svg{width:100%;height:auto;display:block}
@media(max-width:900px){.ki-split{grid-template-columns:1fr;gap:36px}}
@media(max-width:480px){.hand-switch{bottom:10px}.hand-switch button,.hand-switch a{padding:6px 10px;font-size:12px}}
.cf-kopf{gap:10px}.cf-kopf>span{display:inline-flex;align-items:center;gap:7px;margin:0;color:var(--ink);font-weight:500}.cf-kopf .cf-oder{color:var(--muted);font-weight:400}
.cf-brief{max-width:400px;padding:16px 18px}
@media(max-width:480px){.hand-switch a{display:none}.hand-switch button{padding:6px 9px}.api-home .code-block{font-size:11px}}
@media(max-width:900px){.hand-switch a{display:none}}
/* Runde nach Clarity-Daten (23.09.): Einstiegsseiten auf dem Handy, Paketkarten ganz klickbar */
.micro{margin-top:14px;font-size:13px;line-height:1.55;color:var(--muted)}
.price-card{position:relative;cursor:pointer}
.price-card .btn::after{content:'';position:absolute;inset:0;border-radius:inherit}
.price-card li{position:relative}
@media(max-width:700px){
  .hero h1,.page-intro h1{font-size:clamp(30px,8.4vw,36px)!important;line-height:1.1}
  .hero .lead,.page-intro .lead{font-size:16.5px;margin-top:16px}
  .hp-contact-launcher{padding:5px!important;gap:0!important}
  .hp-contact-launcher>span,.hp-contact-launcher>svg{display:none!important}
}
/* Anlässe-Übersicht: erster Beispielsatz als Handschrift */
.occasion-card{padding-top:18px}
.anlass-streifen{margin:0 -8px 6px;padding:14px 16px;min-height:74px;display:flex;align-items:center;background:#fffdf8;border:1px solid #ebe7dd;border-radius:6px;box-shadow:0 10px 20px -16px #1f2a2455;transform:rotate(-.6deg);transition:transform .5s var(--ease)}
.occasion-card:nth-child(even) .anlass-streifen{transform:rotate(.5deg)}
.occasion-card:hover .anlass-streifen{transform:rotate(0) translateY(-2px)}
.anlass-streifen svg{width:100%;height:auto;max-height:64px}
.anlass-streifen{height:92px;min-height:0}
.anlass-streifen svg{max-height:66px}
/* Saison-Hinweis Weihnachtspost */
.saison{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center;padding:36px 44px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#fbf6f2 0%,#f6f5f0 60%);transition:box-shadow .4s var(--ease),border-color .3s}
.saison:hover{box-shadow:var(--shadow-md);border-color:#e3d6cc}
.saison-art svg{width:100%;height:auto;max-height:230px}
.saison h2{font-size:clamp(26px,2.4vw,34px);margin:4px 0 22px;max-width:18ch}
.saison-plan{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border-top:1px solid #e6ddd4;padding-top:16px}
.saison-plan li{display:flex;flex-direction:column;gap:3px;font-size:14px;line-height:1.45}
.saison-plan strong{font-size:13px;color:var(--accent);font-weight:600}
.saison-plan span{color:var(--ink)}
.saison-sektion{padding-block:0 8px}
.page-intro + .wrap .saison,.crumbs ~ .wrap > .saison{margin-top:8px}
@media(max-width:900px){.saison{grid-template-columns:1fr;gap:24px;padding:26px 22px}.saison-art{max-width:320px}}
@media(max-width:560px){.saison-plan{grid-template-columns:1fr;gap:10px}}
/* Kontrast (Lighthouse): Etiketten und Links in Orange etwas dunkler, besonders auf beigen Flächen */
.eyebrow,.text-link,.saison-plan strong{color:#a8431f}
#consentJa{background:#a8431f!important;border-color:#a8431f!important}
#consent p a{color:#a8431f!important}
