/* Przestrzeń / Panorama — shared presentation layer for every application route.
   Keep business rules, form names, data attributes and authorization in PHP. */
:root {
  --pan-bg:#17191b; --pan-surface:#212427; --pan-raised:#292c2f;
  --pan-text:#f4f2ee; --pan-muted:#b1b2b0; --pan-line:#3b3e40;
  --pan-accent:#d3a071; --pan-cream:#f0ede7; --pan-success:#b5d5b1;
  --ink:var(--pan-text); --muted:var(--pan-muted); --paper:var(--pan-bg);
  --white:var(--pan-surface); --line:var(--pan-line); --sage:#292f2b;
  --cream:var(--pan-raised); --accent:var(--pan-accent);
  --radius:3px; --shadow:none;
  color-scheme:dark; background:var(--pan-bg); color:var(--pan-text);
  font-family:Inter,"Segoe UI",Arial,sans-serif; font-size:16px; line-height:1.65;
}
body { background:var(--pan-bg); color:var(--pan-text); }
h1,h2,h3 { font-family:inherit; font-weight:500; letter-spacing:-.045em; }
h1 { font-size:clamp(2.4rem,4.5vw,4.6rem); line-height:1.08; text-wrap:balance; }
h2 { font-size:clamp(1.8rem,3vw,3rem); line-height:1.16; text-wrap:balance; }
h3 { font-size:1.15rem; line-height:1.45; letter-spacing:-.015em; }
h1 em,h2 em { font-style:normal; color:inherit; font-weight:inherit; }
p { color:inherit; }
a { transition:color .18s; }
a:hover { color:var(--pan-accent); }
img { background:#202325; }
::selection { background:#d3a071; color:#17191b; }
:focus-visible { outline:2px solid #e8b989; outline-offset:5px; }
.pan-intake :focus-visible { outline-color:#343a36; }
input,select,textarea { accent-color:var(--pan-accent); }
button { color:inherit; }
.eyebrow,.arch-index { color:var(--pan-accent); font-size:.75rem; line-height:1.5; letter-spacing:.19em; font-weight:500; display:block; margin-bottom:16px; }
.wrap,.header-inner,.site-footer,.pan-container { width:min(1440px,calc(100% - 112px)); margin-inline:auto; }
.button { min-height:48px; font-size:.875rem; font-weight:500; border-radius:2px; padding:13px 24px; transition:background .18s,border-color .18s; }
.button:hover { transform:none; }
.primary { background:var(--pan-cream); color:#1b1e20!important; border-color:var(--pan-cream); }
.primary:hover { background:#fff; border-color:#fff; }
.secondary,.light { background:transparent; color:var(--pan-text); border-color:#666967; }
.secondary:hover,.light:hover { background:#333638; color:white; border-color:#aaa; }
.text-button { color:var(--pan-muted); background:transparent; }
.text-button:hover { color:white; }
.button:disabled { opacity:.55; }
.compact { min-height:44px; padding:10px 17px; }
.small-text,small,.fine-print,.input-hint { font-size:.8125rem; line-height:1.7; }
.badge { border-radius:2px; background:#333638; color:#e1e2dd; font-size:.75rem; }
.badge.green { color:#cee6c9; background:#304331; }
.badge.large { font-size:.8125rem; }
.muted-badge { color:#c8cac7; background:#323638; }
.notice { background:#293229; border-color:#4f624b; color:#e3ebdd; border-radius:3px; font-size:.875rem; }
.amber { background:#3b3021!important; color:#f2d4a3!important; border-color:#776244!important; }
.error-text { color:#ffb5a9; font-size:.875rem; }
.success-text { color:#badaaf; font-size:.875rem; }
.flash { border-radius:3px; background:#2c3c2c; border-color:#67765b; color:#ecf3e7; font-size:.875rem; }
.flash.error { background:#412925; color:#ffd0c4; border-color:#8f574e; }
.toast { background:var(--pan-cream); color:#17191b; border:1px solid #fff; border-radius:3px; font-size:.875rem; }
.toast a { color:#292f27; font-weight:600; }
.skip-link { background:var(--pan-cream); color:#17191b; }
.site-header { background:var(--pan-bg); border-bottom:1px solid var(--pan-line); }
.header-inner { min-height:90px; gap:28px; }
.brand { gap:12px; letter-spacing:-.05em; font-size:1.5rem; font-weight:500; }
.brand strong { font-weight:650; }
.brand .icon { width:40px; height:40px; stroke-width:1.4; }
.site-header nav { font-size:.875rem; gap:26px; }
.site-header nav>a[aria-current] { box-shadow:0 2px var(--pan-accent); color:var(--pan-text); }
.site-header nav a:hover { color:var(--pan-accent); }
.mobile-menu { color:white; border-color:#727573; border-radius:2px; }
.site-footer { margin-top:70px; padding:36px 0; border-color:var(--pan-line); gap:35px; font-size:.875rem; }
.site-footer>div:last-child { flex-direction:row; flex-wrap:wrap; justify-content:end; align-items:center; column-gap:25px; max-width:780px; }
.site-footer small { flex-basis:100%; text-align:right; }
.site-footer p,.site-footer small { font-size:.8125rem; }
.site-footer .brand.small { font-size:1.35rem; gap:10px; }

/* Home page: real HTML over responsive photographs, never a screenshot of the mockup. */
.panorama-home-page:not(.has-flash) .site-header { position:absolute; top:0; left:0; right:0; background:transparent; border:0; }
.panorama-home-page .nav-start { display:none; }
.pan-hero { position:relative; height:clamp(600px,48vw,790px); background:#1c2731; isolation:isolate; }
.pan-hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 56%; z-index:-2; }
.pan-hero-shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(8,14,20,.38),transparent 68%),linear-gradient(180deg,rgba(5,10,15,.44),transparent 35%,transparent 80%,#17191b77); }
.pan-hero-copy { padding-top:clamp(170px,15vw,230px); }
.pan-hero h1 { color:white; font-size:clamp(3.25rem,4.6vw,5rem); font-weight:450; letter-spacing:-.045em; line-height:1.12; margin:0; max-width:780px; }
.pan-hero-copy>p { font-size:1.125rem; color:#f2f1ef; margin:20px 0 28px; max-width:510px; line-height:1.6; }
.pan-outline { background:#13171936; color:white; border-color:#deded7; min-width:205px; justify-content:space-between; }
.pan-outline:hover { background:#171b1dbb; color:white!important; border-color:white; }
.pan-intake { position:relative; margin-top:-58px; display:grid; grid-template-columns:minmax(0,2.8fr) minmax(220px,1fr); gap:32px; padding:28px 32px; background:var(--pan-cream); color:#1b1e20; border:1px solid #fff4; border-radius:2px; z-index:2; scroll-margin-top:24px; }
.pan-start-form { min-width:0; }
.pan-start-form>label { display:block; font-size:.8125rem; margin-bottom:10px; font-weight:500; }
.pan-input-row { display:flex; gap:14px; }
.pan-input-row input { min-width:0; flex:1; background:#fcfbf9; border:1px solid #c9c7c2; border-radius:0; color:#202325; padding:13px 16px; min-height:50px; font-size:1rem; color-scheme:light; }
.pan-input-row input::placeholder { color:#737570; }
.pan-input-row .primary { background:#191c1e; border-color:#191c1e; color:white!important; min-width:185px; }
.pan-input-row .primary:hover { background:#3c3e3b; }
.pan-intake-note { border-left:1px solid #cbc8c1; padding-left:30px; align-self:center; display:flex; align-items:center; gap:17px; }
.pan-intake-note .icon { width:31px; height:34px; }
.pan-intake-note p { font-size:.875rem; line-height:1.6; margin:0; }
.pan-section-heading { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:25px; }
.pan-section-heading .eyebrow { margin-bottom:10px; }
.pan-examples { padding-top:46px; scroll-margin-top:26px; }
.pan-examples h2 { font-size:clamp(1.85rem,2.55vw,2.65rem); }
.pan-text-link { display:inline-flex; align-items:center; gap:24px; border-bottom:1px solid #7f7367; padding:8px 0; text-decoration:none; font-size:.875rem; }
.pan-text-link .icon { width:20px; }
.pan-example-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.pan-photo-card { display:block; position:relative; aspect-ratio:1.7; overflow:hidden; color:white; background:#272a2a; }
.pan-photo-card img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.pan-photo-card:after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,#090e10bc); }
.pan-photo-card>span { position:absolute; z-index:1; bottom:20px; left:22px; right:22px; display:flex; justify-content:space-between; align-items:center; font-size:1.2rem; font-weight:500; }
.pan-photo-card:hover { color:white; }
.pan-photo-card:hover img { transform:scale(1.025); }
.pan-caption { font-size:.75rem; color:var(--pan-muted); margin:12px 0 0; }
.pan-process { padding-top:37px; padding-bottom:52px; }
.pan-process>.eyebrow { margin-bottom:25px; }
.pan-process-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.pan-process-grid article { display:flex; gap:23px; padding-right:26px; border-right:1px solid #525453; }
.pan-process-grid article:last-child { border:0; padding-right:0; }
.pan-step { font-size:2.5rem; font-weight:300; line-height:1.2; color:#dac5ae; font-variant-numeric:tabular-nums; }
.pan-process h3 { font-size:1rem; margin:2px 0 9px; }
.pan-process p { font-size:.875rem; color:var(--pan-muted); margin:0; line-height:1.75; }
.pan-story { padding:65px 0; border-top:1px solid var(--pan-line); display:grid; grid-template-columns:1.15fr 1fr; gap:8%; align-items:center; }
.pan-story figure { overflow:hidden; }
.pan-story figure img { width:100%; aspect-ratio:1.32; object-fit:cover; }
.pan-story h2 { margin:0 0 25px; }
.pan-story p { color:var(--pan-muted); font-size:1rem; max-width:490px; }
.pan-pricing { display:grid; grid-template-columns:1fr 1fr; gap:9%; padding:65px 0; border-top:1px solid var(--pan-line); }
.pan-pricing>div>p { color:var(--pan-muted); max-width:475px; margin-top:22px; }
.pan-price-table>a { display:grid; grid-template-columns:1fr 1fr auto 20px; align-items:center; gap:16px; padding:21px 0; border-bottom:1px solid var(--pan-line); text-decoration:none; font-size:.9375rem; }
.pan-price-table>a:first-child { border-top:1px solid var(--pan-line); }
.pan-price-table small { color:var(--pan-muted); }
.pan-price-table strong { font-size:1.1rem; white-space:nowrap; font-weight:500; }
.pan-price-table>p { font-size:.8125rem; }
.pan-journal { padding:55px 0 70px; border-top:1px solid var(--pan-line); }
.pan-faq { border-top:1px solid var(--pan-line); padding:65px 0; display:grid; grid-template-columns:.8fr 1.2fr; gap:9%; }
.pan-faq details { border-bottom:1px solid var(--pan-line); padding:20px 0; }
.pan-faq summary { cursor:pointer; display:flex; justify-content:space-between; gap:20px; list-style:none; font-size:1rem; }
.pan-faq summary::-webkit-details-marker { display:none; }
.pan-faq summary:after { content:"+"; color:var(--pan-accent); flex-shrink:0; font-size:1.25rem; }
.pan-faq details[open] summary:after { content:"−"; }
.pan-faq details p { color:var(--pan-muted); font-size:.9375rem; margin:18px 0 0; }
.pan-beta { background:var(--pan-surface); padding:23px 28px; border-left:2px solid #85715b; display:grid; grid-template-columns:160px 1fr; gap:20px; align-items:baseline; }
.pan-beta .eyebrow { margin:0; letter-spacing:.12em; }
.pan-beta p { color:var(--pan-muted); font-size:.875rem; margin:0; }
.pan-closing { display:flex; align-items:center; justify-content:space-between; gap:35px; padding:65px 0 10px; }
.pan-closing h2 { font-size:clamp(1.8rem,2.8vw,2.7rem); }

/* Shared account surfaces, project controls, forms and pricing. */
.workspace { width:min(1340px,calc(100% - 112px)); padding-top:46px; }
.workspace-heading h1 { font-size:clamp(2rem,3.5vw,3rem); }
.workspace-heading p,.surface p,.form-section-title p,.auth-intro p,.check-list li,.discount-explainer p,.prose p { font-size:1rem; }
.workspace-heading,.card-heading { overflow-wrap:anywhere; }
.workspace-heading>.badge { flex-shrink:0; }
.surface,.auth-card,.form-section,.pricing-card,.project-card,.material-card,.admin-project-row,.list-row,.summary-grid>div { background:var(--pan-surface); border-color:var(--pan-line); border-radius:3px; box-shadow:none; }
.surface { padding:28px; }
.surface h2,.form-section h2 { font-size:1.65rem; }
.surface h3 { font-size:1rem; }
.summary-grid>div { border-top:2px solid #7b6957; }
.summary-grid span { font-size:.875rem; }
.summary-grid strong { font:500 2rem/1.1 Inter,"Segoe UI",Arial,sans-serif; }
.empty-state { background:#212527; border-color:#616562; border-radius:3px; }
.empty-state p { font-size:1rem; }
.empty-state>.icon,.empty-mini .icon,.file-preview,.card-heading>.icon { color:var(--pan-accent); }
.accent-surface,.sticky-card,.project-symbol,.empty-mini,.ai-output,.ai-result,.form-section-title>span,.auto-facts>div { background:#2b302d; color:var(--pan-text); border-radius:3px; }
.project-symbol { background:linear-gradient(135deg,#303533,#242a2c); border-bottom:1px solid var(--pan-line); }
.project-symbol>.icon,.project-symbol>span { color:#c4b09b; }
.project-symbol>span,.project-card p,.project-card-bottom { font-size:.8125rem; }
.project-card h2 { font-size:1.6rem; }
.project-card:hover { border-color:#998772; color:var(--pan-text); box-shadow:none; }
.field>span,.check,.manual-parcel,.upload-zone,.upload-zone input,.form-section .input-hint,.auth-links { font-size:.875rem; }
.field input,.field select,.field textarea { background:#181b1d; color:var(--pan-text); border-color:#646865; border-radius:2px; font-size:1rem; min-height:48px; padding:12px 14px; }
.field input::placeholder,.field textarea::placeholder { color:#979c97; }
.field input:disabled,.field textarea:disabled { background:#303335; color:#c1c4bd; opacity:1; }
input[type=file]::file-selector-button { color:var(--pan-text); background:#33383a; border:1px solid #71756d; border-radius:2px; padding:8px 12px; margin-right:12px; cursor:pointer; }
.check input { accent-color:var(--pan-accent); }
.upload-zone { border-color:#797f73; background:#1c2022; border-radius:3px; }
.upload-zone>span,.sticky-card p,.sticky-card ol,.aside-contact,.or-divider { font-size:.875rem; }
.aside-contact { border-color:var(--pan-line); overflow-wrap:anywhere; }
.parcel-result { color:var(--pan-text); background:#212527; border-radius:2px; }
.parcel-result.selected { background:#303e2d; border-color:#a3b88f; }
.parcel-result strong { font-size:.875rem; }
.parcel-result small { font-size:.8125rem; }
.parcel-map { border-radius:3px; }
.parcel-map .leaflet-control { color:#222; color-scheme:light; }
.parcel-map .leaflet-control a { color:#222; }
.placement-plan { background:#edf0e9; border-radius:3px; border-color:#656c63; }
.project-tabs,.admin-nav { gap:4px; }
.project-tabs a,.admin-nav a { font-size:.875rem; padding:14px 18px; }
.project-tabs a[aria-current],.admin-nav a[aria-current] { border-color:var(--pan-accent); color:var(--pan-text); }
.timeline-stage li { color:#aeb6af; font-size:.875rem; }
.timeline-stage li>span { background:#24292a; color:#c3cbc2; border-color:#626d60; }
.timeline-stage li:not(:last-child):before { background:#485145; }
.timeline-stage .current { color:#f2e2ce; }
.timeline-stage .current>span { background:#dec29e; color:#1c211c; border-color:#dec29e; }
.timeline-stage .done { color:#bad2ad; }
.timeline-stage .done>span { background:#354730; color:#dcead4; }
.message { background:#1a1e20; border-color:var(--pan-line); border-radius:3px; }
.message.team-message { background:#2b332d; }
.message p { font-size:1rem; }
.message strong,.message time,.activity-list time { font-size:.8125rem; }
.activity-list li { border-color:var(--pan-line); }
.activity-list p { font-size:.9375rem; }
.activity-dot { background:var(--pan-accent); }
.material-preview,.file-preview { background:#2c3230; }
.material-info h3 { font-size:1rem; }
.material-info p,.material-meta .badge,.material-actions a { font-size:.8125rem; }
.material-actions { flex-wrap:wrap; }
.back-link { font-size:.875rem; }
.auth-layout { gap:80px; padding-top:65px; }
.auth-intro h1 { font-size:clamp(2.8rem,4.5vw,4rem); }
.auth-intro p { max-width:420px; }
.auth-image { border-radius:2px; height:260px; }
.auth-card { padding:36px; }
.auth-card h2 { font-size:2rem; }
.auth-card>.muted { font-size:.9375rem; }
.page-intro { padding-top:60px; }
.pricing-grid { gap:16px; padding-top:28px; }
.pricing-card { padding:30px 20px 24px; }
.pricing-card h2 { font-size:1.9rem; }
.pricing-card .eyebrow { font-size:.75rem; letter-spacing:.12em; }
.pricing-card .button { font-size:.875rem; }
.featured { background:#2b302c; border-color:#b39574; }
.ribbon { border-radius:2px; background:#d1ae86; color:#1b1e19; font-size:.625rem; line-height:1.6; }
.unit-price,.saving { font-size:.8125rem; }
.package-price { font-size:1.8rem; }
.package-details .fine-print { font-size:.875rem; }
.check-list .icon { color:var(--pan-accent); }
.checkout-layout { gap:32px; }
.order-summary dl>div { font-size:.9375rem; }
.admin-project-row p,.admin-project-row small,.list-row p,.ai-output,.ai-evidence { font-size:.875rem; }
.admin-project-row h2 { font-size:1.5rem; }
.prose { max-width:880px; padding-top:55px; }
.prose p { color:#c3c6c1; line-height:1.9; }
.prose h2 { font-size:1.6rem; }
.prose a { color:#e8bb8c; }
.pagination { font-size:.875rem; }
.model-viewer { background:#202729; border-radius:3px; border:1px solid var(--pan-line); }
.model-status { color:var(--pan-text); background:#171b1df0; border:1px solid #555e59; border-radius:3px; font-size:.875rem; }
.viewer-controls .button { font-size:.875rem; background:#212729ed; color:white; }
.viewer-controls button[aria-pressed=true] { background:var(--pan-cream); color:#1b1e20; }
.walk-pad button { color:#f5f3ef; background:#252b2ddd; border-color:#777c74; border-radius:2px; }
.walk-pad button:active { background:#655442; }

/* The magazine uses the same typography and surfaces on public AND moderator pages. */
.magazine-intro,.magazine-list { width:min(1340px,calc(100% - 112px)); margin:auto; }
.magazine-intro { padding:65px 0 35px; }
.magazine-intro h1 { font-size:clamp(2.8rem,5vw,4.6rem); }
.magazine-intro>p { max-width:670px; color:var(--pan-muted); margin:25px 0; font-size:1rem; }
.magazine-nav { display:flex; gap:10px; flex-wrap:wrap; margin-top:30px; }
.magazine-nav a { padding:10px 18px; border:1px solid #555d57; font-size:.875rem; text-decoration:none; }
.magazine-nav a[aria-current] { color:#171b1d; background:var(--pan-cream); border-color:var(--pan-cream); }
.magazine-list,.journal-featured { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; }
.magazine-list { padding:25px 0 60px; }
.journal-card { display:flex; flex-direction:column; align-items:start; border-top:1px solid #777265; padding:24px 0; text-decoration:none; }
.journal-card .journal-category { color:var(--pan-accent); font-size:.75rem; letter-spacing:.15em; }
.journal-card h3 { font-size:1.6rem; letter-spacing:-.035em; line-height:1.25; font-weight:500; margin:25px 0 17px; }
.journal-card p { color:var(--pan-muted); font-size:.9375rem; margin:0 0 26px; }
.journal-card .journal-read { margin-top:auto; font-size:.875rem; display:flex; gap:20px; align-items:center; }
.journal-article { width:min(820px,calc(100% - 48px)); margin:auto; padding:55px 0; }
.journal-article h1 { font-size:clamp(2.25rem,4vw,3.7rem); margin:25px 0; }
.journal-article .article-deck { color:#d1d3cd; font-size:1.2rem; line-height:1.8; }
.journal-meta { display:flex; flex-wrap:wrap; gap:10px 22px; border-bottom:1px solid var(--pan-line); padding:15px 0 25px; color:var(--pan-muted); font-size:.8125rem; }
.journal-article .article-body p { font-size:1.05rem; color:#ced0cb; line-height:1.9; margin:20px 0; }
.journal-article h2 { font-size:1.85rem; margin:40px 0 20px; }
.article-sources { background:var(--pan-surface); padding:25px; margin-top:35px; overflow-wrap:anywhere; }
.article-sources h2 { font-size:1.4rem; margin:0 0 20px; }
.article-sources li { font-size:.9375rem; padding:6px 0; }
.article-next { border-top:1px solid var(--pan-line); margin-top:40px; padding-top:25px; }

/* Responsive reflow also covers authenticated navigation and dense working screens. */
@media(max-width:1200px) {
  .wrap,.header-inner,.site-footer,.pan-container,.workspace,.magazine-intro,.magazine-list { width:calc(100% - 64px); }
  .header-inner { gap:16px; }
  .site-header nav { gap:18px; }
  .brand { font-size:1.35rem; }
  .pan-intake { grid-template-columns:minmax(0,2.4fr) minmax(195px,1fr); gap:22px; padding:24px; }
  .pan-intake-note { padding-left:22px; gap:12px; }
  .pan-input-row .primary { min-width:145px; }
  .pan-process-grid { gap:22px; }
  .pan-process-grid article { gap:17px; padding-right:17px; }
  .pricing-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 16px; }
}
@media(max-width:1100px) {
  .mobile-menu { display:block; flex-shrink:0; }
  .site-header nav { display:none; position:absolute; top:calc(100% - 1px); left:0; right:0; padding:18px 32px; background:#1a1e20; border-bottom:1px solid #62655e; box-shadow:0 16px 30px #0005; flex-direction:column; align-items:stretch; gap:2px; max-height:calc(100dvh - 82px); overflow-y:auto; }
  .site-header nav.open { display:flex; }
  .site-header nav>a { padding:13px 12px; min-height:48px; }
  .site-header .account-link { max-width:none; }
  .site-header .inline-form { display:block; }
  .site-header .inline-form .button { width:100%; justify-content:start; padding:13px 12px; }
  .site-header nav .nav-start { display:inline-flex; margin-top:8px; }
  .site-header nav>a[aria-current] { box-shadow:none; border-left:2px solid var(--pan-accent); }
  .header-inner { min-height:80px; }
}
@media(max-width:900px) {
  .pan-intake { grid-template-columns:1fr; gap:18px; }
  .pan-intake-note { border:0; padding:0; }
  .pan-intake-note br { display:none; }
  .pan-intake-note .icon { width:24px; height:24px; }
  .pan-process-grid { grid-template-columns:1fr; gap:24px; }
  .pan-process-grid article { border:0; padding:0; gap:24px; }
  .pan-process p { max-width:650px; }
  .pan-story { gap:35px; }
  .auth-layout { gap:35px; }
  .auth-card { padding:26px; }
  .pan-faq { gap:40px; }
  .pan-pricing { gap:35px; }
  .projects-grid,.material-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .project-form-layout,.messages-layout { grid-template-columns:minmax(0,1fr); }
  .sticky-card { position:static; }
}
@media(max-width:680px) {
  .wrap,.header-inner,.site-footer,.pan-container,.workspace,.magazine-intro,.magazine-list { width:calc(100% - 40px); }
  .header-inner { min-height:76px; }
  .brand { font-size:1.3rem; gap:9px; }
  .brand .icon { width:34px; height:34px; }
  .site-header nav { padding:14px 20px; max-height:calc(100dvh - 76px); }
  .pan-hero { height:555px; min-height:0; }
  .pan-hero-image { object-position:67% center; }
  .pan-hero-shade { background:linear-gradient(180deg,#10171ee0 0%,#10171e64 37%,transparent 75%,#17191b77),linear-gradient(90deg,#10171e40,transparent); }
  .pan-hero-copy { padding-top:130px; }
  .pan-hero h1 { font-size:clamp(2.5rem,9.5vw,3.5rem); max-width:400px; line-height:1.1; }
  .pan-hero-copy>p { font-size:1rem; max-width:290px; line-height:1.5; margin:18px 0 24px; }
  .pan-outline { min-width:192px; }
  .pan-intake { margin-top:-55px; padding:22px 18px; gap:20px; }
  .pan-input-row { flex-direction:column; gap:12px; }
  .pan-input-row input,.pan-input-row .primary { width:100%; min-height:50px; }
  .pan-intake-note { gap:15px; }
  .pan-intake-note p { font-size:.875rem; }
  .pan-examples { padding-top:32px; }
  .pan-section-heading { display:block; margin-bottom:22px; }
  .pan-section-heading h2 { font-size:2rem; max-width:360px; }
  .pan-section-heading>.pan-text-link { margin-top:16px; }
  .pan-example-grid { grid-template-columns:1fr; gap:14px; }
  .pan-photo-card { aspect-ratio:1.6; }
  .pan-photo-card>span { left:18px; right:18px; bottom:17px; }
  .pan-process { padding-top:36px; padding-bottom:42px; }
  .pan-step { font-size:2.2rem; min-width:45px; }
  .pan-story,.pan-pricing,.pan-faq { grid-template-columns:1fr; padding:42px 0; gap:30px; }
  .pan-story figure img { aspect-ratio:1.3; }
  .pan-story h2,.pan-pricing h2,.pan-faq h2 { font-size:2.25rem; }
  .pan-price-table>a { grid-template-columns:1fr .9fr auto 16px; gap:9px; font-size:.875rem; }
  .pan-price-table strong { font-size:.9375rem; }
  .pan-price-table small { font-size:.75rem; }
  .pan-journal { padding:40px 0; }
  .journal-featured,.magazine-list { grid-template-columns:1fr; gap:16px; }
  .pan-beta { display:block; padding:22px; }
  .pan-beta .eyebrow { margin-bottom:12px; }
  .pan-closing { padding-top:42px; align-items:start; flex-direction:column; gap:24px; }
  .pan-closing .button { width:100%; }
  .site-footer { flex-direction:column; margin-top:45px; padding:28px 0; gap:25px; }
  .site-footer>div:last-child { justify-content:start; gap:15px 22px; }
  .site-footer small { text-align:left; }
  .workspace { padding-top:28px; }
  .workspace-heading { flex-direction:column; align-items:start; gap:20px; }
  .workspace-heading .button { width:100%; }
  .summary-grid { gap:10px; grid-template-columns:1fr; }
  .summary-grid>div { padding:18px 20px; }
  .summary-grid strong { font-size:1.6rem; }
  .project-overview,.projects-grid,.material-grid,.admin-two-columns,.checkout-layout { grid-template-columns:minmax(0,1fr); }
  .surface,.form-section { padding:22px; }
  .surface h2,.form-section h2 { font-size:1.5rem; }
  .project-tabs a,.admin-nav a { padding:13px 15px; }
  .auth-layout { grid-template-columns:1fr; gap:25px; padding-top:35px; }
  .auth-intro h1 { font-size:2.8rem; }
  .auth-intro p { margin:16px 0 0; }
  .auth-image { display:none; }
  .auth-card { padding:25px 22px; }
  .auth-card h2 { font-size:1.8rem; }
  .pricing-grid { grid-template-columns:1fr; gap:28px; }
  .pricing-card { padding:28px; }
  .package-price { font-size:2.1rem; }
  .pricing-card .ribbon { font-size:.6875rem; left:auto; right:18px; padding:6px 12px; }
  .page-intro { padding-top:38px; }
  .package-details { padding-top:40px; gap:25px; grid-template-columns:1fr; }
  .package-details h2 { font-size:1.9rem; }
  .two-fields { grid-template-columns:1fr; }
  .search-field { flex-direction:column; }
  .button-row { gap:12px; }
  .button-row .button { width:100%; }
  .filter-bar { flex-wrap:wrap; gap:15px; }
  .filter-bar>.field { min-width:0; flex:1 1 100%; }
  .filter-bar .button { width:100%; }
  .upload-form>.field { min-width:0; flex-basis:100%; }
  .prose { padding-top:36px; }
  .prose h1 { font-size:2.7rem; }
  .prose p { font-size:1rem; }
  .magazine-intro { padding:38px 0 25px; }
  .magazine-intro h1 { font-size:2.9rem; }
  .journal-article { padding-top:30px; }
  .journal-article h1 { font-size:2.35rem; }
  .journal-article .article-deck { font-size:1.1rem; }
  .model-viewer { border-radius:3px; }
  .viewer-controls { flex-wrap:wrap; }
  .viewer-controls .button { font-size:.8125rem; min-height:44px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}
@media print {
  :root,body { color:#111; background:#fff; color-scheme:light; }
  .site-header,.site-footer,.mobile-menu,.pan-hero,.pan-intake,.pan-closing { display:none; }
  .surface,.auth-card,.form-section,.pricing-card,.project-card,.notice,.pan-beta { color:#111; background:#fff; border-color:#aaa; }
  p,.muted,.fine-print,.input-hint { color:#333!important; }
}
.model-inputs{margin-block:2rem;padding-top:1.5rem;border-top:1px solid var(--line,#d6d9cc)}
.model-input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-block:18px}
.model-input-item{padding:18px;border:1px solid var(--line,#d6d9cc);border-radius:12px;min-width:0}
.model-input-item h4{margin:0 0 6px;font-size:1rem}.model-input-item p{margin:12px 0 0;font-size:.9rem;line-height:1.65}
.model-inputs li{overflow-wrap:anywhere}.model-inputs details{margin-block:18px}
@media(max-width:640px){.model-input-grid{grid-template-columns:1fr}.model-input-item{padding:15px}}
