@font-face{font-family:Source;src:url("source.woff2") format("woff2");font-weight:200 900;font-display:swap}
@font-face{font-family:Marcellus;src:url("title.woff2") format("woff2");font-display:swap}
:root{--ink:#102f53;--blue:#0667ad;--sun:#fcd539;--cream:#fffcf4;--muted:#4d6379;--line:#d6e0e9;--pale:#eef5fa;--white:#fff}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;color:var(--ink);background:var(--cream);font:1rem/1.45 Source,sans-serif}
button,input,select{font:inherit;color:inherit}
h1,h2,h3,p,dl,dd{margin:0}
h1,h2{font-family:Marcellus,Georgia,serif;font-weight:400;line-height:1.1}
h2{font-size:clamp(1.8rem,4vw,2.45rem)}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.wrap{max-width:1280px;margin:auto;padding-inline:clamp(20px,4vw,56px)}
.mast{background:#fff;border-bottom:1px solid var(--line)}
.mast .wrap{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{display:block;width:174px;height:auto}
.demo-flag,.eyebrow{font-size:.73rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase}
.demo-flag{border:1px solid var(--line);padding:7px 10px;border-radius:4px;color:var(--muted);text-align:center}
.layout{display:grid;grid-template-columns:minmax(270px,340px) minmax(0,1fr);align-items:start;gap:28px;padding-top:32px;padding-bottom:36px}
.hero{position:relative;isolation:isolate;background:var(--ink);color:var(--cream);padding:34px 28px 174px;border-radius:14px;overflow:hidden}
.hero::after{content:"";position:absolute;z-index:-1;inset:auto 0 0;height:165px;background:linear-gradient(var(--ink),transparent 70%),url("trama.webp") center/cover}
.hero .eyebrow{color:var(--sun)}
.hero h1{font-size:clamp(1.85rem,2.65vw,2.3rem);margin:14px 0 18px}
.hero h1 span{display:block}
.hero p{color:#e4eff8;max-width:28ch}
.hero .small-rule{display:block;width:36px;height:3px;background:var(--sun);margin:24px 0 16px}
.hero .note{font-size:.87rem}
.card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px #102f530b}
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:19px clamp(16px,3vw,32px);border-bottom:1px solid var(--line);gap:10px}
.steps li{color:var(--muted);display:flex;align-items:center;gap:8px;font-size:.91rem;font-weight:650}
.steps span{width:28px;height:28px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;flex:none}
.steps [aria-current=step]{color:var(--ink);font-weight:750}
.steps [aria-current=step] span{background:var(--blue);color:white;border-color:var(--blue)}
.steps .done span{background:var(--pale);border-color:var(--pale);color:var(--blue)}
.inside{padding:clamp(20px,4vw,38px)}
.subhead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:24px}
.kicker{display:block;color:var(--blue);margin-bottom:8px}
.lead{color:var(--muted);margin-top:9px}
.required-note{font-size:.85rem;color:var(--muted);margin-bottom:14px}
.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border:1px solid transparent;border-radius:6px;text-align:center;font-weight:720;background:white}
.primary{background:var(--blue);color:#fff}
.primary:hover{background:#07568f}
.outline{border-color:#a7bfd3;color:var(--blue)}
.outline:hover,.quiet:hover{background:var(--pale)}
.quiet{color:var(--blue);padding-inline:8px}
.example{flex:none;font-size:.86rem}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 16px}
.field{min-width:0}
.field label{display:block;font-weight:700;margin-bottom:4px;font-size:.93rem}
input:not([type=checkbox]),select{display:block;width:100%;min-height:47px;background:white;border:1px solid #a8b9ca;border-radius:6px;padding:9px 11px;min-width:0}
input::placeholder{color:#667788}
.optional{color:var(--muted);font-weight:500;font-size:.82rem}
.group{margin:0 0 16px;min-width:0;border:1px solid var(--line);border-radius:9px;padding:14px 16px 17px}
.group legend{padding:0 7px;color:var(--ink);font-weight:750}
.group-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.remove{margin-top:8px}
.age{display:block;margin-top:5px;color:var(--blue);font-size:.86rem;font-weight:680}
.nav{border-top:1px solid var(--line);margin-top:24px;padding-top:18px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.nav .primary{margin-left:auto}
.notice,.summary{border-left:4px solid var(--sun);background:var(--cream);border-radius:4px;padding:13px 15px;margin:16px 0}
.summary{background:var(--pale);border-color:var(--blue)}
.summary span{display:block;color:var(--muted)}
.checkbox{display:flex;gap:10px;align-items:start;padding:8px 0;cursor:pointer}
.checkbox input{accent-color:var(--blue);width:19px;height:19px;flex:none;margin:3px 0 0}
.support{margin-top:12px}
.support .small,.referral .small{margin:5px 0 8px}
.referral{margin-top:18px}
.referral .grid{margin-top:10px}
.small{font-size:.86rem;color:var(--muted)}
footer.site{padding:0 0 25px;color:var(--muted);font-size:.83rem}
.status{background:var(--pale);padding:18px;margin:18px 0;border-radius:8px}
.status strong{font-size:1.3rem;display:block;letter-spacing:.03em}
.action-row{display:flex;flex-wrap:wrap;gap:10px}
.paper-preview{max-width:210mm;margin:26px auto 38px}
.paper-toolbar{display:flex;justify-content:space-between;gap:12px;margin:0 0 12px}
.paper{background:#fff;color:var(--ink);padding:15mm 16mm 12mm;border:1px solid var(--line);border-radius:6px}
.paper-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:6mm;border-bottom:1px solid #a8bfd1}
.paper-top img{width:47mm;max-width:50%;height:auto}
.paper-tag{text-align:right}
.paper-tag strong{display:block;font-size:13pt}
.paper-title{margin:5mm 0 1mm;font-size:21pt}
.paper-deck{color:var(--muted);font-size:11pt}
.paper .notice{font-size:11pt;margin:4mm 0 6mm;padding:3mm 4mm}
.paper-section{margin:0 0 5mm}
.paper-section h3{color:var(--blue);border-bottom:1px solid var(--line);padding-bottom:1.5mm;margin-bottom:2.5mm;font-size:13pt}
.info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5mm 5mm}
.info div{min-width:0}
.info dt,.paper-footer{font-size:9pt;color:var(--muted)}
.info dd{overflow-wrap:anywhere;font-size:11pt;font-weight:650}
.child-record{border:1px solid var(--line);border-radius:2mm;padding:2.7mm 3.5mm;margin:0 0 2.5mm;break-inside:avoid}
.child-record h4{margin:0 0 1mm;font-size:11.5pt}
.child-record .info{grid-template-columns:repeat(3,minmax(0,1fr));gap:2mm 3mm}
.paper-footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:2.5mm;margin-top:5mm}
.paper-pattern{height:5mm;margin-top:2.5mm;background:url("trama.webp") center 56%/100% auto}
@media(max-width:840px){.layout{grid-template-columns:minmax(0,1fr);gap:16px;padding-top:16px}.hero{padding:24px min(24px,5vw) 26px}.hero::after{inset:0 0 0 auto;width:34%;height:auto;background:linear-gradient(90deg,var(--ink),#102f53c4 62%,#102f537a),url("trama.webp") center/cover}.hero h1{font-size:clamp(1.7rem,5.2vw,2.3rem);max-width:none;margin:8px 0}.hero .small-rule{margin:13px 0 8px}.hero p{max-width:46ch}.mast .wrap{min-height:69px}}
@media(max-width:540px){.wrap{padding-inline:14px}.logo{width:142px}.demo-flag{font-size:.63rem}.steps{padding:14px 12px;gap:4px}.steps li{font-size:.79rem;gap:4px}.steps span{width:24px;height:24px}.subhead{flex-direction:column}.grid{grid-template-columns:1fr}.paper{padding:17px}.paper-title{font-size:18pt}.child-record .info{grid-template-columns:repeat(2,minmax(0,1fr))}}
@page{size:A4;margin:13mm 16mm}
@media print{
  body{background:#fff}
  body *{print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .mast,.layout,footer.site,.paper-toolbar{display:none!important}
  .paper-preview{display:block;width:auto;max-width:none;margin:0;padding:0}
  .paper{border:0;border-radius:0;padding:0}
  .paper{line-height:1.26}
  .paper-title{font-size:19pt;margin-top:4mm}
  .paper-top{padding-bottom:3mm}
  .paper-top img{width:43mm}
  .paper .notice{margin:3mm 0 3.5mm;padding:2mm 3mm;font-size:10pt}
  .paper-section{margin-bottom:3mm}
  .paper-section h3{break-after:avoid;margin-bottom:1.6mm;padding-bottom:1mm;font-size:11.5pt}
  .info,.child-record .info{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5mm 3mm}
  .info .wide{grid-column:span 2}
  .info div{break-inside:avoid}
  .info dt{font-size:8.5pt}
  .info dd{font-size:10pt}
  .child-record{padding:2mm 2.5mm;margin-bottom:2mm}
  .child-record h4{font-size:11pt}
  .paper-footer{margin-top:2mm;padding-top:1.5mm;font-size:8.5pt}
  .paper-pattern{height:3mm;margin-top:1.5mm}
  .paper-footer,.paper-pattern{break-inside:avoid}
}
.site-links{display:flex;gap:14px;align-items:center;font-size:.9rem;flex-wrap:wrap}
.site-links a,.small a{color:var(--blue)}
.error{border-color:#aa2525;background:#fff2f2;color:#782222}
