/* Front door: warm paper, rainbow ribbon, astronaut calm. Transform/opacity motion only. */
:root{--fd-ui:"Nunito Sans Variable",var(--font-sans);--fd-ribbon:linear-gradient(90deg,var(--coral),var(--gold),#7fcf9f,var(--sky),var(--violet));--fd-focus:0 0 0 3px var(--paper),0 0 0 6px var(--sky);}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.site-header{position:relative}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--fd-ribbon);opacity:.75}
.fd-hero{padding-block:clamp(18px,4vw,44px) 8px!important;min-height:0!important}
.fd-hero h1{font-family:var(--font-display);font-size:clamp(1.65rem,4.6vw,3.1rem);line-height:1.05;letter-spacing:-.01em;max-width:18ch;margin:.25em 0 .3em}
.fd-hero .hero-lede{font-family:var(--fd-ui);font-size:clamp(1rem,1.6vw,1.15rem);max-width:46ch;margin:0}
.fd-studio{padding-top:12px!important}
.fd-card{position:relative;overflow:visible;border-radius:22px;background:var(--white);box-shadow:0 1px 0 rgba(7,59,44,.06),0 20px 44px -24px rgba(7,59,44,.28)}
.fd-card::before{content:"";position:absolute;inset:0 18px auto;height:4px;border-radius:0 0 4px 4px;background:var(--fd-ribbon)}
.fd-primary{display:grid;grid-template-columns:minmax(150px,.7fr) 2fr;gap:14px;align-items:start}
.fd-card select,.fd-card input[type=text],.fd-card textarea{min-height:48px;font-family:var(--fd-ui);font-size:1rem;border-radius:12px;transition:border-color .2s,box-shadow .2s}
.fd-combo{position:relative}
.fd-combo input{width:100%;padding:0 14px;border:2px solid var(--line);background:var(--paper);color:var(--ink)}
.fd-listbox{position:absolute;z-index:20;left:0;right:0;top:calc(1.6em + 54px);margin:0;padding:6px;list-style:none;background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px -16px rgba(7,59,44,.35);max-height:264px;overflow:auto;animation:fd-pop .16s ease-out}
.fd-listbox [role=option]{min-height:44px;display:flex;align-items:center;padding:0 12px;border-radius:10px;cursor:pointer;font-family:var(--fd-ui)}
.fd-listbox [role=option]:hover,.fd-listbox [role=option][aria-selected=true]{background:var(--mint);color:var(--green-dark)}
.fd-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.fd-actions .generate-button{flex:1 1 220px}
.button{min-height:48px;transition:transform .15s ease,opacity .2s ease}
.button:active{transform:scale(.97)}
.button-quiet{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 20px;border-radius:999px;border:2px solid var(--line);background:var(--paper);color:var(--green-dark);font:700 1rem var(--fd-ui);cursor:pointer}
.button-quiet:hover{border-color:var(--green)}
.button-quiet[hidden]{display:none}
.fd-more{margin-top:14px;border-top:1px dashed var(--line);padding-top:6px}
.fd-more>summary{min-height:44px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font:700 1rem var(--fd-ui);color:var(--green);list-style:none;border-radius:8px}
.fd-more>summary::-webkit-details-marker{display:none}
.fd-more>summary::before{content:"";width:8px;height:8px;border-right:2px solid;border-bottom:2px solid;transform:rotate(-45deg);transition:transform .2s ease}
.fd-more[open]>summary::before{transform:rotate(45deg)}
.fd-more[open] .fd-more-body{animation:fd-pop .2s ease-out}
.fd-more-body{display:grid;gap:14px;padding-top:8px}
.accessibility-field label,.answer-key-option,.radio-card{min-height:44px}
.adult-notice{margin:16px 0 0;padding:12px 14px;border-left:4px solid var(--gold);background:color-mix(in srgb,var(--gold) 12%,var(--white));border-radius:0 12px 12px 0;font:600 .9rem/1.5 var(--fd-ui);color:var(--ink-soft)}
.result-summary{margin:0 0 10px;font:700 .95rem var(--fd-ui);color:var(--green-dark)}
.result-summary[hidden]{display:none}
.generated-artwork:not([hidden]){animation:fd-reveal .35s ease-out}
.try-another{margin-top:12px}
.checkout-note{margin:12px 0 0;font:600 .85rem var(--fd-ui);color:var(--muted)}
:where(a,button,select,input,textarea,summary,[role=option]):focus-visible{outline:none;box-shadow:var(--fd-focus)}
@keyframes fd-pop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@keyframes fd-reveal{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}
@media (max-width:700px){
  .header-inner{padding-block:6px!important;gap:6px!important}
  .brand-logo{width:118px!important;height:auto}
  .brand-descriptor{display:none}
  .main-nav{gap:4px 12px!important;font-size:.88rem}
  .main-nav a{min-height:44px;display:inline-flex;align-items:center}
  .fd-hero{padding-block:10px 0!important}
  .fd-hero .eyebrow{display:none}
  .fd-hero .hero-lede{font-size:.95rem}
  .fd-primary{grid-template-columns:1fr;gap:10px}
  .fd-card{padding:16px!important}
  .fd-actions .button{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
#age-band-field{display:grid;gap:6px}#age-band-field select{width:100%}
.fd-card>.adult-notice{margin:0 0 18px}
.creator-audience{margin:0 0 6px;font:600 .85rem/1.4 var(--fd-ui);color:var(--green-dark)}
.fd-card select{appearance:none;border:2px solid var(--line);background-color:var(--paper);color:var(--ink);padding:10px 36px 10px 12px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23073b2c' stroke-width='2'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat}
.fd-hero .hero-copy{background:rgba(255,248,231,.97);border-radius:12px;padding:16px}
@media(max-width:700px){.main-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:2px 12px!important}.main-nav a{justify-content:center;min-height:44px;text-align:center}.fd-hero .hero-copy{padding:10px}.creator-audience{display:block}}
@media(forced-colors:active){.fd-card select{appearance:auto;background-image:none}}
