/* A single viewport-sized product demonstration, with the model as the main subject. */
.product-section{width:min(1380px,92%);max-width:none;height:calc(100svh - 88px);max-height:850px;min-height:550px;margin:0 auto;padding:25px 0 30px;display:flex;flex-direction:column;gap:22px;scroll-margin-top:88px}.product-heading{flex:none}.product-heading h2{margin:0;font-size:clamp(26px,2.2vw,37px);line-height:1.25;letter-spacing:-.04em!important}.product-heading h2 span{color:#789462}.product-demo{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,2.05fr) minmax(260px,1fr);grid-template-rows:auto minmax(0,1fr);border:1px solid #d8e2cc;border-radius:24px;background:#edf3e5;overflow:hidden;gap:0}.demo-tabs{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:12px;border-bottom:1px solid #d8e2cc;background:#f3f6ed}.demo-tabs .mode{display:flex;align-items:center;justify-content:center;gap:0;padding:13px 16px;min-height:48px;margin:0;border:1px solid transparent;border-radius:10px;background:transparent;color:#728565;font-size:17px;line-height:1.1;font-weight:550;text-align:center;transition:background .18s,color .18s}.demo-tabs .mode:hover{background:#e9f0de;color:#3c5d28}.demo-tabs .mode[aria-pressed=true]{color:#fff;background:#577b39;border-color:#577b39;box-shadow:inset 0 1px 0 #ffffff17}.demo-tabs .mode:disabled{opacity:.55}.demo-tabs .mode:focus-visible{outline:2px solid #8dad6a;outline-offset:2px}.demo-visual{grid-column:1;grid-row:2;display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;min-width:0;border-right:1px solid #d9e3ce;background:#edf3e5}.stage{height:auto;min-height:0;background:radial-gradient(ellipse at 48% 45%,#fbfcf7,#edf3e5 74%)}.loading-label{font-size:11px;color:#6c805e;bottom:12px;left:22px;right:22px}.loading-label.is-ready{display:none}.scene-controls{min-height:57px;gap:8px;padding:10px 18px;border-top:1px solid #d9e3ce;align-items:center;background:#edf3e5}.scene-controls button{font-size:13px;padding:9px 13px;min-height:36px;border:1px solid #c7d6b8;border-radius:8px;color:#53703d}.scene-controls button:last-child{margin-left:auto;border-color:transparent;color:#70875c}.demo-summary{grid-column:2;grid-row:2;display:flex;flex-direction:column;justify-content:space-between;gap:18px;padding:clamp(24px,2.6vw,42px);background:#e7efdc;min-height:0;overflow:auto}.demo-summary h3{margin:0 0 17px;font-size:clamp(23px,2vw,31px);line-height:1.15;font-weight:650;letter-spacing:-.035em;color:#344d29}.demo-summary .summary-copy>p{margin:0;font-size:clamp(15px,1.18vw,18px);line-height:1.6;color:#647c50}.demo-fact{padding:20px 0;border-top:1px solid #ccdcb9;border-bottom:1px solid #ccdcb9;display:flex;flex-direction:column;gap:8px}.demo-fact strong{font-family:Unbounded,Onest,sans-serif;font-weight:450;font-size:clamp(25px,2.55vw,41px);line-height:1.2;letter-spacing:-.045em;color:#557b36;overflow-wrap:anywhere}.demo-fact span{font-size:14px;line-height:1.5;color:#6f855b}.demo-summary #demo-context{margin:0;font-size:13px;line-height:1.65;color:#748764;max-width:none}#analysis-key{bottom:12px;left:18px;background:#fafff2e8;border:1px solid #e4ebda;font-size:10px;width:175px}#missing-marker{font-size:23px;width:39px;height:39px;line-height:36px;box-shadow:0 3px 14px #7483431a}
@media(min-width:761px) and (max-height:720px){.product-section{min-height:490px;padding:18px 0 20px;gap:15px}.product-heading h2{font-size:27px}.demo-tabs{padding:8px}.demo-tabs .mode{padding:11px;min-height:42px;font-size:15px}.demo-summary{padding:23px;gap:13px}.demo-summary h3{font-size:24px;margin-bottom:12px}.demo-summary .summary-copy>p{font-size:15px}.demo-fact{padding:13px 0}.demo-fact strong{font-size:30px}.demo-summary #demo-context{font-size:12px}}
@media(max-width:1050px) and (min-width:761px){.product-demo{grid-template-columns:minmax(0,1.55fr) minmax(250px,1fr)}.demo-summary{padding:25px}.scene-controls{padding:10px}.scene-controls button{font-size:11px;padding:8px 10px}.demo-summary h3{font-size:25px}.demo-summary .summary-copy>p{font-size:16px}.demo-fact strong{font-size:30px}}
@media(max-width:760px){.product-section{width:calc(100% - 24px);height:auto;max-height:none;min-height:0;padding:28px 0 48px;gap:19px;scroll-margin-top:88px}.product-heading{padding:0 8px}.product-heading h2{font-size:clamp(21px,5.4vw,30px);line-height:1.3;max-width:95%}.product-demo{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto;flex:none;border-radius:20px}.demo-tabs{grid-column:1;grid-row:1;gap:3px;padding:8px}.demo-tabs .mode{font-size:13px;padding:12px 6px;min-height:44px;border-radius:8px}.demo-visual{grid-column:1;grid-row:2;border-right:0;border-bottom:1px solid #d8e2cc;grid-template-rows:clamp(230px,36svh,340px) auto}.stage{height:100%;min-height:0}.scene-controls{min-height:51px;padding:8px 10px;gap:4px;flex-wrap:nowrap}.scene-controls button{font-size:11px;min-height:35px;padding:8px 9px;white-space:nowrap}.demo-summary{grid-column:1;grid-row:3;overflow:visible;display:grid;grid-template-columns:1.3fr 1fr;gap:15px;padding:22px;align-items:center}.demo-summary h3{font-size:23px;margin:0;line-height:1.15}.demo-summary .summary-copy>p{display:none}.demo-fact{padding:0 0 0 14px;border:0;border-left:1px solid #c5d6b1;gap:5px}.demo-fact strong{font-size:clamp(20px,5.2vw,28px);line-height:1.3}.demo-fact span{font-size:12px;line-height:1.4}.demo-summary #demo-context{grid-column:1/-1;font-size:13px;line-height:1.55;margin:0}#analysis-key{left:12px;bottom:10px;width:150px;font-size:9px}.loading-label{font-size:10px;left:15px}.product-section+.assistant-section{padding-top:10px}}
@media(max-width:380px){.demo-summary{padding:18px;gap:13px;grid-template-columns:1.1fr 1fr}.demo-summary h3{font-size:21px}.demo-fact strong{font-size:20px}.scene-controls button{font-size:10px;padding:8px}.demo-tabs .mode{font-size:12px}.demo-visual{grid-template-rows:230px auto}}
@media(prefers-reduced-motion:reduce){.demo-tabs .mode{transition:none}}

@media(max-width:760px){.product-section{padding-top:22px;padding-bottom:30px;gap:17px}.product-heading h2{max-width:none}.demo-summary{padding:20px;gap:12px}.demo-summary #demo-context{font-size:12px}}@media(max-width:760px) and (max-height:740px){.demo-visual{grid-template-rows:210px auto}.demo-summary{padding:17px}.demo-summary h3{font-size:21px}.demo-summary #demo-context{font-size:12px}.product-section{padding-top:18px;padding-bottom:22px}}

/* Long print sequence has explicit controls and stays compact on a phone. */
.is-printing .scene-controls{gap:6px}.is-printing .scene-controls button{padding:9px 11px}.is-printing #print-toggle{background:#587c3a;color:#fff;border-color:#587c3a}.is-printing .demo-fact strong{font-variant-numeric:tabular-nums;font-size:clamp(27px,2.65vw,42px)}@media(max-width:760px){.is-printing .scene-controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;padding:8px 10px}.is-printing .scene-controls button{font-size:12px;min-height:40px;padding:8px 5px}.is-printing .scene-controls #demo-details{grid-column:1/-1;justify-self:center;margin:0;min-height:28px;padding:3px 10px;font-size:11px}.is-printing .demo-visual{grid-template-rows:clamp(260px,38svh,340px) auto}.is-printing .demo-summary{padding:18px 20px}.is-printing .demo-fact strong{font-size:26px}}@media(max-width:760px) and (max-height:740px){.is-printing .demo-visual{grid-template-rows:240px auto}.is-printing .demo-summary #demo-context{font-size:11px}.is-printing .demo-summary{padding:16px 18px}}

/* The document already offsets anchors for the sticky header. */
.product-section{scroll-margin-top:0}@media(max-width:760px){html{scroll-padding-top:74px}.product-section{scroll-margin-top:0}}
