/* Proposal layout adapter. Brand tokens, font definitions and semantic type
   come unchanged from pm-website/project/styles. No separate brand palette. */
:root{--body:var(--font-body);--mono:var(--font-mono)}
body{font-family:var(--font-body);font-size:var(--pm-type-body);line-height:1.5;background:var(--pm-white)}
.wrap{width:min(1200px,calc(100% - 96px))}
.section{padding-block:var(--pm-section-gap-lg)}
#root p{font-size:var(--pm-type-body-sm);line-height:1.55}
#root :is(.hero-lead,.hero-description,.section-heading>p:last-child,.ownership-heading>p:last-child){font-size:var(--pm-type-body);line-height:1.6;max-width:60ch}
#root .hero-lead{color:var(--pm-slate);letter-spacing:0}
#root :is(.mono,.micro,.idea-number,.capability-num,.cost-num,.connector span,.eyebrow){font-family:var(--font-mono);font-size:var(--pm-type-caption);font-weight:600;line-height:1.5;letter-spacing:.04em}
#root :is(.text-link,.prepared,nav,.hero-footnote,.visual-footer,.illustrative,.pill,.tabs button,.demo-tabs button,.demo-bottom>span,.demo-fields span,.next-step,.filters button,.idea-card summary,.research-notes>summary,.source-links a,.tools-note,.back-top){font-size:var(--pm-type-caption);line-height:1.5}
#root .hero-footnote{gap:8px;flex-wrap:wrap}
#root :is(.hero-footnote,.illustrative,.pill,.visual-footer,.demo-fields span,.demo-tabs button,.next-step,.filters button){font-family:var(--font-mono)}
#root .tool strong{font-size:var(--pm-type-body-sm);font-weight:400}
#root .tool>span:last-child{font-size:var(--pm-type-caption);line-height:1.55}
#root .demo-fields strong{font-size:var(--pm-type-body-sm);line-height:1.5;font-weight:400}
#root .demo-insight{font-size:var(--pm-type-caption);line-height:1.55}
#root :is(.flow-input strong,.flow-output strong){font-size:var(--pm-type-body-sm);line-height:1.4;font-weight:400}
#root .ai-node strong{font-size:var(--pm-type-title);font-weight:400;line-height:1.3;letter-spacing:-.015em}
#root .ai-node p{font-size:var(--pm-type-caption);line-height:1.55}
#root .process h3{font-size:20px;font-weight:400;line-height:1.3}
#root .process li>span{font:600 var(--pm-type-caption)/1.5 var(--font-mono)}
#root .engagement-pair h4{font-size:20px;line-height:1.3;font-weight:400}
#root .section-heading p{margin-top:20px}
#root .eyebrow{color:var(--pm-slate)}
.site-header{background:var(--pm-white);border-bottom:1px dashed var(--color-border)}
.header-inner{max-width:1280px;height:72px;gap:20px}
.brand{width:206px}
.prepared,nav{font-size:12px;line-height:1.5}
#root nav a{color:var(--pm-slate);text-decoration:none}
#root nav a:hover{color:var(--pm-ink);text-decoration:none}
.nav-ideas{border-color:var(--color-border);border-radius:var(--radius-md)}
.hero{background:var(--pm-white);border:1px solid var(--color-border);border-top:6px solid var(--color-border);border-radius:6px 6px 0 0;padding:56px 48px 64px;margin-top:24px;gap:48px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
#root .hero h1{font-family:var(--font-h1);font-size:var(--font-size-h1);font-weight:500;line-height:1.1;letter-spacing:-.035em;text-wrap:balance}
#root .hero h1 span{color:var(--pm-ink);background:var(--pm-secondary-surface);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.hero-copy,.hero-visual,.custom-intro,.product-explorer,.ownership-content,.featured-copy,.demo,.idea-card{min-width:0}
.hero-visual{border-color:var(--color-border);border-radius:6px;box-shadow:none}
.visual-header{gap:12px;flex-wrap:wrap;padding:16px 20px}
#root .visual-header .mono{font-size:12px}
.visual-canvas{padding:24px;background-color:var(--pm-snow);background-size:16px 16px}
.flow-input,.flow-output{padding:16px;border-color:var(--color-border);border-radius:6px}
.flow-input{width:100%}
.flow-output{margin-left:0}
.flow-icon{width:36px;height:36px;flex-shrink:0;border-color:var(--color-border);border-radius:2px}
.connector{height:48px;margin-left:24px}
.connector span{margin-left:12px}
.ai-node{padding:24px 20px;gap:16px;border-radius:6px}
.ai-logos{width:62px;flex-shrink:0}
.output-mark{flex-shrink:0}
.visual-footer{padding:16px 20px}
.foundation{background:var(--pm-snow);border-color:var(--color-border)}
.foundation-inner{padding-block:24px;gap:20px;flex-wrap:wrap}
#root .foundation .mono{font-size:12px}
#root .foundation-inner>span:not(.mono){font-size:12px}
#root .button{font:600 13px/1.3 var(--font-mono);letter-spacing:.06em;min-height:48px;padding:14px 22px;border-radius:6px;background:var(--pm-ink);color:var(--pm-white);border:0;text-decoration:none;gap:12px}
#root .button:hover{background:var(--pm-glacier-blue);color:var(--pm-white)}
#root .button:active{background:var(--pm-glacier-deep)}
#root a.text-link{color:var(--pm-glacier-blue);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
#root a.text-link:hover{color:var(--pm-glacier-deep)}
#root :is(.button,.menu-toggle,.tabs button,.demo-tabs button,.filters button){touch-action:manipulation}
.custom-offer,.featured-idea{border-color:var(--color-border);border-radius:6px}
.custom-intro{background:var(--pm-snow);padding:32px}
.product-explorer{padding:32px}
#root .pill.blue{background:var(--pm-secondary-surface);color:var(--pm-slate);border:1px solid var(--color-border);border-radius:2px}
#root .pill.white{color:var(--pm-glacier-blue);background:var(--pm-white);border-radius:2px}
.tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px;background:var(--pm-secondary-surface);border:1px solid var(--color-border);border-radius:6px}
#root .tabs button{white-space:normal;padding:12px 8px;min-height:56px;border:1px solid #c5d0df;border-radius:3px;background:var(--pm-white);color:var(--pm-slate);font:400 var(--pm-type-caption)/1.4 var(--font-body);margin:0;box-shadow:0 2px 0 #dce4ee}
#root .tabs button[aria-selected=true]{background:var(--pm-glacier-blue);color:var(--pm-white);border-color:var(--pm-glacier-blue);box-shadow:0 2px 0 #092ca4}
.product-panel{padding-top:24px}
.panel-intro{min-height:0}
.capability{gap:20px;padding-block:24px;border-color:var(--color-border)}
.engagement-pair{padding:32px;border-color:var(--color-border);border-radius:6px;gap:24px}
.tools-section{background:var(--pm-snow);border-color:var(--color-border)}
.tool-grid{background:var(--pm-white);border-color:var(--color-border);border-radius:6px}
.tool{padding:24px;border-color:var(--color-border)}
.tool-logo{height:54px}
.ownership-block{gap:64px;grid-template-columns:.9fr 1.25fr}
.ownership-content{padding:32px;border-radius:6px;background:var(--pm-glacier-blue)}
#root .ownership-content>p{font-size:var(--pm-type-body-sm)}
#root .pm-on-glacier :is(p,h3,h4,.micro,.cost-num){color:var(--pm-white)}
.cost-row{gap:16px;margin-top:24px;padding-top:24px}
#root .ownership-content h3{margin-top:24px}
.process-heading{padding-top:64px;align-items:flex-start}
#root .process-heading .eyebrow{margin:0}
.process{border-color:var(--color-border)}
.process li{padding-top:24px}
.process li+li{border-color:var(--color-border)}
.discussion{padding:32px;background:var(--pm-snow);border-color:var(--color-border);border-radius:6px}
.ideas-section{background:var(--pm-snow);border-color:var(--color-border)}
.featured-copy{padding:32px}
.demo{background:var(--pm-secondary-surface);border-color:var(--color-border)}
.demo-heading{flex-wrap:wrap;padding:20px 24px;border-color:var(--color-border)}
.demo-tabs{gap:4px;padding-inline:24px;border-color:var(--color-border)}
#root .demo-tabs button{padding-block:16px;white-space:normal}
.demo-panel{margin:24px;padding:24px;min-height:380px;border-color:var(--color-border);border-radius:6px}
.demo-fields{gap:20px;border-color:var(--color-border)}
.demo-insight{background:var(--pm-snow);color:var(--pm-slate);padding:12px}
#root .demo-fields .needs-check{color:var(--pm-slate)}
.demo-bottom{padding:0 24px 24px;align-items:flex-start}
#root .demo-bottom>span{max-width:240px}
.next-step{padding:0;min-height:36px}
.idea-grid-heading{align-items:center;flex-wrap:wrap;gap:24px}
#root .filters button{padding:10px 14px;min-height:40px}
.idea-card{padding:28px;border-color:var(--color-border);border-radius:6px;background:var(--pm-white)}
#root .idea-card>p{min-height:0}
#root .idea-detail p{font-size:var(--pm-type-body-sm)}
#root .idea-detail a{font-size:var(--pm-type-caption)}
.idea-card>details{border-color:var(--color-border);padding-top:16px}
#root .idea-card summary{min-height:28px}
.idea-end{padding:28px}
.measure{border-color:var(--color-border)}
.research-notes{border-color:var(--color-border)}
#root .research-notes p{font-size:var(--pm-type-body-sm)}
#root .site-footer p,#root .site-footer a{font-size:12px}
#root .site-footer p{color:var(--pm-slate)}
#root :is(a,button,summary,[tabindex="0"]):focus-visible{outline:2px solid var(--pm-glacier-blue);outline-offset:4px}
@media(max-width:1100px){.header-inner{gap:16px}.prepared{display:none}.header-divider{display:none}.hero{gap:32px;padding:40px 32px}.ownership-block{gap:40px}.product-explorer,.custom-intro{padding:24px}.tool{padding:20px}.tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.featured-copy{padding:28px}.demo-panel{margin:20px;padding:24px}.demo-heading{padding:20px}.tools-heading,.ideas-heading{gap:40px}}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}.section{padding-block:var(--pm-section-gap-mobile)}.header-inner{width:calc(100% - 48px);height:72px}.brand{width:190px}.menu-toggle{display:flex;align-items:center;gap:16px;margin-left:auto;background:var(--pm-white);border:1px solid var(--color-border);border-radius:4px;padding:8px 12px;min-height:40px;font:600 12px/1.5 var(--font-mono)}nav{display:none;position:absolute;top:71px;left:-24px;right:-24px;flex-direction:column;align-items:stretch;margin:0;padding:16px 24px;background:var(--pm-white);border-bottom:1px solid var(--color-border);gap:0}.header-inner{position:relative}nav.open{display:flex}#root nav a{padding:12px 4px;font-size:14px}.hero{grid-template-columns:1fr;padding:40px 32px;gap:32px}.hero-visual{max-width:560px;width:100%;margin-inline:auto}.hero-description{max-width:60ch}.tools-heading,.ideas-heading{display:block}.tools-heading>p:last-child,.ideas-heading>p:last-child{max-width:60ch;margin-top:20px}.custom-offer{grid-template-columns:1fr}.custom-intro{border-right:0;border-bottom:1px solid var(--color-border)}.custom-intro h3 br{display:none}.custom-intro>p{max-width:60ch}.product-explorer{padding:24px}.ownership-block{grid-template-columns:1fr;gap:32px}.ownership-heading>p:last-child{max-width:60ch}.process{grid-template-columns:1fr 1fr;row-gap:24px}.process li,.process li+li{padding:24px 20px 0 0;border-left:0}.process li:nth-child(even){padding-left:24px;border-left:1px solid var(--color-border)}.process-heading{display:block}.process-heading>p:last-child{margin-top:12px}.discussion{display:block}.discussion .button{margin-top:24px}.featured-idea{grid-template-columns:1fr}.demo{border-left:0;border-top:1px solid var(--color-border)}.featured-copy{padding:32px}.demo-panel{min-height:0}.idea-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.engagement-pair{gap:20px}.foundation-inner{gap:16px}.foundation-inner>.mono{width:100%}}
@media(max-width:600px){.wrap{width:calc(100% - 48px)}.header-inner{width:calc(100% - 48px)}.brand{width:180px}.hero{padding:32px 24px;margin-top:24px}.hero .eyebrow{gap:8px;align-items:flex-start}.hero .tiny-square{margin-top:6px;flex-shrink:0}#root .hero .eyebrow{font-size:12px}.hero-lead{margin-top:24px}.hero-description{margin-top:16px}.actions{gap:20px;margin-top:24px;align-items:flex-start;flex-direction:column}#root .hero-footnote{font-size:12px;gap:8px}.hero-visual{width:100%}.visual-canvas{padding:16px}.visual-header{padding:16px}.ai-node{gap:12px!important;padding:20px 16px;flex-wrap:wrap}.ai-logos{width:auto}.flow-input,.flow-output{gap:12px;padding:16px}.flow-icon{width:28px;height:28px}.visual-footer{padding:16px}.foundation-inner{display:flex;flex-direction:column;align-items:flex-start;padding-block:24px}.foundation-inner>span:last-child{grid-column:auto}.custom-intro,.product-explorer{padding:24px}.tabs{gap:6px;padding:6px}#root .tabs button{font-size:12px;padding:12px 6px}.engagement-pair{padding:24px;grid-template-columns:1fr 36px}.tools-section .tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tool{padding:24px 16px}.ownership-content{padding:28px 24px}.cost-row{gap:12px}.process li{min-width:0}.process li:nth-child(even){padding-left:20px}.discussion{padding:24px}.featured-copy{padding:28px 24px}.demo-heading{padding:16px;gap:12px}.demo-tabs{padding-inline:12px}#root .demo-tabs button{font-size:12px;padding:14px 2px}.demo-panel{margin:16px;padding:24px}.demo-fields{gap:16px}.demo-bottom{padding:0 16px 20px;flex-direction:column;gap:12px}.idea-grid{grid-template-columns:1fr}.idea-card{padding:24px}.idea-grid-heading{margin-top:32px}.filters{gap:4px}#root .filters button{padding:10px 12px}.idea-end{padding:24px 0 0}.site-footer{gap:20px}.site-footer p{margin-left:0}.site-footer>a:first-child{width:190px}.source-links{gap:16px}.visual-header .illustrative{font-size:12px}.foundation .mono{white-space:normal}}
@media print{.section{padding-block:32px}.hero{padding:24px}.site-header{position:static}}

/* Concept-only restaurant ideas: short introductions without walkthroughs. */
.featured-idea.concept-only{display:block}
.concept-only .featured-copy{max-width:900px}

/* Category explanations use one shared example, rather than feature lists. */
.custom-offer.category-overview{display:block}
.category-overview-head{padding:28px 32px;border-bottom:1px solid var(--color-border);background:var(--pm-snow);display:flex;align-items:center;justify-content:space-between;gap:32px}
#root .category-overview-head p{margin-top:12px;color:var(--pm-slate)}
.category-example-label{font-size:var(--pm-type-body-sm);max-width:340px;line-height:1.55;color:var(--pm-slate)}
.category-example-label .micro{display:block;margin-bottom:8px;color:var(--pm-slate)}
.category-overview .product-explorer{padding:32px}
.category-overview .tabs{max-width:780px;margin:0 auto}
.category-explanation{max-width:760px;margin:8px 0 32px}
.category-explanation>.micro{display:block;margin-bottom:12px;color:var(--pm-slate)}
#root .category-explanation h3{font-size:var(--pm-type-title-lg);margin-bottom:12px}
#root .category-explanation p{color:var(--pm-slate);font-size:var(--pm-type-body);line-height:1.6}
.category-pipeline{margin:0;padding:28px;background:var(--pm-snow);border:1px solid var(--color-border);border-radius:6px}
.pipeline-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding:0;margin:0;list-style:none}
.pipeline-stages li{position:relative;min-width:0;padding:24px 20px;background:var(--pm-white);border:1px solid var(--color-border);border-radius:6px;display:flex;flex-direction:column;align-items:flex-start}
.pipeline-stages li:not(:last-child)::after{content:'→';position:absolute;right:-25px;top:50%;transform:translateY(-50%);color:var(--pm-steel);font:600 20px/1 var(--font-mono);width:20px;text-align:center}
.pipeline-step{font:600 var(--pm-type-caption)/1.5 var(--font-mono);color:var(--pm-slate);margin-bottom:20px}
.pipeline-stages strong{font:400 var(--pm-type-body)/1.4 var(--font-body);letter-spacing:-.015em}
#root .pipeline-stages p{font-size:var(--pm-type-caption);line-height:1.55;margin-top:10px;color:var(--pm-slate)}
.pipeline-stages .pipeline-highlight{background:var(--pm-glacier-blue);border-color:var(--pm-glacier-blue)}
#root .pipeline-caption{margin-top:24px;padding-top:20px;border-top:1px solid var(--color-border);font-size:var(--pm-type-body-sm);line-height:1.6;color:var(--pm-slate)}
.pipeline-caption .micro{display:block;margin-bottom:8px;color:var(--pm-slate)}
#root .category-overlap{margin-top:24px;color:var(--pm-slate);font-size:var(--pm-type-caption)}
@media(max-width:900px){.category-overview-head{align-items:flex-start}.pipeline-stages{grid-template-columns:1fr;gap:28px}.pipeline-stages li{padding:20px 24px;display:grid;grid-template-columns:140px 1fr;column-gap:20px;align-items:center}.pipeline-step{grid-column:1;grid-row:1/3;margin:0}.pipeline-stages strong{grid-column:2}.pipeline-stages p{grid-column:2}.pipeline-stages li:not(:last-child)::after{content:'↓';right:auto;left:50%;top:auto;bottom:-25px;transform:translateX(-50%)}.category-pipeline{padding:24px}}
@media(max-width:600px){.category-overview-head{display:block;padding:24px}.category-example-label{display:block;max-width:none;margin-top:24px;padding-top:20px;border-top:1px solid var(--color-border)}.category-overview .product-explorer{padding:20px}.category-explanation{margin-top:8px;margin-bottom:24px}.category-pipeline{padding:16px}.pipeline-stages li{display:flex;padding:20px}.pipeline-step{margin-bottom:12px}.pipeline-stages strong{font-size:var(--pm-type-body)}.category-overview .tabs{max-width:none}}
