/* Four new identities. Shared structure, distinct composition and useful interfaces. */
.theme-arkitekt { --d-bg:#f5f3ed; --d-surface:#eae7df; --d-ink:#282923; --d-muted:#5e6057; --d-accent:#8b412d; --d-line:#d1cfc3; }
.theme-trening { --d-bg:#141a18; --d-surface:#202924; --d-ink:#f0f2e9; --d-muted:#b5c0b7; --d-accent:#d3f879; --d-line:#424f46; --d-heading:'Segoe UI',Arial,sans-serif; color-scheme:dark; }
.theme-hotell { --d-bg:#f9f4ed; --d-surface:#eee4d9; --d-ink:#40303e; --d-muted:#72606b; --d-accent:#774958; --d-line:#d8c8c6; }
.theme-teknologi { --d-bg:#f5f7fd; --d-surface:#e9edf9; --d-ink:#18203c; --d-muted:#59617a; --d-accent:#4a43b5; --d-line:#cbd1e4; --d-heading:'Segoe UI',Arial,sans-serif; }
.theme-arkitekt .d-brand { font-family:'Segoe UI',Arial,sans-serif; font-size:25px; font-weight:500; letter-spacing:.025em; }
.theme-trening .d-brand { font-size:38px; font-weight:900; letter-spacing:-.08em; }
.theme-hotell .d-brand { font-size:43px; letter-spacing:-.04em; }
.theme-teknologi .d-brand { font-size:31px; font-weight:700; letter-spacing:-.06em; }
.theme-arkitekt .d-btn { border-radius:0; }
.theme-trening .d-btn { border-radius:3px; color:#182414; font-weight:700; }
.theme-trening h1,.theme-trening h2 { font-weight:750; letter-spacing:-.065em; }
.theme-trening em,.theme-teknologi em { font-style:normal; }
.theme-teknologi h1,.theme-teknologi h2 { font-weight:600; letter-spacing:-.06em; }
.theme-trening .d-form input,.theme-trening .d-form select,.theme-trening .d-form textarea { background:#202924; color:#f0f2e9; }
.theme-trening .d-closing { background:#d3f879; --d-ink:#182414; --d-accent:#182414; --d-muted:#425031; color:#182414; }
.theme-trening .d-closing .d-btn { color:#d3f879; }
.theme-trening .d-credit a:focus-visible { outline-color:#d3f879; }
.ed-split { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.ed-split>* { min-width:0; }
.ed-split>img,.ed-split>div>img { width:100%; height:auto; aspect-ratio:1.1; object-fit:cover; }
.ed-split p { font-size:20px; }
.ed-index { display:block; font:14px/1.5 'Segoe UI',Arial,sans-serif; letter-spacing:.035em; color:var(--d-muted); margin-bottom:22px; }
.ed-heading-row { display:flex; justify-content:space-between; align-items:end; gap:50px; margin-bottom:55px; }
.ed-heading-row h2 { margin:0; }
.ed-heading-row>p { max-width:450px; margin:0; font-size:20px; }
.ed-process { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:50px; }
.ed-process article { border-top:1px solid var(--d-line); padding-top:24px; }
.ed-process article>span { display:block; margin-bottom:30px; color:var(--d-accent); font-size:16px; }
.ed-process h2 { font-size:40px; }
.ed-facts { margin:35px 0; }
.ed-facts>div { padding:17px 0; border-top:1px solid var(--d-line); }
.ed-facts dt { font-size:15px; color:var(--d-muted); }
.ed-facts dd { margin:5px 0 0; font-size:20px; }
.ed-contact-copy>p { font-size:20px; }
.ed-controls { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:25px; }
.ed-controls label,.su-planner-controls label,.ve-lab-controls>label,.ve-calculator label { display:grid; gap:12px; font-size:16px; }
.ed-controls input,.ed-controls select,.su-planner-controls select,.ve-lab-controls select,.ve-calculator select { width:100%; min-width:0; border:1px solid var(--d-line); background:var(--d-bg); color:var(--d-ink); border-radius:5px; padding:14px; font-size:17px; }
.ed-empty { padding:35px; border:1px dashed var(--d-line); }
.ed-empty button { border:0; border-bottom:1px solid currentColor; color:var(--d-accent); background:none; padding:10px 0; }
.ed-faq-wrap { max-width:900px; margin:75px auto 0; }
.ed-numbered { padding-left:25px; }
.ed-numbered li { padding:15px 0 15px 12px; border-bottom:1px solid var(--d-line); font-size:20px; }
input[type=range] { width:100%; min-height:30px; accent-color:var(--d-accent); cursor:pointer; }
button:disabled { cursor:default; }
.d-text-link:is(button) { background:none; border:0; border-bottom:1px solid currentColor; color:var(--d-accent); }
/* FORM / ROM: a typographic portfolio with drawn, changeable materials. */
.ar-hero { padding-top:55px; }
.ar-hero-top { display:flex; justify-content:space-between; gap:20px; font-size:15px; }
.ar-hero-top>span { color:var(--d-muted); }
.ar-hero h1 { font-size:clamp(75px,8.8vw,132px); line-height:1.02; margin:30px 0 35px; max-width:1100px; }
.ar-hero h1 em { font-weight:400; }
.ar-hero-bottom { display:flex; align-items:center; justify-content:space-between; gap:45px; padding-left:33%; margin-bottom:50px; }
.ar-hero-bottom p { max-width:480px; font-size:20px; margin:0; }
.ar-hero-bottom .d-text-link { flex-shrink:0; }
.ar-cover { margin:0; }
.ar-cover>img { width:100%; height:590px; object-fit:cover; }
.ar-cover figcaption { display:flex; justify-content:space-between; gap:20px; border-bottom:1px solid var(--d-line); padding:18px 0; font-size:15px; color:var(--d-muted); }
.ar-statement { display:grid; grid-template-columns:.4fr 1fr; gap:35px; }
.ar-statement h2 { font-size:clamp(38px,4.4vw,65px); margin:0; }
.ar-statement>div { grid-column:2; max-width:600px; font-size:21px; }
.ar-material-teaser { background:#e8e1d5; }
.ar-projects { grid-template-columns:1.2fr .8fr; gap:70px 55px; }
.ar-projects article:nth-child(2) { padding-top:100px; }
.ar-projects article:last-child { grid-column:1/-1; max-width:850px; }
.ar-projects .d-gallery-open,.ar-projects img { border-radius:0; }
.ar-projects article:first-child img { aspect-ratio:1.25; }
.ar-projects .d-eyebrow { margin:22px 0 0; }
.ar-projects h3 { font:36px/1.2 Georgia,serif; margin-top:10px; }
.ar-projects details { border-top:1px solid var(--d-line); margin-top:22px; padding-top:15px; }
.ar-projects details>p { margin-top:15px; }
.ar-material-layout { display:grid; grid-template-columns:1.35fr 1fr; gap:60px; align-items:start; }
.ar-elevation { background:#e9e6db; color:#5a5e50; padding:28px; position:sticky; top:130px; }
.ar-drawing-top { display:flex; justify-content:space-between; gap:15px; font-size:13px; }
.ar-elevation svg { display:block; width:100%; height:auto; margin:40px 0 20px; }
.ar-cladding { fill:var(--cladding,#ad815a); transition:fill .3s; }
[data-material-active=mineral] .ar-elevation path[fill="url(#cladding-lines)"] { opacity:0; }
.ar-material-caption { margin:0; border-top:1px solid #cac7ba; padding-top:20px; font:italic 27px Georgia,serif; }
.ar-swatches { display:grid; margin-bottom:40px; }
.ar-swatches button { display:flex; align-items:center; gap:20px; padding:20px 0; border:0; border-top:1px solid var(--d-line); background:none; text-align:left; color:var(--d-ink); }
.ar-swatches button>span:last-child { margin-left:auto; font-size:14px; color:var(--d-muted); }
.ar-swatches i { width:45px; height:45px; background:var(--swatch); flex-shrink:0; outline:1px solid #363d3a30; outline-offset:4px; }
.ar-swatches small { display:block; color:var(--d-muted); font-size:15px; margin-top:3px; }
.ar-swatches button[aria-pressed=true] i { outline:2px solid var(--d-accent); }
.ar-swatches button[aria-pressed=true]>span { color:var(--d-accent); }
.ar-material-controls h2 { font-size:39px; }
.ar-material-controls [aria-live] { min-height:195px; }
/* PULS: athletic typography, uncluttered scheduling, honest membership choices. */
.pu-hero { padding-block:70px; overflow:clip; }
.pu-hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.pu-hero h1 { font-size:clamp(76px,8.5vw,128px); line-height:.96; margin:35px 0; }
.pu-hero-grid>div>p:not(.d-eyebrow) { max-width:480px; font-size:22px; }
.pu-hero figure { position:relative; margin:0; }
.pu-hero figure img { width:100%; height:580px; object-fit:cover; clip-path:polygon(12% 0,100% 0,100% 88%,88% 100%,0 100%,0 12%); filter:brightness(.78); }
.pu-hero figcaption { font-size:14px; padding:16px 0; color:var(--d-muted); }
.pu-photo-word { position:absolute; bottom:55px; left:-35px; font-size:86px; font-weight:850; line-height:1; color:#d3f879; letter-spacing:-.075em; }
.pu-manifesto { border-block:1px solid var(--d-line); }
.pu-manifesto>.d-wrap { display:flex; justify-content:space-between; gap:25px; padding-block:26px; font-size:17px; }
.pu-manifesto span::before { content:'+'; color:var(--d-accent); margin-right:15px; font-size:22px; }
.pu-offerings { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.pu-offerings>a { position:relative; display:block; padding:32px 0 45px; border-top:1px solid var(--d-line); text-decoration:none; }
.pu-offerings>a>span { display:block; margin-bottom:35px; color:var(--d-accent); }
.pu-offerings h3 { font-size:30px; font-weight:650; }
.pu-offerings b { position:absolute; right:0; bottom:5px; font-size:28px; color:var(--d-accent); }
.pu-offerings>a:hover h3 { color:var(--d-accent); }
.pu-light { --d-bg:#e8eddf; --d-ink:#1d291c; --d-muted:#53604d; --d-accent:#344a24; --d-line:#bbc7b1; background:var(--d-bg); color:var(--d-ink); }
.theme-trening .pu-light .d-btn { color:#f2f6e9; }
.pu-schedule-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:50px; align-items:start; }
.pu-class { display:grid; grid-template-columns:90px minmax(0,1fr) auto; gap:23px; align-items:center; padding:25px 0; border-top:1px solid var(--d-line); }
.pu-class-time span { font-size:14px; color:var(--d-muted); }
.pu-class-time strong { display:block; font-size:27px; font-weight:500; }
.pu-class h2 { font-size:25px; letter-spacing:-.03em; margin-bottom:8px; }
.pu-class p { font-size:15px; margin:0; }
.pu-class button { background:none; border:1px solid #718366; color:#d3f879; border-radius:3px; padding:10px 13px; font-size:15px; }
.pu-class button[aria-pressed=true] { background:#d3f879; color:#182414; }
.pu-week { background:#263227; padding:28px; position:sticky; top:125px; border-top:3px solid #d3f879; }
.pu-week { max-height:calc(100dvh - 150px); overflow-y:auto; scrollbar-width:thin; }
.pu-week h2 { font-size:37px; }
.pu-week>.d-btn { display:flex; margin-top:30px; }
.pu-week .d-text-link { font-size:16px; }
.pu-week-item { display:flex; align-items:center; gap:15px; padding:15px 0; border-top:1px solid #4b5d49; font-size:16px; }
.pu-week-item button { margin-left:auto; background:none; border:0; padding:7px 12px; color:#d3f879; font-size:24px; }
.pu-week-item small { display:block; color:#becab9; font-size:14px; }
.pu-week [data-class-notice]:empty { display:none; }
.pu-week [data-class-notice] { color:#e4f4c4; font-size:16px; border-left:2px solid #d3f879; padding-left:14px; margin-top:18px; }
.pu-billing { display:flex; gap:25px; margin-bottom:20px; }
.pu-billing button { background:none; border:0; border-bottom:2px solid transparent; color:var(--d-muted); padding:14px 0; font-size:20px; }
.pu-billing button[aria-pressed=true] { border-color:var(--d-accent); color:var(--d-accent); }
.pu-price-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; margin-top:35px; }
.pu-price { display:flex; flex-direction:column; padding:35px; border:1px solid var(--d-line); background:#1b241e; }
.pu-price:nth-child(2) { border-top:4px solid #d3f879; padding-top:32px; }
.pu-price h2 { font-size:37px; }
.pu-price-number { margin-block:20px 28px; }
.pu-price-number strong { display:block; font-size:57px; font-weight:650; line-height:1.2; letter-spacing:-.06em; color:#d3f879; }
.pu-price-number span { font-size:16px; color:var(--d-muted); }
.pu-price ul { list-style:none; padding:0; margin:0 0 30px; }
.pu-price li { border-top:1px solid var(--d-line); padding:13px 0; font-size:17px; }
.pu-price .d-btn { margin-top:auto; }
.pu-studio-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:60px; }
.pu-studio-grid>div:nth-child(2) { margin-top:100px; }
.pu-studio-grid img { width:100%; aspect-ratio:1; object-fit:cover; margin-bottom:30px; }
.pu-studio-grid h2 { font-size:36px; }
.pu-hours { padding:35px; border:1px solid var(--d-line); }
.pu-hours h2 { font-size:30px; }
/* Sund: quiet hospitality, generous imagery, a useful meeting configurator. */
.su-hero { padding:48px 0 0; }
.su-hero-heading { text-align:center; max-width:1000px; margin:auto; }
.su-hero h1 { font-size:clamp(60px,7.8vw,116px); line-height:1.07; margin:15px 0 25px; }
.su-hero-heading>p:last-child { font-size:21px; margin-bottom:45px; }
.su-hero-images { display:grid; grid-template-columns:1.35fr .65fr; grid-template-rows:330px auto; gap:26px; }
.su-main-photo { grid-row:1/3; width:100%; height:100%; object-fit:cover; border-radius:3px 100px 3px 3px; }
.su-side-photo { width:100%; height:330px; object-fit:cover; border-radius:70px 3px 3px 3px; }
.su-image-note { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; padding:5px 0 25px; }
.su-image-note>span { font:italic 25px/1.3 Georgia,serif; color:var(--d-accent); }
.su-intro { text-align:center; max-width:870px; }
.su-intro h2 { font-size:clamp(39px,4.5vw,66px); }
.su-intro>p:not(.d-eyebrow) { font-size:21px; max-width:680px; margin:0 auto; }
.su-intro .d-actions { justify-content:center; }
.su-meeting-teaser { --d-muted:#685560; background:#e9dce0; }
.su-meeting-teaser img { border-radius:150px 150px 4px 4px; }
.su-rooms { display:grid; gap:70px; }
.su-room { display:grid; grid-template-columns:1.1fr .9fr; gap:65px; align-items:center; padding-bottom:60px; border-bottom:1px solid var(--d-line); }
.su-room:nth-child(2)>img { order:2; }
.su-room>img { width:100%; height:430px; object-fit:cover; border-radius:3px 65px 3px 3px; }
.su-room h2 { font-size:60px; }
.su-room>div>p { font-size:20px; }
.su-amenities { list-style:none; padding:0; display:flex; gap:8px 20px; flex-wrap:wrap; margin:25px 0; font-size:16px; }
.su-amenities li { border-bottom:1px solid var(--d-line); padding-bottom:6px; }
.su-room-price { color:var(--d-accent); font-size:25px!important; }
.su-room-price>span { display:block; font-size:14px; color:var(--d-muted); margin-top:5px; }
.su-planner { display:grid; grid-template-columns:.85fr 1.15fr; gap:75px; align-items:start; }
.su-planner-controls { display:grid; gap:30px; }
.su-planner-controls output { font:50px/1 Georgia,serif; color:var(--d-accent); }
.su-planner-controls .ed-checkbox { display:flex; align-items:center; gap:14px; font-size:19px; }
.ed-checkbox input { width:21px; height:21px; accent-color:var(--d-accent); }
.su-room-plan { padding:32px; background:#ebe2e3; border:1px solid #d3bdc5; }
.su-plan-top { display:flex; align-items:center; justify-content:space-between; gap:15px; border-bottom:1px solid #cdbbc1; padding-bottom:20px; }
.su-plan-top>span:first-child { font:31px Georgia,serif; }
.su-plan-top>span:last-child { font-size:13px; }
.su-seating { min-height:270px; display:grid; place-content:center; gap:8px; margin:25px 0; padding:30px; border:1px solid #baa9b1; background:#f9f4ed; position:relative; overflow:hidden; }
.su-seating::before { content:'PRESENTASJON'; position:absolute; top:12px; left:0; width:100%; text-align:center; font-size:10px; letter-spacing:.14em; color:#72606b; }
.su-seat { width:18px; height:18px; border-radius:4px 4px 2px 2px; background:#9c7482; border:1px solid #774958; }
.su-seat-table { width:50px; height:44px; background:#d5bfc6; border:2px solid #997581; border-radius:4px; display:grid; place-items:center; font-size:13px; color:#40303e; }
.su-seat,.su-seat-table { max-width:100%; }
.su-long-table { background:#d5bfc6; border:2px solid #997581; border-radius:4px; min-height:100px; }
.su-seating[data-layout=bord] { row-gap:4px; column-gap:10px; }
.su-room-plan h2 { font-size:30px; margin-bottom:15px; }
.su-room-plan [data-meeting-description] { font-size:16px; }
.su-estimate { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 0; border-block:1px solid #cdbbc1; }
.su-estimate>span { max-width:160px; font-size:16px; }
.su-estimate strong { font:36px Georgia,serif; white-space:nowrap; }
.su-room-plan [data-meeting-breakdown] { font-size:15px; margin-top:18px; }
.su-room-plan>.d-btn { display:flex; }
.su-experiences { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:55px; }
.su-experiences article { border-top:1px solid var(--d-line); padding-top:28px; }
.su-experiences h2 { font-size:40px; }
.su-wide-image { display:grid; grid-template-columns:1.2fr .8fr; align-items:center; gap:65px; }
.su-wide-image>img { width:100%; height:530px; object-fit:cover; border-radius:130px 130px 3px 3px; }
/* Vektor: a small, working product interface instead of decorative dashboards. */
.ve-hero { padding:85px 0 95px; background:radial-gradient(ellipse at 85% 20%,#dddff8,transparent 65%); border-bottom:1px solid var(--d-line); }
.ve-hero-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:60px; align-items:center; }
.ve-hero h1 { font-size:clamp(50px,5.4vw,80px); line-height:1.06; }
.ve-hero-grid>div>p:not(.d-eyebrow) { max-width:510px; font-size:21px; }
.ve-mark { display:inline-grid; place-items:center; width:29px; height:29px; background:#4a43b5; color:white; font-size:23px; margin-right:10px; border-radius:6px; }
.ve-console { background:#fff; border:1px solid #c9cce4; box-shadow:0 24px 70px #45448216; border-radius:12px; transform:rotate(1deg); overflow:hidden; }
.ve-console-top { padding:17px 22px; display:flex; justify-content:space-between; gap:15px; font-size:13px; background:#eeeff9; border-bottom:1px solid #d4d7e9; }
.ve-console-top>span:first-child { font-weight:600; }
.ve-console-body { padding:30px; }
.ve-console-heading>span { display:block; font-size:14px; color:#67708a; }
.ve-console-heading>strong { display:block; font-size:26px; letter-spacing:-.04em; margin:5px 0 25px; }
.ve-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; border-block:1px solid #dce0ed; padding:20px 0; margin-bottom:25px; }
.ve-stats strong { display:block; font-size:36px; color:#4a43b5; font-weight:600; line-height:1.25; }
.ve-stats span { font-size:13px; color:#616b82; }
.ve-flow-mini { display:grid; gap:13px; }
.ve-flow-mini>div { display:flex; align-items:center; gap:12px; background:#f2f4fb; padding:14px; font-size:14px; border-radius:5px; }
.ve-flow-mini i { font-style:normal; color:#666495; font-size:12px; }
.ve-flow-mini b { margin-left:auto; font-size:18px; color:#4a43b5; }
.ve-console-body>p { margin:24px 0 0; font-size:13px; }
.ve-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; }
.ve-feature-grid article { padding:30px 0; border-top:1px solid var(--d-line); }
.ve-feature-grid h3 { font-weight:600; font-size:27px; }
.ve-feature-icon { display:grid; place-items:center; width:56px; height:56px; background:#e7e6f8; color:#4a43b5; font-size:34px; margin-bottom:30px; border-radius:12px; }
.ve-dark { --d-ink:#f3f4fd; --d-muted:#bfc5df; --d-accent:#c1baff; --d-line:#535876; background:#202641; color:var(--d-ink); }
.ve-dark .d-btn { color:#252442; }
.ve-equation { padding:55px 40px; border:1px solid #62668a; border-radius:10px; }
.ve-equation>span { display:block; color:#bdc4df; font-size:18px; }
.ve-equation>strong { display:block; font-size:clamp(36px,4vw,58px); color:#cbc5ff; margin:15px 0; letter-spacing:-.06em; font-weight:500; }
.ve-workspace { padding:35px; background:#fff; border:1px solid var(--d-line); border-radius:12px; box-shadow:0 16px 50px #36436608; }
.ve-workspace-top { display:flex; justify-content:space-between; gap:25px; align-items:start; }
.ve-workspace-top h2 { font-size:36px; }
.ve-workspace-top .d-eyebrow { font-size:14px; margin-bottom:13px; }
.ve-demo-label { padding:5px 0; font-size:14px; color:var(--d-muted); }
.ve-workspace .ed-controls { grid-template-columns:1fr 260px; }
.ve-inbox-row { display:grid; grid-template-columns:65px minmax(0,1fr) 135px 95px; gap:25px; align-items:center; border-top:1px solid var(--d-line); padding:25px 0; }
.ve-case-id { font-size:14px; color:var(--d-muted); }
.ve-inbox-row h3 { font-size:20px; letter-spacing:-.025em; margin:0 0 7px; }
.ve-inbox-row p { font-size:14px; margin:0; }
.ve-status { font-size:14px; display:flex; align-items:center; gap:9px; }
.ve-status::before { content:''; width:7px; height:7px; border-radius:50%; background:#606cb3; flex-shrink:0; }
.ve-status-ferdig::before { background:#387763; }
.ve-status-vurdering::before { background:#ac722e; }
.ve-inbox-row button,.ve-dialog-top button { border:0; background:none; color:var(--d-accent); border-bottom:1px solid #b4b5d9; padding:10px 0; font-size:15px; }
.ve-case-dialog { width:620px; max-width:calc(100vw - 30px); max-height:calc(100dvh - 40px); overflow:auto; padding:35px; color:var(--d-ink); background:var(--d-bg); border:1px solid var(--d-line); border-radius:12px; }
.ve-case-dialog::backdrop { background:#14192abb; backdrop-filter:blur(5px); }
.ve-dialog-top { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:35px; font-size:15px; }
.ve-case-dialog h2 { font-size:34px; }
.ve-audit { background:#e8ecf9; padding:25px; margin-top:30px; }
.ve-audit h3 { font-size:20px; }
.ve-audit ol { padding-left:20px; font-size:16px; }
.ve-audit li { padding:8px 0; }
.ve-lab { display:grid; grid-template-columns:.85fr 1.15fr; gap:65px; }
.ve-input-note { padding:28px; border-left:3px solid var(--d-accent); background:#e9ecf9; margin-top:35px; }
.ve-input-note>span { font-size:14px; color:var(--d-muted); }
.ve-input-note>p { margin:14px 0 0; font-size:22px; color:var(--d-ink); }
.ve-lab-controls .d-actions { gap:25px; }
.ve-pipeline { background:#fff; border:1px solid var(--d-line); border-radius:12px; padding:30px; }
.ve-pipeline-steps { list-style:none; margin:0; padding:0; }
.ve-pipeline-steps li { display:flex; align-items:center; gap:20px; padding:22px 0; border-bottom:1px solid #dce0ee; }
.ve-pipeline-steps li>span { display:grid; place-items:center; width:40px; height:40px; flex-shrink:0; border:1px solid #c0c5de; border-radius:8px; color:#656d87; font-size:14px; }
.ve-pipeline-steps h2 { font-size:24px; margin:0 0 6px; }
.ve-pipeline-steps p { font-size:14px; margin:0; }
.ve-pipeline-steps b { margin-left:auto; font-size:13px; color:#686f85; font-weight:400; }
.ve-pipeline-steps .is-done>span { background:#e6f1ed; border-color:#adcdbf; color:#285d46; }
.ve-pipeline-steps .is-active>span { background:#4a43b5; color:white; border-color:#4a43b5; }
.ve-pipeline-steps .is-active b { color:#4a43b5; font-weight:600; }
.ve-flow-result { padding:25px; margin-top:25px; background:#eeedf9; border-radius:6px; min-height:225px; }
.ve-flow-result>span { font-size:13px; color:#686384; }
.ve-flow-result h3 { font-size:25px; margin:12px 0; }
.ve-flow-result p { font-size:17px; margin:0; }
.ve-calculator { display:grid; grid-template-columns:1fr 1fr; gap:75px; align-items:start; }
.ve-calculator h2 { font-size:35px; }
.ve-calculator label { margin-bottom:30px; }
.ve-calculator output { font-size:33px; line-height:1; color:#4a43b5; }
.ve-impact-result { padding:40px; background:#242a48; color:#fff; border-radius:12px; }
.ve-impact-result>span { display:block; font-size:16px; color:#c8cce3; }
.ve-impact-result>strong { display:flex; align-items:baseline; gap:18px; margin:20px 0 30px; font-size:88px; font-weight:500; line-height:1; letter-spacing:-.07em; color:#c7c1ff; }
.ve-impact-result small { font-size:25px; letter-spacing:-.03em; }
.ve-impact-result>p { font-size:16px; color:#c8cce3; }
.ve-impact-result .d-text-link { color:#cec8ff; }
.ve-impact-bars { display:grid; gap:22px; margin-bottom:35px; }
.ve-impact-bars span { display:block; margin-bottom:9px; font-size:14px; color:#c1c5dc; }
.ve-impact-bars i { display:block; width:100%; height:12px; background:#656b89; border-radius:2px; }
.ve-impact-bars [data-impact-bar] { width:75%; background:#bcb4ff; transition:width .2s; }
/* Responsive layouts preserve the content and keyboard interactions. */
@media(max-width:1150px) {
 .ed-split,.ar-material-layout,.su-planner,.ve-lab,.ve-calculator { gap:40px; }
 .ar-hero-bottom { padding-left:15%; }
 .pu-hero-grid,.ve-hero-grid { gap:35px; }
 .pu-hero .d-actions { gap:20px; }
 .pu-schedule-layout { grid-template-columns:minmax(0,1fr) 290px; gap:30px; }
 .pu-class { gap:15px; grid-template-columns:80px minmax(0,1fr); }
 .pu-class button { grid-column:2; justify-self:start; }
 .pu-price { padding:25px; }
 .pu-price:nth-child(2) { padding-top:22px; }
 .ve-console-body { padding:22px; }
 .ve-inbox-row { gap:18px; grid-template-columns:55px minmax(0,1fr) 110px 80px; }
 .su-room { gap:40px; }
}
@media(max-width:950px) {
 .pu-hero-grid,.ve-hero-grid { grid-template-columns:1fr; }
 .pu-hero-grid>div { max-width:720px; }
 .pu-hero h1 { font-size:100px; }
 .pu-hero figure img { height:430px; clip-path:polygon(5% 0,100% 0,100% 88%,95% 100%,0 100%,0 12%); }
 .pu-photo-word { left:25px; }
 .ve-console { max-width:650px; width:100%; transform:none; }
 .ed-heading-row { align-items:start; flex-direction:column; gap:25px; }
 .ed-heading-row>p { max-width:650px; }
 .ar-hero-bottom { padding-left:0; }
 .ar-hero h1 { font-size:90px; }
 .ar-material-layout { grid-template-columns:1fr; }
 .ar-elevation { position:static; }
 .ar-elevation svg { max-height:420px; }
 .ar-material-controls [aria-live] { min-height:0; }
 .su-hero-images { grid-template-rows:260px auto; grid-template-columns:1.2fr .8fr; }
 .su-side-photo { height:260px; }
 .pu-price-grid { gap:15px; }
 .pu-price-number strong { font-size:43px; }
 .pu-price h2 { font-size:30px; }
 .pu-price .d-btn { padding:14px; font-size:15px; }
 .ve-lab { grid-template-columns:1fr; }
}
@media(max-width:700px) {
 .ed-split,.ed-process,.pu-offerings,.su-experiences,.su-wide-image,.ve-feature-grid,.ve-calculator { grid-template-columns:1fr; gap:35px; }
 .ed-heading-row { margin-bottom:35px; gap:20px; }
 .ed-heading-row>p,.ed-split p,.ed-contact-copy>p { font-size:18px; }
 .ed-index { font-size:13px; }
 .ed-process h2 { font-size:36px; }
 .ed-process article>span { margin-bottom:20px; }
 .ed-controls { gap:15px; }
 .ed-controls input,.ed-controls select,.su-planner-controls select,.ve-lab-controls select,.ve-calculator select { font-size:16px; padding:12px; }
 .ar-hero { padding-top:32px; }
 .ar-hero-top { font-size:13px; }
 .ar-hero-top .d-eyebrow { font-size:13px; }
 .ar-hero-top>span { display:none; }
 .ar-hero h1 { font-size:clamp(58px,12vw,83px); margin-top:14px; }
 .ar-hero-bottom { flex-direction:column; align-items:start; gap:22px; margin-bottom:30px; }
 .ar-hero-bottom p { font-size:18px; }
 .ar-cover>img { height:380px; }
 .ar-cover figcaption { flex-direction:column; gap:5px; font-size:13px; }
 .ar-statement { grid-template-columns:1fr; gap:20px; }
 .ar-statement>div { grid-column:auto; font-size:18px; }
 .ar-statement .ed-index { margin:0; }
 .ar-projects { grid-template-columns:1fr; gap:45px; }
 .ar-projects article:nth-child(2) { padding-top:0; }
 .ar-projects article:last-child { grid-column:auto; }
 .ar-elevation { padding:20px; }
 .ar-drawing-top { flex-wrap:wrap; gap:5px; font-size:12px; }
 .ar-elevation svg { margin-top:20px; }
 .ar-material-controls h2 { font-size:35px; }
 .pu-hero { padding:45px 0; }
 .pu-hero h1 { font-size:clamp(76px,18vw,108px); }
 .pu-hero-grid>div>p:not(.d-eyebrow) { font-size:20px; }
 .pu-hero figure img { height:360px; }
 .pu-photo-word { font-size:65px; bottom:65px; }
 .pu-manifesto>.d-wrap { flex-direction:column; gap:10px; padding-block:23px; font-size:16px; }
 .pu-offerings { gap:10px; }
 .pu-offerings>a { padding:25px 0 35px; }
 .pu-offerings>a>span { margin-bottom:22px; }
 .pu-schedule-layout { grid-template-columns:1fr; gap:35px; }
 .pu-week { position:static; max-height:none; overflow:visible; }
 .pu-class { grid-template-columns:75px minmax(0,1fr); }
 .pu-class h2 { font-size:24px; }
 .pu-price-grid { grid-template-columns:1fr; gap:25px; }
 .pu-price { padding:30px; }
 .pu-price:nth-child(2) { padding-top:27px; }
 .pu-price-number strong { font-size:58px; }
 .pu-price h2 { font-size:37px; }
 .pu-price .d-btn { padding:15px 23px; font-size:17px; }
 .pu-studio-grid { grid-template-columns:1fr; gap:40px; }
 .pu-studio-grid>div:nth-child(2) { margin-top:0; }
 .pu-hours { padding:25px; }
 .su-hero { padding-top:35px; }
 .su-hero h1 { font-size:clamp(58px,12vw,80px); }
 .su-hero-heading>p:last-child { font-size:18px; margin-bottom:30px; }
 .su-hero-images { grid-template-columns:1fr; grid-template-rows:auto; gap:20px; }
 .su-main-photo { grid-row:auto; height:340px; border-radius:3px 75px 3px 3px; }
 .su-side-photo { display:none; }
 .su-image-note { padding-bottom:0; }
 .su-image-note>span { font-size:23px; }
 .su-intro>p:not(.d-eyebrow) { font-size:19px; }
 .su-room { grid-template-columns:1fr; gap:30px; padding-bottom:40px; }
 .su-room:nth-child(2)>img { order:0; }
 .su-room>img { height:330px; }
 .su-room h2 { font-size:50px; }
 .su-rooms { gap:45px; }
 .su-planner { grid-template-columns:1fr; gap:35px; }
 .su-room-plan { padding:23px; }
 .su-estimate { align-items:start; flex-direction:column; gap:12px; }
 .su-estimate>span { max-width:none; }
 .su-estimate strong { font-size:35px; }
 .su-seating { padding-inline:18px; gap:6px; }
 .su-seat { width:16px; height:16px; }
 .su-wide-image>img { height:360px; }
 .ve-hero { padding-block:50px; }
 .ve-hero h1 { font-size:clamp(44px,10.5vw,66px); }
 .ve-hero-grid>div>p:not(.d-eyebrow) { font-size:19px; }
 .ve-console-body { padding:22px 18px; }
 .ve-console-top { padding:15px; font-size:11px; }
 .ve-console-heading>strong { font-size:24px; }
 .ve-stats { gap:10px; }
 .ve-stats strong { font-size:31px; }
 .ve-stats span { font-size:11px; }
 .ve-flow-mini>div { gap:9px; padding:12px 10px; font-size:12px; }
 .ve-feature-grid { gap:5px; }
 .ve-feature-icon { margin-bottom:22px; }
 .ve-equation { padding:35px 25px; }
 .ve-workspace { padding:23px; }
 .ve-workspace-top { flex-direction:column; gap:0; margin-bottom:20px; }
 .ve-workspace .ed-controls { grid-template-columns:1fr; }
 .ve-inbox-row { grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:25px 0; }
 .ve-case-id { grid-column:1/-1; }
 .ve-inbox-row>div { grid-column:1/-1; }
 .ve-inbox-row h3 { font-size:21px; }
 .ve-inbox-row button { justify-self:end; }
 .ve-case-dialog { padding:24px; }
 .ve-case-dialog h2 { font-size:29px; }
 .ve-lab { gap:35px; }
 .ve-pipeline { padding:22px; }
 .ve-pipeline-steps li { gap:13px; flex-wrap:wrap; }
 .ve-pipeline-steps li>span { width:32px; height:32px; }
 .ve-pipeline-steps li>b { margin-left:45px; flex-basis:100%; }
 .ve-pipeline-steps h2 { font-size:24px; }
 .ve-pipeline-steps p { font-size:13px; }
 .ve-flow-result { padding:22px; min-height:0; }
 .ve-input-note { padding:24px; }
 .ve-input-note>p { font-size:20px; }
 .ve-impact-result { padding:30px; }
 .ve-impact-result>strong { font-size:74px; }
}
@media(max-width:380px) {
 .ed-controls { grid-template-columns:1fr; }
 .pu-hero h1 { font-size:72px; }
 .su-hero h1 { font-size:55px; }
 .ve-hero h1 { font-size:42px; }
 .su-seating { gap:4px; padding-inline:10px; }
 .su-seat-table { width:43px; }
 .ar-swatches button { gap:15px; }
 .ar-swatches i { width:35px; height:35px; }
}
@media(prefers-reduced-motion:reduce) {
 .ar-cladding,.ve-impact-bars [data-impact-bar] { transition:none; }
}
