/* ExhibitorPack studio interface. PDF and print-sheet rules remain in styles.css. */
:root {
  --ink:#173c37; --muted:#647771; --line:#dce5df; --soft:#f2f5f1;
  --accent:#147467; --accent2:#0c594f; --success:#147467;
  --shadow:0 14px 40px rgba(24,55,46,.07); --radius:10px;
}
@media screen {
  body { background:#fcfcfa; color:var(--ink); font-family:Arial,Helvetica,sans-serif; line-height:1.65; }
  h1,h2,h3 { font-family:Arial,Helvetica,sans-serif; }
  a,button,input,select,textarea { -webkit-tap-highlight-color:transparent; }
  :focus-visible { outline:3px solid #477eac; outline-offset:4px; }
  .skip-link { position:absolute; top:-80px; left:20px; z-index:80; background:#fff; padding:12px 18px; color:var(--ink); }
  .skip-link:focus { top:10px; }
  .topbar { height:88px; padding:0 max(4%,calc((100vw - 1240px)/2)); gap:28px; background:#fff; border-bottom:1px solid var(--line); backdrop-filter:none; }
  .brand { font:700 24px/1.2 Arial,sans-serif; letter-spacing:-.9px; gap:11px; flex-shrink:0; color:var(--ink); }
  .brand-soft { font-weight:400; }
  .brand-mark { height:40px; width:40px; background:#173c37; border-radius:9px; }
  .brand-mark svg { width:31px; height:31px; }
  .topbar nav { margin-left:auto; display:flex; align-items:center; gap:25px; font-size:13px; font-weight:600; color:#52665f; }
  .topbar nav a { white-space:nowrap; }
  .topbar nav .nav-build { color:var(--ink); }
  .nav-build span { font-size:18px; margin-left:5px; }
  .language-control { border-left:1px solid var(--line); padding-left:22px; gap:2px; flex-shrink:0; }
  .language-control>span { color:#718079; text-transform:uppercase; font-size:9px; letter-spacing:.12em; font-weight:600; }
  .language-control select { width:113px; border:0; border-radius:0; padding:2px 15px 2px 0; font-size:12px; font-weight:600; color:#27493f; min-height:25px; background:transparent; }
  .hero { max-width:1240px; width:92%; min-height:640px; padding:66px 0 68px; grid-template-columns:1.1fr 1fr; gap:54px; }
  .hero-copy { position:relative; z-index:1; }
  .eyebrow { font:700 10px/1.7 Arial,sans-serif; letter-spacing:.13em; color:var(--accent); }
  .hero .eyebrow { display:flex; align-items:center; gap:9px; font-size:9px; letter-spacing:.105em; }
  .eyebrow-line { display:block; height:1px; width:25px; background:var(--accent); flex:none; }
  .hero h1 { color:#183e35; font-size:clamp(42px,4.7vw,63px); font-weight:500; letter-spacing:-.055em; line-height:1.08; margin:22px 0 24px; }
  .hero h1>span { color:#659379; }
  .hero-lead { font-size:17px; line-height:1.9; color:#66756c; margin:0 0 30px; max-width:490px; }
  .hero-actions { gap:22px; align-items:center; }
  .btn { font-size:13px; min-height:46px; padding:12px 19px; border-radius:6px; font-weight:600; letter-spacing:0; gap:13px; line-height:1.5; box-shadow:none; }
  .btn:hover { transform:none; }
  .btn-primary { background:#173e35; color:white; box-shadow:none; }
  .btn-primary:hover { background:#286151; }
  .btn-primary>span { font-size:19px; font-weight:400; }
  .btn-text { background:transparent; color:#305b49; border-radius:0; border-bottom:1px solid #c5d5ca; padding:8px 0; min-height:37px; font-size:12px; }
  .btn-text:hover { border-color:#335f4c; }
  .btn-quiet { background:#f0f4f0; color:#365c4b; }
  .btn-small { background:#edf3ef; color:#275d49; min-height:38px; font-size:12px; padding:8px 13px; }
  .btn-wide { border:1px solid #b7cec0; background:#f6f9f5; color:#264f3c; font-size:13px; }
  .hero-proof { display:flex; flex-wrap:wrap; gap:12px 17px; margin-top:25px; color:#748075; font-size:11px; align-items:center; }
  .hero-proof>span+span::before { content:""; display:inline-block; width:3px; height:3px; background:#7a9382; border-radius:50%; vertical-align:middle; margin-right:15px; }
  .hero-proof b { font-size:15px; color:#2b4c3b; margin-right:4px; font-weight:600; }
  .pack-showcase { position:relative; height:500px; background:#e6eee4; border-radius:10px; padding:23px; min-width:0; }
  .showcase-top { display:flex; align-items:center; justify-content:space-between; font-size:9px; color:#62826d; letter-spacing:.12em; }
  .showcase-sheet { position:absolute; background:white; width:60%; height:367px; left:9%; top:60px; box-shadow:0 14px 26px #344c3820; padding:27px 27px 22px; transform:rotate(-4deg); color:#234c3d; }
  .sample-brand { display:grid; grid-template-columns:23px 1fr; gap:0 6px; align-items:center; line-height:1.35; margin-bottom:28px; }
  .sample-brand b { font-size:10px; letter-spacing:.08em; }
  .sample-brand>span:last-child { grid-column:2; font-size:6px; letter-spacing:.12em; }
  .sample-symbol { grid-row:1/3; font:22px Georgia,serif; border:1px solid #608f77; text-align:center; }
  .sample-doc-label { font-size:7px; color:#7f9587; letter-spacing:.13em; }
  .sample-stand { font-size:11px; font-weight:600; color:#4b8565; margin:5px 0 14px; }
  .showcase-sheet h2 { font:400 36px/1.13 Georgia,serif; letter-spacing:-.03em; }
  .showcase-sheet p { font-size:10px; line-height:1.9; color:#7b9080; margin-top:16px; }
  .sample-contact { position:absolute; bottom:25px; left:27px; right:27px; padding-top:12px; border-top:1px solid #dce7dc; font-size:7px; letter-spacing:.1em; display:flex; justify-content:space-between; }
  .sample-card { position:absolute; padding:20px; background:#fff; box-shadow:0 11px 28px #314e341c; border:1px solid #dbe6dc; border-radius:3px; }
  .sample-card-team { width:53%; right:-3%; top:145px; transform:rotate(5deg); }
  .sample-card-label { display:flex; justify-content:space-between; font-size:8px; color:#759084; letter-spacing:.11em; line-height:1.4; }
  .sample-card strong { display:block; font:19px/1.25 Georgia,serif; color:#294e3c; margin:15px 0 18px; }
  .sample-card-team>div:not(:first-child) { display:flex; justify-content:space-between; gap:9px; border-top:1px solid #e4ebe6; padding:8px 0 0; margin-top:7px; font-size:8px; color:#748a79; }
  .sample-card-team b { font-size:8px; color:#456954; font-weight:500; }
  .sample-card-check { right:4%; bottom:49px; width:52%; transform:rotate(1deg); padding:19px; }
  .sample-card-check p { display:flex; gap:9px; margin:10px 0 0; font-size:9px; color:#5a7361; }
  .sample-card-check i { font-style:normal; width:12px; height:12px; border:1px solid #b3c8b9; display:grid; place-items:center; color:#6e987a; font-size:8px; flex:none; margin-top:1px; }
  .showcase-caption { position:absolute; bottom:16px; left:0; width:100%; text-align:center; font-size:9px; color:#829386; }
  .format-strip { border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; padding:21px max(4%,calc((100vw - 1240px)/2)); display:flex; gap:30px; align-items:center; justify-content:space-between; }
  .format-strip>span { font-size:9px; color:#8a978e; letter-spacing:.11em; }
  .format-strip p { font-size:12px; font-weight:600; color:#708376; margin:0; white-space:nowrap; }
  .builder-section { background:#f1f4ef; color:var(--ink); padding:65px max(4%,calc((100vw - 1240px)/2)) 70px; scroll-margin-top:85px; }
  .builder-head { align-items:center; margin-bottom:29px; gap:28px; }
  .builder-head h2 { font-size:36px; font-weight:500; letter-spacing:-.035em; margin:10px 0 12px; }
  .builder-head p { color:#748174; font-size:13px; line-height:1.7; max-width:590px; }
  .price-card { background:none; border:0; border-left:1px solid #cdd8cc; border-radius:0; text-align:left; padding:5px 0 5px 27px; min-width:190px; }
  .price-card small { color:#7b8b7f; font-size:9px; margin-bottom:7px; }
  .price-card strong { color:#244936; font-weight:400; font-size:34px; line-height:1.2; }
  .price-card>span { display:block; font-size:10px; color:#748575; margin-top:5px; }
  .builder-layout { grid-template-columns:minmax(0,1fr) 340px; gap:27px; align-items:start; }
  .form-panel,.preview-panel { border:1px solid #dbe5db; border-radius:9px; box-shadow:0 5px 18px #24452c05; background:#fff; }
  .form-tabs { padding:0 28px; gap:8px; justify-content:space-between; }
  .tab { padding:20px 11px 17px; color:#849083; font-size:12px; border-bottom-width:2px; }
  .tab.active { color:#315b3d; border-color:#426c4c; }
  .tab-panel { padding:30px; min-height:441px; }
  .tab-panel h3 { color:#2a4c34; font-size:26px; font-weight:500; letter-spacing:-.025em; }
  .panel-intro { margin-bottom:27px; }
  .panel-intro>span { font-size:9px; letter-spacing:.1em; color:#8b9788; }
  .panel-intro h3 { margin:8px 0; }
  .panel-intro p { margin:0; font-size:12px; color:#788777; }
  #packForm label { color:#596b56; font-size:12px; font-weight:600; gap:7px; }
  #packForm input,#packForm textarea,#packForm select { border-color:#d6e0d4; border-radius:5px; padding:11px 12px; font-size:14px; font-weight:400; color:#355b3d; background:#fff; }
  #packForm input::placeholder,#packForm textarea::placeholder { color:#9aa396; }
  #packForm textarea { line-height:1.6; }
  #packForm input:focus,#packForm textarea:focus,#packForm select:focus { border-color:#77a17c; box-shadow:0 0 0 3px #b5d1b525; }
  .field-grid.two { gap:18px; margin-bottom:18px; }
  .upload-box { border-color:#c4d3c1; background:#f9fbf7; padding:18px; border-radius:6px; margin-top:21px; gap:16px; }
  #packForm .upload-box input { font-size:10px; max-width:58%; padding:4px; background:transparent; border:0; }
  .upload-box input::file-selector-button { border:1px solid #cad9c5; padding:7px 10px; margin-right:7px; border-radius:4px; background:#fff; color:#597852; }
  .upload-box small { font-size:10px; margin-top:4px; color:#93a08b; font-weight:400; }
  .builder-actions { background:#fbfcfa; border-color:#e6ece1; padding:20px 30px; }
  .preview-panel { padding:24px; top:111px; }
  .preview-top { font-size:9px; font-weight:600; letter-spacing:.06em; color:#8c9b84; }
  .completion-track { height:3px; background:#edf2e8; border-radius:2px; margin:17px 0 24px; overflow:hidden; }
  .completion-track>span { display:block; background:#8eaf79; height:100%; width:0; transition:width .2s; }
  .summary-card { padding:0 0 15px; border:0; border-radius:0; }
  .summary-logo { width:48px; height:48px; border-radius:6px; background-color:#f0f4e9; color:#88a270; font-size:11px; }
  .summary-card h3 { font-size:22px; font-weight:500; letter-spacing:-.035em; overflow-wrap:anywhere; }
  .summary-card>p { color:#98a38e; font-size:12px; overflow-wrap:anywhere; }
  .summary-card dl { border-top-color:#e7ecdf; }
  .summary-card dl div { padding:13px 6px; border-color:#e7ecdf; }
  .summary-card dl div:nth-child(odd) { border-color:#e7ecdf; }
  .summary-card dt { font-size:10px; color:#879979; }
  .summary-card dd { font-weight:500; font-size:19px; color:#4a6e37; overflow-wrap:anywhere; }
  .preview-note { background:#f5f8ef; color:#7d9070; border-radius:5px; padding:15px; margin-top:5px; font-size:12px; }
  .preview-note b { color:#526e41; font-weight:600; }
  .preview-note p { margin:7px 0 0; font-size:11px; line-height:1.75; }
  .local-note { font-size:10px; color:#a3ad97; text-align:center; line-height:1.7; margin:16px 0 0; }
  .dynamic-row { border-color:#dfe7d8; background:#fafcf8; border-radius:6px; padding:20px; }
  .dynamic-row .row-number { color:#879d73; font-weight:600; font-size:10px; }
  .panel-title-row { gap:18px; align-items:center; }
  .panel-title-row h3 { margin-bottom:7px; }
  .panel-title-row p { font-size:12px; color:#91a07f; }
  .check-grid label { border-radius:5px; padding:15px 12px; border-color:#dfe8d7; font-size:11px!important; }
  #packForm .check-grid input { width:17px; height:17px; padding:0; flex:none; accent-color:#63854b; }
  .check-grid b { font-weight:600; }
  .check-grid small { font-size:10px; color:#90a17d; }
  .theme-row { grid-template-columns:1fr 1fr; }
  .style-option { border-radius:6px; border-color:#dce5d3; background:#f8fbf4; }
  .style-option small { color:#8c9e75; }
  .language-note { font-size:11px; color:#78935f; }
  .section { max-width:1240px; width:92%; padding:74px 0; }
  .section-head { max-width:720px; margin-bottom:35px; }
  .section-head h2 { font-size:39px; line-height:1.18; font-weight:500; letter-spacing:-.04em; margin-top:12px; }
  .section-head>p { font-size:15px; line-height:1.85; color:#758672; max-width:580px; margin:17px 0 0; }
  .section-soft { max-width:1240px; width:92%; background:transparent; border-bottom:1px solid #e1e9db; }
  .steps { gap:36px; }
  .steps article { border:0; padding:0; border-radius:0; background:transparent; }
  .steps article .step-icon { background:#edf4e7; color:#749452; width:32px; height:32px; border-radius:6px; font-weight:400; font-size:22px; margin-bottom:21px; }
  .steps h3 { font-size:17px; font-weight:600; letter-spacing:-.02em; line-height:1.4; }
  .steps p { color:#83957a; font-size:13px; line-height:1.85; }
  #included { scroll-margin-top:92px; }
  .included-grid { gap:0; border:1px solid #dde7d5; border-radius:8px; overflow:hidden; }
  .included-grid article { padding:29px; border:0; border-right:1px solid #e3eada; border-bottom:1px solid #e3eada; border-radius:0; }
  .included-grid article:nth-child(4n) { border-right:0; }
  .included-grid article:nth-child(n+5) { border-bottom:0; }
  .included-grid article>div { color:#839f64; height:22px; font-weight:500; margin-bottom:22px; }
  .included-grid h3 { font-size:16px; font-weight:600; letter-spacing:-.025em; }
  .included-grid p { color:#8b9b7a; font-size:12px; line-height:1.85; }
  .home-resources { border-top:0; padding-top:18px; }
  .resource-section-heading { display:flex; justify-content:space-between; gap:35px; align-items:flex-end; margin-bottom:30px; }
  .resource-section-heading .section-head { margin:0; }
  .text-link { color:#547e37; font-size:12px; border-bottom:1px solid #c2d4ac; padding:9px 0; white-space:nowrap; }
  .text-link span { margin-left:15px; }
  .resource-grid { gap:19px; }
  .resource-card { min-height:250px; border-color:#dfe8d5; border-radius:7px; padding:29px; box-shadow:none; transition:box-shadow .15s,transform .15s; }
  .resource-card:hover { box-shadow:0 8px 24px #5368360a; transform:translateY(-2px); }
  .resource-card .resource-type { font-size:9px; font-weight:600; color:#87a267; letter-spacing:.11em; margin-bottom:23px; }
  .resource-card h3 { font-size:24px; line-height:1.22; letter-spacing:-.035em; font-weight:500; color:#486d2f; }
  .resource-card p { font-size:13px; line-height:1.9; color:#8a9c78; margin:9px 0 22px; }
  .resource-card a { color:#63883f; font-size:12px; font-weight:600; }
  .resource-card a>span { margin-left:8px; }
  .featured-resource { background:#f0f5e9; border-color:#dce8cb; }
  .faq { border-top:1px solid #e3ead9; padding-top:65px; }
  .faq .section-head { max-width:630px; }
  .faq details { border-radius:5px; border-color:#e1e9d6; padding:21px 23px; background:#fff; }
  .faq summary { font-size:14px; font-weight:600; color:#658642; }
  .faq details p { color:#90a378; line-height:1.8; font-size:13px; }
  footer { background:#163e34; border:0; padding:45px max(4%,calc((100vw - 1240px)/2)); align-items:flex-start; text-align:left; gap:19px; }
  footer .brand { color:#eff5e5; font-size:26px; }
  footer .brand-mark { background:#2f5642; color:#d8e8c6; }
  footer>p { color:#a9bea3; font-size:13px; }
  .footer-links { gap:10px 25px; justify-content:flex-start; font-size:12px; color:#c3d3b7; margin:3px 0; line-height:1.8; }
  .footer-links a:hover { color:#fff; }
  footer .footer-small { font-size:11px; color:#8fa487; line-height:1.9; max-width:890px; }
  .content-shell { width:92%; max-width:1120px; padding:35px 0 75px; }
  .content-shell.wide-content { max-width:1180px; }
  .breadcrumbs { margin:5px 0 32px; color:#869b77; font-size:11px; }
  .content-hero { padding:0 0 35px; margin-bottom:38px; border-color:#e1e9d6; }
  .content-hero h1 { font-size:clamp(36px,4.7vw,58px); font-weight:500; letter-spacing:-.045em; line-height:1.12; margin-top:17px; max-width:900px; color:#315f35; }
  .content-hero p { font-size:17px; line-height:1.9; max-width:800px; color:#849873; }
  .updated-note { font-size:11px; color:#98aa88; }
  .content-body { max-width:850px; }
  .content-body h2 { font-size:29px; font-weight:500; line-height:1.3; letter-spacing:-.025em; color:#4e783a; margin:40px 0 16px; }
  .content-body h3 { font-size:19px; font-weight:600; line-height:1.35; color:#678647; }
  .content-body p,.content-body li { font-size:16px; color:#758d64; line-height:1.9; }
  .content-body a:not(.btn):not(.resource-link) { text-decoration:underline; text-underline-offset:4px; color:#4f7b36; }
  .content-callout { border-color:#dfe9d3; background:#f3f7ed; border-radius:6px; padding:24px; }
  .content-cta { background:#204a36; border-radius:8px; padding:32px; }
  .content-cta h2 { color:#ecf3df; margin:10px 0 15px; font-size:30px; }
  .content-cta p { color:#b5c9a3; font-size:15px; }
  .content-cta .eyebrow,.content-cta .light { color:#a7c28c; }
  .content-cta .btn { background:#e8f0da; color:#446c31; margin-top:12px; }
  .resource-link { border-color:#e1e9d7; border-radius:5px; padding:19px; }
  .resource-link:hover { background:#f6f9f0; border-color:#bbd0a4; }
  .resource-link b { color:#60863f; font-weight:600; }
  .resource-link span { color:#8da775; line-height:1.7; }
  .resource-table { width:100%; border-collapse:collapse; margin:25px 0; font-size:14px; }
  .resource-table th,.resource-table td { text-align:left; vertical-align:top; border-bottom:1px solid #dfe8d4; padding:16px 15px; }
  .resource-table th { font-size:11px; color:#65884d; background:#f0f6e8; font-weight:600; }
  .resource-table td { color:#799864; line-height:1.8; }
  .tool-panel { border-color:#dce8cf; border-radius:8px; box-shadow:none; padding:27px; }
  .tool-intro h2 { font-size:28px!important; font-weight:500; letter-spacing:-.025em; color:#496f38; }
  .tool-intro p { color:#7d946a; font-size:14px; }
  .tool-badge { border-radius:4px; background:#eff5e8; font-size:10px; color:#759451; }
  .tool-controls { border-color:#e2ead8; border-radius:6px; background:#f8faf4; padding:22px; }
  .tool-controls label { color:#6c8755; font-size:12px; }
  .tool-controls input,.tool-controls textarea,.tool-controls select { border-radius:5px; border-color:#d5e2c7; font-size:14px; }
  .tool-preview { border-radius:6px; background:#e9efdf; }
  .tool-checks label { border-radius:4px; border-color:#e2ead8; color:#7c9863; }
  .tool-category h4 { color:#789859; }
  #previewDialog[open] { display:flex; flex-direction:column; height:92dvh; max-height:1000px; border-radius:10px; width:min(1000px,96vw); }
  #previewDialog .dialog-bar { height:auto; min-height:65px; flex-shrink:0; padding:14px 24px; }
  #previewDialog .dialog-content { flex:1; min-height:0; height:auto; overflow-y:auto; overflow-x:hidden; background:#eef1e8; padding:25px; }
  #previewDialog .dialog-actions { flex-shrink:0; min-height:90px; padding:16px 24px; gap:16px; height:auto; }
  .dialog-bar b { font-size:16px; font-weight:600; }
  .dialog-bar span { font-size:11px; }
  .dialog-actions .digital-consent { font-size:11px; line-height:1.6; }
  .dialog-actions .digital-consent span { font-size:11px; }
  .preview-lock-note { border-radius:5px; border-color:#dae1c6; background:#f7f8ed; color:#7a8259; font-size:12px; }
  .sample-actions { display:none!important; }
  .is-sample-preview .dialog-actions>:not(.sample-actions) { display:none!important; }
  .is-sample-preview .dialog-actions>.sample-actions { display:flex!important; flex-direction:row; justify-content:space-between; align-items:center; gap:25px; width:100%; }
  .sample-actions>span { color:#819364; font-size:12px; }
  .toast { background:#31562f; }
}
/* Keep supporting text readable on the light surfaces. */
@media screen {
  .hero-lead,.steps p,.included-grid p,.resource-card p,.section-head>p,.content-hero p,.content-body p,.content-body li,.resource-table td { color:#607365; }
  .panel-intro p,.builder-head p,.panel-title-row p,.preview-note p,.check-grid small,.style-option small,.language-note,.upload-box small,.resource-link span,.tool-intro p { color:#6a7d6d; }
  .resource-card h3,.content-hero h1,.content-body h2,.content-body h3,.tool-intro h2 { color:#2b4d36; }
  .resource-card a,.text-link,.resource-link b,.faq summary { color:#416845; }
  .faq details p,.local-note,.updated-note,.summary-card>p,.summary-card dt { color:#6b7b6a; }
  .content-cta p { color:#c1d1b6; }
  #packForm input::placeholder,#packForm textarea::placeholder { color:#7d8b7a; }
  .panel-intro>span,.preview-top,.resource-type,.resource-card .resource-type,.tool-controls label,.dynamic-row .row-number { color:#637e5a; }
}
@media screen and (max-width:1120px) {
  .topbar { gap:18px; }
  .topbar nav { gap:17px; font-size:12px; }
  .language-control { padding-left:15px; }
  .brand { font-size:22px; }
  .hero { gap:40px; min-height:610px; }
  .hero h1 { font-size:53px; }
  .pack-showcase { height:475px; padding:20px; }
  .showcase-sheet { padding:24px 22px; height:345px; }
  .showcase-sheet h2 { font-size:32px; }
  .sample-brand { margin-bottom:21px; }
  .sample-card-team { padding:17px; }
  .sample-card-check { padding:16px; }
  .hero-actions { gap:16px; }
  .hero-proof { gap:9px 12px; }
  .hero-proof>span+span::before { margin-right:10px; }
  .builder-layout { grid-template-columns:minmax(0,1fr) 300px; gap:23px; }
  .form-tabs { padding:0 18px; gap:3px; }
  .preview-panel { padding:22px; }
  .tab-panel { padding:26px; }
  .steps { gap:28px; }
  .included-grid article { padding:24px; }
}
@media screen and (max-width:960px) {
  .hero { gap:30px; padding:52px 0; }
  .hero h1 { font-size:44px; }
  .hero-lead { font-size:15px; line-height:1.9; }
  .hero-actions { flex-direction:column; align-items:flex-start; gap:12px; }
  .hero .eyebrow { font-size:8px; letter-spacing:.05em; }
  .hero-proof { font-size:10px; }
  .hero-proof>span+span::before { display:none; }
  .pack-showcase { height:438px; }
  .showcase-sheet { height:316px; padding:22px 18px; top:58px; }
  .showcase-sheet h2 { font-size:29px; }
  .sample-brand { margin-bottom:17px; }
  .sample-card strong { font-size:17px; }
  .sample-card-team { top:152px; right:-3%; width:58%; }
  .sample-card-check { bottom:43px; width:56%; right:2%; }
  .format-strip { gap:20px; flex-wrap:wrap; justify-content:space-between; }
  .format-strip>span { display:none; }
  .format-strip p { font-size:11px; }
  .builder-layout { grid-template-columns:minmax(0,1fr); }
  .preview-panel { position:static; }
  .summary-card { display:grid; grid-template-columns:65px 1fr 1fr; gap:8px 14px; text-align:left; align-items:center; padding-bottom:0; }
  .summary-logo { grid-row:1/3; margin:0; }
  .summary-card h3 { grid-column:2; }
  .summary-card>p { grid-column:2; margin:0; }
  .summary-card dl { grid-column:3; grid-row:1/3; width:100%; border:0; }
  .summary-card dl div { padding:5px; border:0!important; }
  .summary-card dt { font-size:9px; }
  .summary-card dd { font-size:16px; margin:0; }
  .preview-note { margin-top:20px; }
  .field-grid.two { grid-template-columns:1fr 1fr; }
  .check-grid { grid-template-columns:1fr 1fr; }
  .theme-row { grid-template-columns:1fr 1fr; }
  .steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px; }
  .included-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .included-grid article { padding:22px 18px; }
  .resource-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .content-shell { padding-top:28px; }
  .topbar nav a[href="/#included"] { display:none; }
}
@media screen and (max-width:760px) {
  .topbar { height:auto; min-height:85px; flex-wrap:wrap; padding:17px 5% 11px; gap:14px; position:relative; }
  .brand { font-size:23px; }
  .brand-mark { width:36px; height:36px; }
  .brand-mark svg { width:27px; height:27px; }
  .language-control { margin-left:auto; border:0; padding:0; }
  .language-control>span { font-size:8px; }
  .language-control select { font-size:11px; width:98px; }
  .topbar nav { order:3; width:100%; margin:0; justify-content:space-between; padding-top:11px; border-top:1px solid var(--line); gap:12px; font-size:12px; }
  .topbar nav a[href="/#included"] { display:block; }
  .topbar .nav-build span { font-size:14px; margin-left:3px; }
  .hero { width:90%; grid-template-columns:minmax(0,1fr); gap:38px; padding:38px 0 36px; min-height:0; }
  .hero .eyebrow { font-size:9px; letter-spacing:.06em; }
  .eyebrow-line { width:17px; }
  .hero h1 { font-size:52px; max-width:580px; margin:20px 0 21px; }
  .hero-lead { font-size:16px; max-width:530px; }
  .hero-actions { flex-direction:row; align-items:center; gap:20px; }
  .hero-proof { font-size:11px; margin-top:20px; }
  .pack-showcase { max-width:560px; width:100%; margin:0 auto; height:452px; }
  .showcase-sheet { height:329px; left:8%; width:58%; padding:26px; }
  .showcase-sheet h2 { font-size:36px; }
  .sample-brand { margin-bottom:24px; }
  .sample-card-team { width:52%; right:1%; padding:21px; top:148px; }
  .sample-card strong { font-size:20px; }
  .sample-card-team>div:not(:first-child) { font-size:9px; }
  .sample-card-check { width:49%; right:5%; bottom:45px; padding:20px; }
  .sample-card-check p { font-size:10px; }
  .format-strip { padding:21px 5%; display:grid; grid-template-columns:1fr 1fr; gap:10px 25px; }
  .format-strip p { font-size:11px; }
  .builder-section { padding:38px 5% 40px; scroll-margin-top:10px; }
  .builder-head { gap:20px; align-items:start; flex-direction:column; }
  .builder-head h2 { font-size:31px; }
  .builder-head p { font-size:13px; }
  .price-card { padding:0; border:0; display:flex; gap:12px; align-items:center; min-width:0; }
  .price-card small { font-size:9px; margin:0; max-width:80px; }
  .price-card strong { font-size:27px; margin:0; }
  .price-card>span { font-size:10px; margin:0; max-width:98px; }
  .tab-panel { padding:24px; min-height:0; }
  .form-tabs { padding:0 15px; gap:0; }
  .tab { padding:17px 9px 14px; font-size:12px; }
  .tab-panel h3 { font-size:26px; }
  .panel-intro>span { font-size:9px; }
  .panel-intro p { font-size:12px; }
  #packForm label { font-size:12px; }
  #packForm input,#packForm textarea,#packForm select { font-size:16px; min-height:45px; }
  #packForm .check-grid input { min-height:17px; }
  #packForm .style-option input { min-height:18px; }
  .upload-box { flex-direction:column; align-items:flex-start; gap:12px; }
  #packForm .upload-box input { max-width:100%; width:100%; min-height:0; font-size:12px; }
  .upload-box small { font-size:11px; }
  .builder-actions { padding:18px 23px; }
  .check-grid { grid-template-columns:1fr; }
  .check-grid label { font-size:12px!important; }
  .check-grid small { font-size:11px; }
  .panel-title-row { flex-direction:column; align-items:flex-start; }
  .row-grid { grid-template-columns:1fr; }
  .dynamic-row { padding:18px; }
  .summary-card { grid-template-columns:58px 1fr; }
  .summary-card dl { grid-column:1/-1; grid-row:auto; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid #e1e9da; margin-top:15px; padding-top:12px; text-align:center; }
  .summary-card dl div { padding:7px 3px; }
  .summary-card h3 { font-size:21px; }
  .summary-card>p { font-size:12px; }
  .local-note { font-size:11px; }
  .section { width:90%; padding:43px 0; }
  .section-head h2 { font-size:33px; }
  .section-head>p { font-size:14px; }
  .section-head { margin-bottom:29px; }
  .steps { gap:30px 26px; }
  .steps article .step-icon { margin-bottom:17px; }
  .steps p { font-size:13px; }
  .included-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .included-grid article { padding:24px; border-right:1px solid #e3eada; border-bottom:1px solid #e3eada!important; }
  .included-grid article:nth-child(2n) { border-right:0; }
  .included-grid article:nth-child(n+7) { border-bottom:0!important; }
  .included-grid p { font-size:13px; }
  .included-grid h3 { font-size:17px; }
  .resource-section-heading { flex-direction:column; align-items:flex-start; gap:19px; }
  .resource-section-heading h2 br { display:none; }
  .resource-card { padding:25px; min-height:245px; }
  .resource-card h3 { font-size:23px; }
  .resource-card p { font-size:13px; }
  .faq-grid { grid-template-columns:1fr; }
  .faq details { padding:20px; }
  .faq summary { font-size:14px; }
  .faq details p { font-size:14px; }
  footer { padding:35px 5%; gap:18px; }
  .footer-links { font-size:12px; gap:12px 20px; }
  .content-shell { width:90%; padding:27px 0 45px; }
  .content-hero { margin-bottom:28px; padding-bottom:26px; }
  .content-hero h1 { font-size:39px; }
  .content-hero p { font-size:16px; }
  .content-body h2 { font-size:27px; }
  .content-body p,.content-body li { font-size:15px; }
  .content-cta { padding:26px; }
  .content-cta h2 { font-size:28px; }
  .resource-link-grid { grid-template-columns:1fr; }
  .resource-table { font-size:12px; }
  .resource-table th,.resource-table td { padding:13px 9px; }
  .tool-panel { padding:22px; }
  .tool-grid { grid-template-columns:1fr; }
  .tool-intro { flex-wrap:wrap; }
  .tool-controls { padding:19px; }
  .tool-controls input,.tool-controls textarea,.tool-controls select { font-size:16px; }
  .tool-preview { padding:15px; }
  #previewDialog[open] { width:96vw; height:95dvh; max-height:95dvh; margin:auto; border-radius:8px; }
  #previewDialog .dialog-bar { padding:12px 18px; min-height:58px; }
  #previewDialog .dialog-content { padding:12px; }
  #previewDialog .dialog-actions { padding:14px 18px; gap:10px; }
  .dialog-actions .digital-consent { max-width:none; }
  .dialog-actions #checkoutButton,.dialog-actions #downloadPdfButton { width:100%; }
  .is-sample-preview .dialog-actions>.sample-actions { flex-wrap:wrap; gap:10px; }
  .sample-actions .btn { width:100%; }
}
@media screen and (max-width:460px) {
  .hero h1 { font-size:43px; }
  .hero .eyebrow { font-size:8px; letter-spacing:.025em; gap:7px; }
  .hero .eyebrow-line { width:12px; }
  .hero-actions { gap:14px; flex-direction:column; align-items:flex-start; }
  .hero-actions .btn-primary { padding:12px 20px; }
  .hero-proof { font-size:10px; gap:11px; }
  .hero-proof b { font-size:13px; }
  .pack-showcase { height:389px; padding:18px; }
  .showcase-top { font-size:7px; }
  .showcase-sheet { height:292px; top:48px; padding:21px 18px; width:61%; }
  .sample-brand { margin-bottom:18px; }
  .sample-brand b { font-size:8px; }
  .sample-brand>span:last-child { font-size:5px; }
  .sample-doc-label { font-size:6px; }
  .sample-stand { font-size:10px; margin-bottom:12px; }
  .showcase-sheet h2 { font-size:30px; }
  .showcase-sheet p { font-size:9px; margin-top:12px; }
  .sample-contact { left:18px; right:18px; bottom:20px; font-size:6px; }
  .sample-card-team { width:57%; top:125px; right:-1%; padding:15px; }
  .sample-card strong { font-size:17px; margin:11px 0 13px; }
  .sample-card-team>div:not(:first-child),.sample-card-team b { font-size:7px; }
  .sample-card-label { font-size:6px; }
  .sample-card-check { width:53%; right:2%; bottom:43px; padding:14px; }
  .sample-card-check p { font-size:8px; gap:6px; }
  .showcase-caption { font-size:8px; }
  .field-grid.two,.theme-row { grid-template-columns:1fr; }
  .form-tabs { padding:0 9px; }
  .tab { font-size:11px; padding:16px 7px 14px; }
  .tab-panel { padding:22px; }
  .builder-head h2 { font-size:29px; }
  .steps { grid-template-columns:1fr; }
  .steps article { display:grid; grid-template-columns:35px 1fr; gap:0 16px; }
  .steps article .step-icon { grid-row:1/3; margin:0; }
  .steps h3 { margin-bottom:9px; }
  .steps p { grid-column:2; }
  .included-grid article { padding:22px 17px; }
  .included-grid h3 { font-size:16px; }
  .included-grid p { font-size:12px; }
  .resource-grid { grid-template-columns:1fr; }
  .resource-card { min-height:230px; }
  .resource-card h3 { font-size:26px; }
  .content-hero h1 { font-size:35px; }
  .tool-panel { padding:18px; }
}
@media print { .skip-link,.sample-actions { display:none!important; } }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important} }

@media screen {
  .guide-note { padding:24px 28px; margin:28px 0; border-left:3px solid #147467; background:#edf3ee; border-radius:0 10px 10px 0; }
  .guide-note strong { color:#173c37; }
  .planning-table-wrap { overflow-x:auto; margin:28px 0 38px; border:1px solid #d9e3dc; border-radius:12px; }
  .planning-table { width:100%; border-collapse:collapse; min-width:620px; font-size:14px; line-height:1.6; }
  .planning-table caption { text-align:left; padding:16px 20px; color:#53675b; font-size:12px; background:#f6f8f4; }
  .planning-table th { text-align:left; background:#e9efea; color:#173c37; padding:14px 18px; }
  .planning-table td { padding:17px 18px; border-top:1px solid #e3e9e2; vertical-align:top; }
  .planning-table td:first-child { color:#173c37; font-weight:700; min-width:112px; }
  .planning-table tr:nth-child(even) { background:#f8faf7; }
}
