/* Shared presentation for native blocks. All copy, media and section order live in post_content. */
.damfrost-block-page { margin:0; background:#14181f; }
.damfrost-block-page #main { padding:0 20px; }
.df-skip-link { position:fixed; left:20px; top:-100px; z-index:100000; padding:12px 20px; background:white; color:#14181f; }
.df-skip-link:focus { top:10px; }
.df-landing { --df-bg:#14181f; --df-raised:#1b222d; --df-deep:#0f1319; --df-text:#e8e2d6; --df-muted:#b0ada7; --df-accent:#7fc0de; --df-border:rgba(232,226,214,.17); --df-heading:Archivo,system-ui,sans-serif; --df-body:Manrope,system-ui,sans-serif; --df-mono:'JetBrains Mono',monospace; max-width:1280px; margin:0 auto!important; border:1px solid var(--df-border); color:var(--df-text); background:var(--df-bg); font-family:var(--df-body); font-size:16px; line-height:1.65; }
.df-landing *, .df-landing *::before, .df-landing *::after { box-sizing:border-box; }
.df-landing :where(h1,h2,h3,p,figure) { margin:0; }
.df-landing :where(.wp-block-group,.wp-block-columns,.wp-block-buttons) { margin-block-start:0; margin-block-end:0; }
.df-landing .wp-block-group > * { max-width:none; }
.df-landing a { color:inherit; text-decoration:none; }
.df-landing img { display:block; max-width:100%; }
.df-landing :where(h1,h2,h3) { color:inherit; font-family:var(--df-heading); font-weight:700; line-height:1.1; letter-spacing:-.025em; }
.df-landing h2 { font-size:clamp(28px,3.1vw,42px); }
.df-landing h3 { font-size:24px; }
.df-landing .df-eyebrow { color:var(--df-accent); font:10px/1.5 var(--df-mono); letter-spacing:.18em; margin-bottom:24px; }
.df-landing .df-fineprint { color:var(--df-muted); font:9.5px/1.8 var(--df-mono); letter-spacing:.1em; }
.df-landing .wp-block-buttons { display:flex; gap:12px; flex-wrap:wrap; }
.df-landing .wp-block-button__link { min-height:52px; padding:17px 25px; border-radius:0; background:var(--df-text); color:var(--df-bg); border:1px solid transparent; font:600 11px/1.5 var(--df-mono); letter-spacing:.12em; box-shadow:none; text-decoration:none; }
.df-landing .wp-block-button__link:hover { filter:brightness(.9); }
.df-landing .is-style-outline .wp-block-button__link { background:transparent; color:inherit; border:1px solid var(--df-border); }
.df-landing :where(a,button,summary,input):focus-visible { outline:3px solid var(--df-accent); outline-offset:4px; }
.df-landing .df-page-header { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:62px; padding:8px 40px; border-bottom:1px solid var(--df-border); }
.df-landing .df-wordmark { font:700 15px/1.3 var(--df-heading); letter-spacing:.34em; }
.df-landing .df-brand-sign { color:var(--df-accent); font:600 9px/1.4 var(--df-mono); letter-spacing:.4em; margin-top:5px; }
.df-landing .df-nav { gap:28px; }
.df-landing .df-nav .wp-block-button__link { padding:12px 0; min-height:44px; background:none; border:0; color:var(--df-muted); font-size:10px; letter-spacing:.18em; }
.df-landing .df-header-cart { display:flex; align-items:center; gap:16px; }
.df-landing .df-header-cart .wp-block-button__link { min-height:36px; padding:8px 12px; font-size:10px; }
.df-landing .df-sku { color:var(--df-muted); font:9px var(--df-mono); letter-spacing:.14em; }
.df-landing .df-hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:0; min-height:592px; }
.df-landing .df-hero-grid > .wp-block-column { min-width:0; }
.df-landing .df-hero-copy { padding:76px 40px 64px; display:flex; flex-direction:column; justify-content:center; height:100%; }
.df-landing .df-hero-title { font-size:clamp(44px,4.8vw,64px); font-weight:800; line-height:.94; letter-spacing:-.022em; margin:0; }
.df-landing .df-hero-description { max-width:445px; margin-top:28px; font-size:16px; line-height:1.65; color:var(--df-muted); }
.df-landing .df-hero-actions { margin-top:34px; }
.df-landing .df-hero-copy .df-fineprint { margin-top:24px; }
.df-landing .df-hero-image { position:relative; height:100%; margin:0; overflow:hidden; border-left:1px solid var(--df-border); }
.df-landing .df-hero-image img { width:100%; height:100%; min-height:592px; object-fit:cover; }
.df-landing .df-hero-image figcaption { position:absolute; bottom:18px; left:20px; margin:0; background:rgba(15,19,25,.7); color:#e8e2d6; font:9px/1.6 var(--df-mono); letter-spacing:.12em; padding:4px 8px; max-width:calc(100% - 40px); }
.df-landing .df-section { padding:64px 40px 70px; border-top:1px solid var(--df-border); scroll-margin-top:30px; }
.df-landing .df-architecture { background:var(--df-raised); }
.df-landing .df-section > .df-eyebrow { margin-bottom:16px; }
.df-landing .df-architecture-grid { margin-top:42px; gap:56px; align-items:center; }
.df-landing .df-detail-image { margin:0; }
.df-landing .df-detail-image img { width:100%; aspect-ratio:1.15; object-fit:cover; }
.df-landing .df-detail-image figcaption { color:var(--df-muted); font:10px/1.6 var(--df-mono); margin-top:12px; }
.df-landing .df-feature { padding:20px 0; border-bottom:1px solid var(--df-border); }
.df-landing .df-feature:first-child { padding-top:0; }
.df-landing .df-feature .df-eyebrow { margin-bottom:12px; }
.df-landing .df-feature p:last-child { color:var(--df-muted); font-size:14px; margin-top:12px; }
.df-landing .df-thermal-grid { gap:64px; align-items:center; }
.df-landing .df-thermal-grid h2 + p { color:var(--df-muted); max-width:440px; margin-top:24px; }
.df-landing .df-notice { padding:36px; border:1px solid var(--df-border); }
.df-landing .df-notice h3 + p { margin-top:18px; color:var(--df-muted); }
.df-landing .df-protocol { background:var(--df-raised); }
.df-landing .df-steps { gap:24px; margin-top:40px; }
.df-landing .df-step { min-height:245px; padding:30px; border:1px solid var(--df-border); }
.df-landing .df-step-number { color:var(--df-accent); font:14px var(--df-mono); margin-bottom:36px; }
.df-landing .df-step h3 + p { color:var(--df-muted); margin-top:14px; font-size:14px; }
.df-landing .df-buy { background:var(--df-deep); }
.df-landing .df-buy-grid { gap:80px; align-items:center; }
.df-landing .df-buy h2 { font-size:clamp(36px,4vw,54px); }
.df-landing .df-buy h2 + p { color:var(--df-muted); margin-top:24px; max-width:420px; }
.df-landing .df-purchase fieldset { border:0; padding:0; margin:0; min-width:0; }
.df-landing .df-purchase legend { margin-bottom:16px; font:11px var(--df-mono); text-transform:uppercase; letter-spacing:.14em; }
.df-landing .df-offer-choice { display:flex; align-items:center; gap:14px; padding:20px; margin-bottom:12px; border:1px solid var(--df-border); cursor:pointer; }
.df-landing .df-offer-choice:has(input:checked) { border-color:var(--df-accent); background:color-mix(in srgb,var(--df-accent) 6%,transparent); }
.df-landing .df-offer-choice input { accent-color:var(--df-accent); width:18px; height:18px; margin:0; flex-shrink:0; }
.df-landing .df-offer-choice span { flex:1; }
.df-landing .df-offer-choice strong { font-size:15px; }
.df-landing .df-offer-choice small { display:block; color:var(--df-muted); font-size:12px; margin-top:4px; }
.df-landing .df-offer-choice b { font-size:22px; }
.df-landing .df-cart-button { display:flex; justify-content:space-between; width:100%; min-height:56px; padding:18px 24px; background:var(--df-accent); color:var(--df-bg); border:0; border-radius:0; font:600 12px/1.5 var(--df-mono); text-transform:uppercase; letter-spacing:.12em; cursor:pointer; margin-top:18px; }
.df-landing .df-purchase-note { margin-top:14px; font-size:11px; color:var(--df-muted); }
.df-landing .df-purchase-status { font-size:13px; }
.df-landing .df-faq h2 { margin-bottom:36px; }
.df-landing .wp-block-details { padding:22px 0; border-bottom:1px solid var(--df-border); }
.df-landing .wp-block-details summary { cursor:pointer; font-size:16px; font-weight:600; min-height:28px; }
.df-landing .wp-block-details > p { color:var(--df-muted); margin-top:16px; max-width:780px; font-size:14px; }
.df-landing .df-page-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; padding:40px; border-top:1px solid var(--df-border); }
.df-landing .df-footer-links .wp-block-button__link { padding:8px 0; background:none; color:var(--df-muted); font-size:10px; min-height:36px; }
/* Nordic: a full-bleed photographic hero, quiet serif type and generous breathing room. */
.df-design-nordic { --df-bg:#ede7dc; --df-raised:#f4f0e8; --df-deep:#e4ddd2; --df-text:#232b36; --df-muted:#555d63; --df-accent:#3e6862; --df-border:rgba(35,43,54,.18); --df-heading:'Instrument Serif',Georgia,serif; }
.df-design-nordic .df-page-header { min-height:88px; }
.df-design-nordic .df-wordmark { font-size:24px; font-weight:400; }
.df-design-nordic .df-hero { position:relative; min-height:640px; }
.df-design-nordic .df-hero > .df-hero-image { position:absolute; inset:0; border:0; }
.df-design-nordic .df-hero-image img { min-height:640px; }
.df-design-nordic .df-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(15,22,24,.8),rgba(15,22,24,.35) 58%,transparent); pointer-events:none; }
.df-design-nordic .df-hero-copy { position:relative; z-index:1; max-width:630px; min-height:640px; padding:80px 60px; color:#f4f0e8; }
.df-design-nordic .df-hero-title { font-size:clamp(58px,6vw,84px); font-weight:400; line-height:1.02; }
.df-design-nordic .df-hero-description,.df-design-nordic .df-hero .df-eyebrow,.df-design-nordic .df-hero .df-fineprint { color:#eee8de; }
.df-design-nordic .df-hero .wp-block-button__link { background:#f4f0e8; color:#232b36; }
.df-design-nordic .df-hero .is-style-outline .wp-block-button__link { color:#f4f0e8; border-color:#bcb5aa; background:transparent; }
.df-design-nordic .df-section { padding:88px 60px; }
.df-design-nordic h2 { font-size:clamp(38px,4.2vw,58px); font-weight:400; }
.df-design-nordic h3 { font-size:30px; font-weight:400; }
.df-design-nordic .df-step { border:0; padding:24px 16px 24px 0; }
.df-design-nordic .df-cart-button { color:#fff; }
/* Performance: oversized condensed type, a data-grid backdrop and electric blue surfaces. */
.df-design-biohacker { --df-bg:#0f1216; --df-raised:#151c24; --df-deep:#080b0f; --df-text:#f2f4f6; --df-muted:#b1bdc9; --df-accent:#91dcff; --df-border:rgba(145,220,255,.22); --df-heading:Oswald,'Arial Narrow',sans-serif; }
.df-design-biohacker .df-page-header { min-height:78px; }
.df-design-biohacker .df-wordmark { font-size:25px; letter-spacing:.12em; }
.df-design-biohacker .df-brand-sign { display:none; }
.df-design-biohacker .df-hero-grid { grid-template-columns:1.15fr 1fr; background-image:linear-gradient(var(--df-border) 1px,transparent 1px),linear-gradient(90deg,var(--df-border) 1px,transparent 1px); background-size:64px 64px; }
.df-design-biohacker .df-hero-copy { padding:64px 40px; background:linear-gradient(90deg,#0f1216 30%,transparent); }
.df-design-biohacker .df-hero-title { font-size:clamp(64px,7vw,104px); line-height:1; font-weight:600; }
.df-design-biohacker .df-hero-image { margin:36px 24px 36px 0; height:calc(100% - 72px); border:1px solid var(--df-border); }
.df-design-biohacker .df-hero-image img { min-height:560px; }
.df-design-biohacker .df-hero-actions .wp-block-button:first-child .wp-block-button__link { background:var(--df-accent); }
.df-design-biohacker h2 { font-size:clamp(38px,4vw,58px); text-transform:uppercase; }
.df-design-biohacker .df-step { border-top:3px solid var(--df-accent); }
@media (max-width:1000px) {
  .df-landing .df-sku { display:none; }
  .df-landing .df-hero-copy { padding:50px 28px; }
  .df-landing .df-hero-title { font-size:48px; }
  .df-landing .df-nav { gap:18px; }
  .df-landing .df-buy-grid,.df-landing .df-architecture-grid { gap:32px; }
  .df-design-biohacker .df-hero-title { font-size:68px; }
  .df-design-nordic .df-hero-title { font-size:68px; }
}
@media (max-width:781px) {
  .damfrost-block-page #main { padding:0; }
  .df-landing { border-left:0; border-right:0; }
  .df-landing .df-page-header { padding:16px 22px; min-height:70px; }
  .df-landing .df-nav { display:none; }
  .df-landing .df-header-cart .wp-block-button__link { min-height:44px; display:flex; align-items:center; }
  .df-landing .df-hero-grid { display:flex; flex-direction:column; }
  .df-landing .df-hero-copy { padding:56px 24px 44px; }
  .df-landing .df-hero-title { font-size:clamp(38px,9.4vw,64px); }
  .df-landing .df-hero-image { border-left:0; }
  .df-landing .df-hero-image img { min-height:0; height:400px; }
  .df-landing .df-hero-description { font-size:16px; }
  .df-landing .df-hero-actions .wp-block-button { flex:1 1 auto; }
  .df-landing .df-hero-actions .wp-block-button__link { width:100%; padding-inline:16px; }
  .df-landing .df-section { padding:52px 24px; }
  .df-landing .df-architecture-grid,.df-landing .df-thermal-grid,.df-landing .df-buy-grid { gap:32px; }
  .df-landing .df-notice { padding:24px; }
  .df-landing .df-step { min-height:0; padding:24px; }
  .df-landing .df-step-number { margin-bottom:20px; }
  .df-landing .df-page-footer { padding:32px 24px; }
  .df-landing .df-offer-choice { padding:16px; }
  .df-design-nordic .df-hero,.df-design-nordic .df-hero-copy { min-height:640px; }
  .df-design-nordic .df-hero > .df-hero-image img { height:100%; min-height:640px; }
  .df-design-nordic .df-hero-title { font-size:64px; }
  .df-design-biohacker .df-hero-title { font-size:80px; }
  .df-design-biohacker .df-hero-image { height:400px; margin:0 24px 32px; }
}
@media (prefers-reduced-motion:no-preference) { html:has(.damfrost-block-page) { scroll-behavior:smooth; } }
