/* Nest Studio / public experience. Existing form and utility styles are retained. */
.experience { --max:1600px; }
.experience .section-shell { max-width:var(--max); margin-inline:auto; }
.experience h1,.experience h2,.experience h3 { font-weight:500; }
.experience p { text-wrap:pretty; }
.experience img,.experience svg { max-width:100%; }
.experience figure { margin:0; }
.experience .site-header { grid-template-columns:1fr auto 1fr; padding-inline:var(--pad); background:var(--bg); border-bottom:1px solid var(--line); backdrop-filter:none; }
html.menu-open .experience .site-header { background:var(--ink); color:var(--bg); }
.experience .lang-switch { min-width:44px; min-height:44px; justify-content:center; }
.experience .mobile-menu { overflow-y:auto; }
.experience .brand { gap:10px; font-size:15px; letter-spacing:.08em; }
.experience .brand img { flex-shrink:0; }
.experience .header-cta { font-size:12px; }
.experience .desktop-nav { display:flex; gap:24px; font-size:12px; }
.experience .reveal,.experience .reveal:not(.in-view) { opacity:1!important; transform:none!important; visibility:visible!important; }
.experience .contact-copy h2,.experience .contact-copy .contact-lead,.experience .contact-copy .contact-paths { opacity:1!important; clip-path:none!important; transform:none!important; }
.hero-composition>*,.concept>*,.pillar>*,.solution-opening>*,.contact-shell>* { min-width:0; }
.studio-hero { padding-top:134px; padding-bottom:28px; }
.hero-topline,.hero-baseline,.system-caption { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.studio-signature,.system-caption,.hero-baseline { font:10px/1.4 'Courier New',monospace; letter-spacing:.09em; }
.hero-composition { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:3vw; padding:55px 0 60px; }
.experience .hero-editorial h1 { font-size:clamp(62px,7.5vw,116px); line-height:.92; letter-spacing:-.075em; margin:0 0 30px; max-width:850px; }
.hero-prelude { display:block; font:400 clamp(19px,2.3vw,34px)/1.25 Georgia,serif; letter-spacing:-.035em; margin-bottom:22px; }
.experience .hero-editorial h1 em { font-weight:400; font-family:Georgia,'Times New Roman',serif; letter-spacing:-.065em; color:var(--accent); }
.studio-lead { max-width:560px; font-size:clamp(16px,1.5vw,20px); line-height:1.55; }
.studio-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:30px; }
.experience .button { border-radius:0; min-height:52px; font-size:13px; }
.experience .button-primary { background:var(--accent); color:white; }
.experience .button-primary:hover { background:#183fcd; }
.studio-text-link { display:inline-flex; align-items:center; gap:18px; border-bottom:1px solid currentColor; padding-bottom:5px; font-size:13px; line-height:1.5; }
.studio-text-link span { transition:transform .2s; }
.studio-text-link:hover span { transform:translate(3px,-3px); }
.intent-system { position:relative; padding:20px; border:1px solid var(--line); background:#ece9df; }
.system-caption { font-size:9px; }
.intent-system svg { display:block; width:100%; height:auto; aspect-ratio:600/540; }
.intent-system figcaption { font:11px/1.5 'Courier New',monospace; border-top:1px solid var(--line); padding-top:12px; }
.intent-system .svg-small { font-size:13px; }
.hero-baseline { border-top:1px solid var(--line-strong); padding-top:22px; font-size:11px; }
.chapter-heading { max-width:930px; }
.chapter-heading h2 { font-size:clamp(37px,5.1vw,78px); line-height:1.04; letter-spacing:-.06em; margin:20px 0 24px; }
.chapter-heading>p { max-width:640px; font-size:18px; line-height:1.6; color:var(--muted); margin:0; }
.pillars-section { padding-block:115px 120px; }
.pillar-list { margin-top:70px; }
.pillar { display:grid; grid-template-columns:50px 1fr 1fr; gap:24px; border-top:1px solid var(--line-strong); padding:34px 0 42px; }
.pillar:last-child { border-bottom:1px solid var(--line-strong); }
.pillar-index { font:12px 'Courier New',monospace; padding-top:7px; color:var(--accent); }
.pillar-title h3 { font-size:clamp(24px,3vw,44px); letter-spacing:-.05em; line-height:1.05; margin:0 0 16px; max-width:340px; }
.pillar-title>p { font:italic 20px/1.35 Georgia,serif; max-width:300px; margin:0; }
.pillar-description>p { font-size:16px; line-height:1.6; margin:0; max-width:520px; }
.scope-list { display:flex; flex-wrap:wrap; gap:9px 16px; list-style:none; padding:0; margin:22px 0 24px; font:11px/1.5 'Courier New',monospace; color:var(--muted); }
.scope-list li { border-bottom:1px solid var(--line); padding-bottom:4px; }
.laboratory { background:#e7e4da; padding-block:100px 110px; }
.concept-directory { display:flex; flex-wrap:wrap; gap:12px 25px; margin:40px 0 80px; }
.concept-directory a { display:flex; gap:8px; align-items:center; font-size:12px; padding:8px 0; border-bottom:1px solid var(--line-strong); }
.concept-directory a>span:first-child { font:10px 'Courier New',monospace; color:var(--muted); }
.concept-directory a:hover { color:var(--accent); border-color:var(--accent); }
.concept-series { display:flex; flex-direction:column; gap:100px; }
.concept { display:grid; grid-template-columns:1.35fr .75fr; align-items:center; gap:6vw; scroll-margin-top:110px; }
.concept:nth-child(even) { grid-template-columns:.75fr 1.35fr; }
.concept:nth-child(even) .concept-art { order:2; }
.concept-art { background:var(--bg); border:1px solid #c5c2b5; overflow:hidden; }
.concept-svg { width:100%; height:auto; display:block; font-family:'Helvetica Neue',Arial,sans-serif; }
.concept-art figcaption { padding:16px 22px; display:flex; gap:10px; justify-content:space-between; border-top:1px solid #c5c2b5; font:9px/1.5 'Courier New',monospace; letter-spacing:.04em; }
.concept-1 .concept-art { background:#e4e9db; }
.concept-2 .concept-art,.solution-art:has(.saas-svg) { background:#161914; color:#f3f1ea; }
.concept-4 .concept-art,.solution-art:has(.growth-svg) { background:#2457ff; color:#fff; }
.concept-2 .concept-art figcaption,.concept-4 .concept-art figcaption { border-color:#818776; }
.concept-copy .eyebrow { font-size:10px; }
.concept-copy h3 { font-size:clamp(30px,3.4vw,50px); line-height:1.07; letter-spacing:-.045em; margin:18px 0 20px; }
.concept-copy>p { font-size:16px; line-height:1.6; }
.concept-copy details { border-top:1px solid var(--line-strong); border-bottom:1px solid var(--line-strong); margin-top:25px; }
.concept-copy summary { cursor:pointer; padding:15px 0; display:flex; justify-content:space-between; gap:20px; font-size:12px; list-style:none; }
.concept-copy summary::-webkit-details-marker { display:none; }
.concept-copy summary span { font-size:20px; line-height:16px; }
.concept-copy details[open] summary span { transform:rotate(45deg); }
.concept-copy details p { font-size:14px; line-height:1.7; margin:0 0 20px; }
.concept-copy .concept-path { font:10px/1.6 'Courier New',monospace; color:var(--muted); margin:18px 0 0; }
.svg-small { font:13px 'Courier New',monospace; fill:currentColor; }
.svg-node { font-size:17px; fill:currentColor; }
.centered { text-anchor:middle; }
.core-text { fill:#161914; font-size:17px; }
.draft-line { stroke:#c9c6ba; fill:none; }
.object-shadow { fill:#dedbd1; }
.leader { stroke:#0b0b0c; fill:none; }
.editor-line { stroke:#0b0b0c; fill:none; }
.editor-display { font:74px Georgia,serif; fill:#0b0b0c; letter-spacing:-4px; }
.svg-arrow { font-size:32px; }
.signal-path { stroke:#2457ff; stroke-width:2; fill:none; }
.saas-svg .signal-path { stroke:#d9ff91; }
.funnel-ink { fill:#2457ff; }
.studio-method { padding-block:110px; }
.method-sequence { list-style:none; margin:65px 0 0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.method-sequence li { border-top:1px solid var(--line-strong); padding-top:20px; }
.method-number { display:block; font:11px 'Courier New',monospace; color:var(--accent); margin-bottom:32px; }
.method-sequence h3 { font-size:25px; letter-spacing:-.04em; margin:0 0 18px; }
.method-sequence p { font-size:14px; line-height:1.7; margin:0; }
.product-vision { display:grid; grid-template-columns:.7fr 1.3fr; gap:8vw; padding-block:35px 120px; align-items:center; }
.vision-symbol { aspect-ratio:1; border:1px solid var(--line-strong); display:grid; place-items:center; position:relative; }
.vision-symbol span { font-size:clamp(130px,22vw,340px); font-weight:700; line-height:1; color:var(--accent); letter-spacing:-.09em; padding-right:.09em; }
.vision-symbol i { position:absolute; inset:9%; border:1px solid var(--accent); border-radius:50%; }
.vision-symbol b { position:absolute; right:-1px; top:-1px; padding:10px 16px; background:var(--ink); color:var(--bg); font-size:28px; font-weight:400; }
.product-vision h2 { font-size:clamp(35px,4.5vw,64px); }
.vision-principles { padding:0; list-style:none; margin:30px 0 0; }
.vision-principles li { border-top:1px solid var(--line); padding:12px 0; font-size:13px; }
.experience .contact-section { background:#0b0b0c; color:var(--bg); padding-block:100px; }
.experience .contact-copy h2 { font-size:clamp(38px,4.8vw,72px); letter-spacing:-.055em; }
.experience .contact-copy h2 em { font-family:Georgia,serif; font-weight:400; }
.experience .contact-copy .mail-link { font-size:clamp(18px,2.3vw,30px); overflow-wrap:anywhere; }
.experience .contact-section .eyebrow { color:#b5b4ad; }
.experience .contact-shell { gap:7vw; }
.experience .project-form input,.experience .project-form textarea,.experience .choice-grid label span { border-radius:0; }
.experience .site-footer { background:#0b0b0c; }
.experience .footer-brand img { display:block; margin-bottom:20px; border:1px solid #777; border-radius:11px; }
.experience .footer-brand { display:block; }
.experience .footer-brand strong { display:block; }
.experience .footer-brand p { margin-top:14px; }
.experience .footer-brand strong { font-size:22px; letter-spacing:.02em; }
.experience .footer-brand p { max-width:300px; }
.experience .footer-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
.experience .footer-links>div { min-width:0; }
.experience .footer-links a { font-size:13px; overflow-wrap:anywhere; max-width:100%; }
.experience .footer-bottom { gap:20px; }
.solution-hero { padding-top:135px; padding-bottom:80px; }
.solution-hero>.studio-text-link { margin-bottom:60px; }
.solution-hero>.eyebrow { display:block; }
.solution-hero h1 { font-size:clamp(46px,7.6vw,116px); letter-spacing:-.065em; line-height:1.04; margin:22px 0 60px; overflow-wrap:anywhere; }
.solution-opening { display:grid; grid-template-columns:1fr 1fr; gap:7vw; align-items:center; }
.solution-opening h2 { font-size:clamp(30px,3.4vw,50px); line-height:1.1; letter-spacing:-.045em; margin:0 0 25px; }
.solution-opening .button { margin-top:20px; }
.solution-scope { padding-block:45px; display:grid; grid-template-columns:1fr 1fr; border-block:1px solid var(--line); gap:7vw; }
.solution-scope h2 { font:11px 'Courier New',monospace; text-transform:uppercase; letter-spacing:.06em; }
.solution-scope ul { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:14px 30px; font-size:16px; }
.solution-process { padding-block:85px; }
.solution-steps { list-style:none; padding:0; margin:30px 0 70px; }
.solution-steps li { display:grid; grid-template-columns:60px 1fr 1.2fr; border-top:1px solid var(--line); padding-block:28px; gap:25px; }
.solution-steps span { font:12px 'Courier New',monospace; color:var(--accent); }
.solution-steps h2,.solution-steps h3 { font-size:28px; line-height:1.15; margin:0; letter-spacing:-.035em; }
.solution-steps p { font-size:16px; margin:0; max-width:640px; line-height:1.7; }
.delivery { border-left:3px solid var(--accent); padding:10px 0 10px 30px; max-width:800px; margin-left:auto; }
.delivery h2 { font-size:30px; letter-spacing:-.04em; margin-top:0; }
.delivery p { line-height:1.7; }
.related-solutions { padding-block:0 100px; }
.related-solutions h2 { font:12px 'Courier New',monospace; text-transform:uppercase; }
.related-solutions>a { display:flex; justify-content:space-between; border-top:1px solid var(--line); font-size:clamp(25px,3.5vw,48px); letter-spacing:-.04em; padding-block:22px; }
.related-solutions>a:hover { color:var(--accent); }
.page-directory { display:flex; flex-wrap:wrap; gap:12px 24px; padding-block:30px; border-bottom:1px solid var(--line); }
.page-directory a { font-size:12px; border-bottom:1px solid var(--line-strong); padding-bottom:5px; }
.page-directory a:hover { color:var(--accent); }
.page-depth { padding-block:25px 50px; }
.depth-section { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:7vw; padding-block:40px; border-bottom:1px solid var(--line); scroll-margin-top:100px; }
.depth-section>h2 { font-size:clamp(24px,3vw,40px); line-height:1.15; letter-spacing:-.04em; margin:0; }
.depth-section>p,.use-list p,.scoping-questions p { font-size:16px; line-height:1.8; margin:0; max-width:760px; }
.use-list { display:grid; gap:30px; }
.use-list h3 { font-size:22px; letter-spacing:-.03em; margin:0 0 12px; }
.scoping-questions details { border-top:1px solid var(--line); padding-block:18px; }
.scoping-questions details:first-child { border-top:0; padding-top:0; }
.scoping-questions summary { cursor:pointer; font-size:17px; font-weight:500; line-height:1.6; }
.scoping-questions p { margin-top:15px; }
.next-step .button { grid-column:2; justify-self:start; }
@media (max-width:768px) {
  .depth-section { grid-template-columns:1fr; gap:22px; padding-block:30px; }
  .page-depth { padding-bottom:25px; }
  .next-step .button { grid-column:1; }
}
/* A short assembly communicates connection. No endless motion or hidden content. */
@media (prefers-reduced-motion:no-preference) {
  .intent-system.in-view .system-pieces { animation:assemble-core 1.4s cubic-bezier(.2,.7,.3,1) both; transform-origin:center; }
  .intent-system.in-view .system-connect { stroke-dasharray:700; animation:connect-system 1.6s ease both; }
  .concept-art.in-view .commerce-object { animation:object-arrive 1s ease both; transform-origin:center; }
  .concept-art.in-view .signal-path { stroke-dasharray:900; animation:connect-system 1.4s ease both; }
  .concept-art.in-view .signal-dot { animation:signal-travel 2s ease both; }
}
@keyframes assemble-core { from { transform:scale(.84); } to { transform:scale(1); } }
@keyframes connect-system { from { stroke-dashoffset:700; } to { stroke-dashoffset:0; } }
@keyframes object-arrive { from { transform:translateY(-18px); } to { transform:translateY(0); } }
@keyframes signal-travel { from { transform:translateX(0); } to { transform:translateX(490px); } }
@media (max-width:1100px) {
  .experience .desktop-nav { gap:16px; }
  .experience .header-cta { display:none; }
  .hero-composition { grid-template-columns:1.1fr 1fr; gap:25px; }
  .experience .hero-editorial h1 { font-size:clamp(62px,8vw,90px); }
  .pillar { grid-template-columns:35px 1fr 1fr; gap:20px; }
  .concept { gap:35px; grid-template-columns:1.15fr 1fr; }
  .concept:nth-child(even) { grid-template-columns:1fr 1.15fr; }
  .concept-art figcaption { padding:12px; font-size:8px; flex-wrap:wrap; }
}
@media (min-width:769px) { .experience .menu-toggle { display:none; } }
@media (max-width:768px) {
  .experience .site-header { grid-template-columns:1fr auto; }
  .experience .menu-toggle { display:block; }
  .studio-hero { padding-top:112px; }
  .hero-composition { grid-template-columns:1fr; gap:40px; padding-block:40px; }
  .experience .hero-editorial h1 { font-size:clamp(60px,11vw,92px); }
  .intent-system { max-width:540px; width:100%; justify-self:end; padding:16px; }
  .hero-baseline { font-size:8px; flex-wrap:wrap; gap:10px 20px; }
  .studio-signature { font-size:8px; }
  .pillars-section { padding-block:75px; }
  .chapter-heading h2 { font-size:clamp(36px,7vw,58px); }
  .chapter-heading>p { font-size:16px; }
  .pillar-list { margin-top:40px; }
  .pillar { grid-template-columns:28px 1fr; gap:12px; padding-block:26px 32px; }
  .pillar-title h3 { max-width:none; font-size:32px; }
  .pillar-title>p { font-size:19px; max-width:none; }
  .pillar-description { grid-column:2; margin-top:12px; }
  .laboratory { padding-block:70px; }
  .concept-directory { gap:8px 18px; margin-bottom:45px; }
  .concept-directory a { font-size:11px; }
  .concept-series { gap:65px; }
  .concept,.concept:nth-child(even) { grid-template-columns:1fr; gap:28px; }
  .concept:nth-child(even) .concept-art { order:0; }
  .concept-copy h3 { font-size:36px; max-width:500px; }
  .concept-art figcaption { font-size:9px; }
  .studio-method { padding-block:75px; }
  .method-sequence { grid-template-columns:1fr 1fr; gap:30px; margin-top:40px; }
  .method-number { margin-bottom:22px; }
  .product-vision { grid-template-columns:1fr; gap:40px; padding-bottom:75px; }
  .vision-symbol { max-width:260px; width:100%; }
  .vision-symbol span { font-size:230px; }
  .experience .contact-section { padding-block:70px; }
  .experience .contact-shell { grid-template-columns:1fr; gap:50px; }
  .experience .contact-copy h2 { max-width:600px; }
  .solution-opening { grid-template-columns:1fr; gap:40px; }
  .solution-hero { padding-top:110px; padding-bottom:55px; }
  .solution-hero>.studio-text-link { margin-bottom:35px; }
  .solution-hero h1 { margin-bottom:35px; }
  .solution-scope { grid-template-columns:1fr; gap:15px; }
  .solution-process { padding-block:55px; }
  .solution-steps li { grid-template-columns:28px 1fr; gap:14px; }
  .solution-steps p { grid-column:2; }
  .related-solutions { padding-bottom:65px; }
  .experience .desktop-nav { display:flex; }
  html.js .experience .desktop-nav { display:none; }
  html:not(.js) .experience .site-header { position:relative; display:flex; height:auto; flex-wrap:wrap; gap:16px; padding-block:18px; justify-content:space-between; }
  html:not(.js) .experience .desktop-nav { order:3; width:100%; justify-content:space-between; }
  html:not(.js) .experience .menu-toggle { display:none; }
  html:not(.js) .studio-hero,html:not(.js) .solution-hero { padding-top:45px; }
}
@media (max-width:430px) {
  .hero-topline { align-items:start; }
  .hero-topline .eyebrow { max-width:180px; font-size:9px; }
  .studio-signature { max-width:100px; text-align:right; }
  .experience .brand { font-size:12px; gap:8px; }
  .experience .hero-editorial h1 { font-size:clamp(46px,14.8vw,58px); }
  .hero-prelude { font-size:21px; }
  .studio-actions { gap:20px; }
  .studio-actions .button { width:100%; }
  .method-sequence { grid-template-columns:1fr; gap:25px; }
  .method-sequence li { display:grid; grid-template-columns:28px 1fr; gap:10px; }
  .method-number { margin:7px 0 0; }
  .method-sequence h3 { margin:0; }
  .method-sequence p { grid-column:2; }
  .experience .footer-top { gap:35px; }
  .experience .footer-links { gap:30px; }
  .experience .footer-bottom { flex-direction:column; align-items:flex-start; }
  .solution-hero h1 { font-size:44px; }
}
@media (prefers-reduced-motion:reduce) {
  .experience *,.experience *::before,.experience *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
