/* Shared demo navigation. Each concept has its own visual identity. */
/* Self-hosted Google Fonts. Licenses are included alongside the files. */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../../assets/fonts/dm-sans-latin-ext.a5d38fe99f93.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../../assets/fonts/dm-sans-latin.9fea608a947e.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(../../assets/fonts/manrope-latin-ext.3911b66d9f2e.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(../../assets/fonts/manrope-latin.a30ddcd34970.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{--ink:#222a23;--muted:#738072;--paper:#f6f7f3;--surface:#fff;--line:#e5e8df;--accent:#c9ed8b;--accent-ink:#3f6122;--radius:16px;--display:'Manrope',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:14px/1.6 'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--paper)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button{color:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);line-height:1.2}h1{letter-spacing:-.055em}h2{letter-spacing:-.04em}p{color:var(--muted)}[hidden]{display:none!important}.skip{position:absolute;top:-100px;left:20px;z-index:100;background:var(--surface);padding:12px}.skip:focus{top:60px}
.demo-bar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:48px;padding:8px 28px;background:#222b21;color:#fff;font-size:11px}.demo-bar> a{white-space:nowrap}.demo-bar strong{color:#c9ed8b;font-weight:600}.demo-switch{display:flex;gap:5px;align-items:center}.demo-switch a{padding:5px 11px;border-radius:5px;color:#c5ccc1}.demo-switch a[aria-current=page]{background:#ffffff19;color:#fff}.demo-quote{border-bottom:1px solid #a4c780}.demo-tag{letter-spacing:.04em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:43px;padding:11px 19px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font-weight:600;font-size:12px}.btn:hover{filter:brightness(.97)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-quiet{background:transparent}.eyebrow{display:block;font-size:10px;letter-spacing:.17em;font-weight:600;margin-bottom:19px}.pill{display:inline-flex;align-items:center;padding:4px 9px;border-radius:6px;background:color-mix(in srgb,var(--accent) 25%,var(--surface));color:var(--accent-ink);font-size:10px;font-weight:600}.avatar{display:inline-grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;background:#e7edde;color:#667c43;font-size:10px;font-weight:700}.muted{color:var(--muted)}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:100;background:var(--ink);color:var(--surface);padding:12px 22px;border-radius:10px;box-shadow:0 12px 40px #0003;max-width:calc(100% - 32px);font-size:12px}.modal{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:32px;width:560px;max-width:calc(100% - 28px);max-height:90dvh;overflow:auto}.modal::backdrop{background:#0e172c99;backdrop-filter:blur(5px)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.modal h2{font-size:25px;margin-bottom:10px}.close{background:transparent;border:0;font-size:24px;padding:0 8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px;text-align:left}.field label{font-size:11px;font-weight:600}.field input,.field select,.field textarea,.search-input,.filter-select{width:100%;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;padding:11px 12px;min-height:43px}.field textarea{min-height:100px;resize:vertical}.field.full{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:23px}.form-note{font-size:11px;margin-top:15px}.form-result{padding:15px;background:color-mix(in srgb,var(--accent) 20%,var(--surface));border-radius:8px;color:var(--ink);margin-top:15px}.empty{padding:35px;text-align:center;color:var(--muted)}
/* Business application: Flow */
.app-shell{display:grid;grid-template-columns:222px minmax(0,1fr);min-height:calc(100dvh - 48px)}.sidebar{background:var(--surface);border-right:1px solid var(--line);padding:31px 20px;display:flex;flex-direction:column;gap:30px}.app-brand{font-family:var(--display);font-size:30px;font-weight:800;letter-spacing:-.06em;line-height:1}.app-brand span{color:#81a546}.workspace-label{border:1px solid var(--line);padding:12px;border-radius:9px;font-size:11px;display:flex;align-items:center;gap:9px}.sidebar-label{font-size:9px;letter-spacing:.13em;color:var(--muted);margin:0 12px 10px}.side-nav{display:flex;flex-direction:column;gap:5px}.side-nav a{padding:11px 13px;border-radius:8px;color:var(--muted);display:flex;align-items:center;gap:12px;font-size:12px}.side-nav a[aria-current=page]{background:color-mix(in srgb,var(--accent) 22%,var(--surface));color:var(--ink);font-weight:600}.side-nav .nav-icon{font-size:17px;line-height:1;width:20px}.sidebar-bottom{margin-top:auto}.demo-help{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:16px;font-size:11px}.demo-help p{font-size:10px;margin:7px 0 13px}.demo-help button{width:100%;font-size:10px;padding:8px}.app-main{min-width:0}.app-topbar{padding:20px 36px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px}.profile{display:flex;align-items:center;gap:11px}.profile small{display:block;color:var(--muted);font-size:9px}.app-content{padding:32px 36px 40px;max-width:1560px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}.page-heading h1{font-size:29px;margin:0 0 7px}.page-heading p{font-size:12px;margin:0}.heading-actions{display:flex;gap:9px;align-items:center}.filter-select{width:auto;font-size:11px;max-width:180px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:23px}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:21px}.stat-top{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.stat-icon{color:var(--accent-ink);background:color-mix(in srgb,var(--accent) 23%,var(--surface));border-radius:8px;width:29px;height:29px;display:grid;place-items:center}.stat-card strong{display:block;font-family:var(--display);font-size:29px;letter-spacing:-.04em;margin:7px 0 9px}.stat-card small{font-size:10px;color:var(--muted)}.stat-card small b{font-weight:500;color:var(--accent-ink)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(250px,1fr);gap:23px;margin-bottom:23px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panel-pad{padding:23px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:17px}.panel-heading h2{font-size:14px;margin:0}.panel-heading a,.panel-heading button{font-size:10px;color:var(--muted)}.plain-btn{border:0;background:transparent;padding:5px}.chart{height:185px;position:relative;display:flex;gap:15px}.chart-scale{display:flex;flex-direction:column;justify-content:space-between;font-size:9px;color:var(--muted);padding-bottom:20px}.chart-area{flex:1;min-width:0}.chart-area svg{width:100%;height:160px;overflow:visible}.chart-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.chart-grid{stroke:var(--line);stroke-dasharray:4 5}.chart-line{stroke:#7d9d43;stroke-width:3;fill:none}.chart-fill{fill:var(--accent);opacity:.2}.chart-summary{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:10px;color:var(--muted)}.chart-summary b{font-size:19px;color:var(--ink)}.goal-ring{display:block;width:131px;height:131px;margin:7px auto 17px;transform:rotate(-90deg)}.goal-ring circle{fill:none;stroke-width:9}.goal-copy{text-align:center}.goal-copy strong{font-size:24px;display:block;margin-top:-111px;margin-bottom:84px}.goal-copy p{font-size:11px;margin:0}.goal-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:10px;padding-top:12px;margin-top:18px}.table-toolbar{display:flex;align-items:center;gap:12px;padding:20px 23px;border-bottom:1px solid var(--line)}.table-toolbar h2{font-size:14px;margin:0 auto 0 0}.search-input{max-width:240px;font-size:11px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}th{font-size:9px;letter-spacing:.035em;font-weight:500;color:var(--muted);background:var(--paper);padding:12px 23px}td{padding:15px 23px;border-bottom:1px solid var(--line);font-size:11px}tr:last-child td{border-bottom:0}.client-cell{display:flex;gap:10px;align-items:center}.client-cell small{display:block;font-size:9px;color:var(--muted)}.status-select{font-size:10px;color:var(--accent-ink);border:1px solid var(--line);background:color-mix(in srgb,var(--accent) 15%,var(--surface));padding:5px 8px;border-radius:6px;max-width:135px}.activity-list{display:flex;flex-direction:column;gap:18px}.activity{display:flex;gap:11px;align-items:center}.activity p{font-size:11px;margin:0;color:var(--ink)}.activity small{display:block;color:var(--muted);font-size:9px}.bottom-note{font-size:10px;color:var(--muted);margin:20px 0 0}.task-list{display:flex;flex-direction:column;gap:12px}.task-row{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:10px}.task-row input{accent-color:#89a957;width:17px;height:17px}.task-row label{flex:1}.task-row:has(input:checked) label{text-decoration:line-through;color:var(--muted)}.client-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.client-card h2{font-size:16px;margin-top:16px}.client-card p{font-size:11px}.client-card .avatar{width:45px;height:45px;font-size:13px}
/* Business application: Pulse */
.pulse{--ink:#ecedf7;--muted:#969ab2;--paper:#10111b;--surface:#191b29;--line:#2c2e42;--accent:#a694fa;--accent-ink:#c5b8ff}.pulse .demo-bar{background:#080912}.pulse .demo-bar strong{color:#baacff}.pulse .app-brand span{color:var(--accent)}.pulse .sidebar{background:#141520}.pulse .app-topbar{background:#141520}.pulse .btn-primary{color:#1a1335}.pulse .avatar{background:#35304d;color:#d2c7ff}.pulse .stat-icon{background:#343047}.pulse .side-nav a[aria-current=page]{background:#302943;color:#d5cbff}.pulse .app-content{padding-top:32px}.pulse .page-heading h1{font-size:31px}.pulse .chart-line{stroke:var(--accent)}.pulse .goal-ring{stroke:var(--accent)}.project-overview{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:22px;margin-bottom:22px}.sprint-banner{background:linear-gradient(115deg,#2a2445,#222038);border:1px solid #494060;border-radius:16px;padding:25px;position:relative;overflow:hidden}.sprint-banner h2{font-size:22px;margin:10px 0}.sprint-banner p{font-size:11px;max-width:340px;margin-bottom:22px}.sprint-banner::after{content:'✳';font-size:180px;line-height:1;position:absolute;right:20px;top:5px;color:#9984e333;pointer-events:none}.sprint-meta{display:flex;gap:24px;position:relative;z-index:1;font-size:11px}.sprint-meta strong{display:block;color:#dfd5ff;font-size:20px}.progress-track{height:5px;background:var(--line);border-radius:9px;overflow:hidden;margin-top:12px}.progress-track span{display:block;height:100%;background:var(--accent);border-radius:9px}.view-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:22px 0}.view-tabs{display:flex;gap:7px;padding:4px;border:1px solid var(--line);border-radius:8px}.view-tabs a{padding:5px 14px;border-radius:5px;font-size:11px}.view-tabs a[aria-current=page]{background:#343047}.kanban{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.kanban-column{background:#141622;border:1px solid var(--line);border-radius:13px;padding:15px;min-height:380px}.kanban-title{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin-bottom:17px}.kanban-title span{display:flex;align-items:center;gap:8px}.kanban-title i{width:6px;height:6px;border-radius:50%;background:#a694fa}.kanban-title b{color:var(--muted);background:var(--surface);padding:1px 7px;border-radius:4px;font-size:10px;font-weight:400}.task-card{background:var(--surface);border:1px solid var(--line);padding:17px;border-radius:10px;margin-bottom:12px}.task-card h3{font-size:12px;line-height:1.5;margin:11px 0 9px}.task-card p{font-size:10px;margin-bottom:14px}.task-card .card-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.task-card select{font-size:9px;max-width:115px}.task-card .avatar{width:25px;height:25px;font-size:8px}.add-task{width:100%;border:1px dashed var(--line);border-radius:8px;padding:10px;background:transparent;font-size:10px;color:var(--muted)}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.team-card h2{font-size:17px;margin:17px 0 5px}.team-card p{font-size:11px}.timeline{display:flex;flex-direction:column;gap:14px}.timeline-row{display:grid;grid-template-columns:190px 1fr;gap:20px;align-items:center;padding:17px;border:1px solid var(--line);border-radius:10px}.timeline-row h3{font-size:12px;margin:0 0 5px}.timeline-row small{font-size:10px;color:var(--muted)}.timeline-bar{background:#2e2946;border-radius:7px;min-height:34px;padding:8px 13px;font-size:10px;color:#d9ccff;border-left:3px solid var(--accent)}
/* Editorial website: Forma */
.forma{--paper:#f5f2eb;--surface:#ece8df;--ink:#302e29;--muted:#817d72;--line:#d9d4c8;--accent:#9a674c;--accent-ink:#fff;--display:Georgia,'Times New Roman',serif}.web-container{width:calc(100% - 112px);max-width:1320px;margin:auto}.web-header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px 0;border-bottom:1px solid var(--line)}.web-brand{font-family:var(--display);font-size:38px;letter-spacing:-.06em;line-height:1}.web-brand sup{font-family:Arial,sans-serif;font-size:12px;margin-left:5px;vertical-align:top;line-height:2}.web-nav{display:flex;gap:28px;font-size:11px}.web-nav a:hover{color:var(--accent)}.web-header .btn{background:transparent;border-color:var(--ink);font-size:10px;border-radius:0}.menu-button{display:none;background:transparent;border:1px solid var(--line);padding:8px 12px}.web-hero{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;padding:55px 0 66px}.web-hero h1{font-size:clamp(46px,5.8vw,83px);line-height:1.02;font-weight:400;margin-bottom:24px}.web-hero h1 em{color:var(--accent);font-weight:400}.web-hero p{max-width:360px;font-size:12px;line-height:1.9;margin-bottom:27px}.forma .btn-primary{background:var(--ink);color:var(--paper);border-color:var(--ink);border-radius:0;padding:13px 20px;font-size:10px}.hero-footnote{margin-top:40px;display:flex;align-items:center;gap:15px;color:var(--muted);font-size:9px}.hero-footnote::before{content:'';width:32px;height:1px;background:var(--muted)}.editorial-art{position:relative;background:#cfc7b7;min-width:0}.editorial-art img{width:100%;height:465px;object-fit:cover}.art-caption{position:absolute;bottom:20px;left:20px;right:20px;display:flex;justify-content:space-between;color:#fff;font-size:9px;padding:11px 14px;background:#302e29b8;backdrop-filter:blur(8px)}.art-index{position:absolute;top:20px;left:20px;border:1px solid #ffffffa6;color:#fff;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;font-size:9px}.web-facts{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);padding:27px 0;margin-bottom:0}.web-facts>div{border-right:1px solid var(--line);padding-left:32px}.web-facts>div:first-child{padding-left:0}.web-facts>div:last-child{border:0}.web-facts strong{display:block;font-family:var(--display);font-weight:400;font-size:28px}.web-facts span{font-size:9px;color:var(--muted)}.web-section{padding:80px 0;scroll-margin-top:65px}.web-section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:35px}.web-section-heading h2{font-size:40px;font-weight:400;margin:0}.web-section-heading p{font-size:11px;max-width:310px;margin:0}.web-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}.web-filters button{background:transparent;border:1px solid var(--line);padding:7px 17px;font-size:10px;border-radius:0}.web-filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.portfolio-card{border:0;padding:0;background:transparent;text-align:left}.portfolio-card .portfolio-art{overflow:hidden;background:#ddd6c9}.portfolio-card img{height:245px;width:100%;object-fit:cover;transition:transform .5s}.portfolio-card:nth-child(2) img{filter:brightness(.84) sepia(.2);transform:scaleX(-1)}.portfolio-card:nth-child(3) img{filter:grayscale(.7) brightness(1.15)}.portfolio-card:hover img{transform:scale(1.04)}.portfolio-card h3{font-size:22px;font-weight:400;margin:17px 0 6px}.portfolio-card span{font-size:9px;color:var(--muted)}.about-section{background:#e9e5dc}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.about-grid img{height:390px;width:100%;object-fit:cover;filter:sepia(.3);transform:scaleX(-1)}.about-grid h2{font-size:43px;font-weight:400}.about-grid p{font-size:12px;line-height:1.9}.service-lines{margin:24px 0 0}.service-lines details{border-top:1px solid var(--line);padding:17px 0}.service-lines summary{cursor:pointer;font-size:12px}.service-lines p{font-size:11px;margin:12px 0 0}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.process-grid article{border-top:1px solid var(--line);padding-top:24px}.process-grid span{font-family:var(--display);font-size:33px;color:var(--accent)}.process-grid h3{font-size:22px;font-weight:400;margin:15px 0}.process-grid p{font-size:11px}.web-contact{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:90px}.web-contact h2{font-size:52px;font-weight:400;line-height:1.08}.web-contact p{font-size:11px;max-width:320px}.web-contact form{background:var(--surface);padding:29px}.web-contact input,.web-contact select,.web-contact textarea{background:var(--paper);border-radius:0}.web-footer{border-top:1px solid var(--line);padding:25px 0;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted)}.project-dialog img{height:230px;width:100%;object-fit:cover;margin:20px 0}.project-dialog p{font-size:12px}.project-facts{display:flex;gap:25px;font-size:11px;margin-bottom:25px}
/* Hospitality website: Luma */
.luma{--paper:#faf8f2;--surface:#fff;--ink:#163e38;--muted:#7b8980;--line:#dfe5dc;--accent:#d9b477;--accent-ink:#163e38;--display:'Manrope',sans-serif}.luma .web-brand{font-family:Georgia,serif;letter-spacing:-.06em;font-size:33px}.luma .web-header{border:0}.luma .web-header .btn{background:var(--ink);border-color:var(--ink);color:#fff;border-radius:7px}.luma-hero{position:relative;min-height:540px;background:#173e38;overflow:hidden;border-radius:16px;color:#fff;padding:64px 62px}.luma-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.luma-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0d292cdd,#0d292c44 64%,#0d292c00)}.luma-hero-copy{position:relative;z-index:1;max-width:580px}.luma-hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(45px,6vw,78px);line-height:1.04;margin:20px 0}.luma-hero h1 em{color:#e6c594}.luma-hero p{color:#d5e1dc;max-width:330px;font-size:12px;margin:25px 0}.luma-hero .btn{border-radius:7px;background:#e6c594;border-color:#e6c594;color:#163e38}.luma-hero .eyebrow{color:#e6c594}.hero-stamp{position:absolute;bottom:37px;right:37px;z-index:2;width:100px;height:100px;border:1px solid #f4e0b799;border-radius:50%;display:grid;place-items:center;text-align:center;font-family:Georgia,serif;font-size:18px;line-height:1.25;color:#f4e0b7;transform:rotate(12deg)}.booking-strip{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:22px 25px;display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:23px;max-width:1000px;margin:-30px auto 0;position:relative;z-index:3;box-shadow:0 12px 35px #1b423b0b}.booking-strip .field input,.booking-strip .field select{border:0;border-radius:0;border-bottom:1px solid var(--line);padding:5px 0;background:transparent;min-height:31px;font-size:12px}.booking-strip .btn{align-self:center;min-height:51px;background:var(--ink);border-color:var(--ink);color:#fff}.luma .web-section-heading h2{font-family:Georgia,serif;font-size:44px;font-weight:400}.luma .web-section-heading h2 em{color:#a68650}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.room-card{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}.room-image{position:relative}.room-image img{height:210px;width:100%;object-fit:cover}.room-card:nth-child(2) img{filter:sepia(.4);transform:scaleX(-1)}.room-card:nth-child(3) img{filter:brightness(.88)}.room-image .pill{position:absolute;top:15px;left:15px;background:#ffffffe8;color:var(--ink)}.room-body{padding:21px}.room-body h3{font-family:Georgia,serif;font-size:24px;font-weight:400;margin:0 0 7px}.room-body p{font-size:10px}.room-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px;margin-top:19px}.room-bottom strong{font-size:20px;font-weight:500}.room-bottom small{font-size:9px;color:var(--muted)}.room-bottom button{padding:8px 12px;min-height:36px;font-size:10px}.experience-section{background:#eaf0e8;border-radius:17px;padding:47px;display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}.experience-section img{width:100%;height:350px;object-fit:cover;border-radius:12px}.experience-section h2{font-family:Georgia,serif;font-size:43px;font-weight:400}.experience-section p{font-size:12px}.experience-list{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:30px}.experience-list strong{display:block;font-size:12px;margin-bottom:5px}.experience-list span{font-size:10px;color:var(--muted)}.testimonial{padding:65px 20px 0;text-align:center;max-width:750px;margin:auto}.testimonial blockquote{font-family:Georgia,serif;font-size:26px;line-height:1.5;font-style:italic;margin:20px 0;color:var(--ink)}.testimonial span{font-size:10px;color:var(--muted)}.luma .web-contact{padding-bottom:65px}.luma .web-contact h2{font-family:Georgia,serif;font-size:47px}.luma .service-lines{margin:0}.luma .service-lines details{padding:19px 0}.luma .btn-primary{background:var(--ink);color:#fff;border-color:var(--ink)}.booking-summary{padding:19px;background:var(--paper);border:1px solid var(--line);border-radius:9px;display:flex;justify-content:space-between;align-items:center;margin-top:20px;font-size:11px}.booking-summary strong{font-size:24px}.booking-error{font-size:11px;color:#a04a32;margin:12px 0 0}
@media(min-width:1600px){.app-content{padding-top:45px}.web-hero{padding-block:75px}.editorial-art img{height:540px}.luma-hero{min-height:590px}}
@media(max-width:1100px){.demo-bar{padding-inline:18px}.demo-tag{display:none}.app-shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding-inline:15px}.app-topbar{padding:19px 23px}.app-content{padding:26px 23px}.stats-grid{gap:10px}.stat-card{padding:16px}.stat-card strong{font-size:24px}.web-container{width:calc(100% - 64px)}.web-hero{gap:35px}.editorial-art img{height:420px}.about-grid{gap:45px}.web-contact{gap:45px}.web-hero h1{font-size:60px}.booking-strip{max-width:92%;gap:15px}.luma-hero{padding:60px 42px}.experience-section{gap:35px;padding:30px}}
@media(max-width:850px){.demo-bar{flex-wrap:wrap;gap:5px 16px;padding:8px 16px}.demo-switch{order:3;width:100%;justify-content:center;border-top:1px solid #ffffff15;padding-top:5px}.demo-quote{margin-left:auto}.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);padding:15px 23px;flex-direction:row;gap:25px;align-items:center}.app-brand{font-size:25px}.workspace-label,.sidebar-label,.sidebar-bottom{display:none}.side-nav{flex-direction:row;gap:4px;flex-wrap:wrap}.side-nav a{padding:7px 9px;font-size:11px;gap:7px}.side-nav .nav-icon{font-size:14px;width:16px}.app-topbar{padding:12px 23px}.app-content{padding:25px 23px}.web-nav{gap:16px}.web-header{gap:17px}.web-header>.btn{display:none}.web-hero{gap:30px;padding-block:35px}.web-hero h1{font-size:49px}.editorial-art img{height:370px}.web-facts>div{padding-left:20px}.web-section{padding-block:60px}.web-section-heading h2{font-size:34px}.portfolio-card img{height:190px}.about-grid{gap:30px}.about-grid h2{font-size:34px}.about-grid img{height:345px}.web-contact h2{font-size:43px}.portfolio-grid{gap:15px}.luma-hero{min-height:480px;padding:50px 35px}.room-grid{gap:15px}.room-image img{height:175px}.room-body{padding:16px}.room-bottom{flex-wrap:wrap;gap:12px}.experience-section{gap:25px}.experience-section h2{font-size:34px}.experience-section img{height:330px}}
@media(max-width:600px){.demo-switch a{padding:4px 13px;font-size:10px}.demo-bar{font-size:10px}.demo-switch{justify-content:space-between}.app-content{padding:22px 16px}.sidebar{padding:17px 16px;display:block}.sidebar .app-brand{display:block;margin-bottom:15px}.side-nav{justify-content:space-between}.side-nav a{font-size:10px;padding:7px}.side-nav .nav-icon{display:none}.app-topbar{padding:10px 16px}.page-heading{align-items:flex-start;flex-direction:column;gap:17px}.page-heading h1,.pulse .page-heading h1{font-size:26px}.heading-actions{width:100%;justify-content:space-between}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card strong{font-size:23px}.stat-top{font-size:10px}.stat-card small{font-size:9px}.dashboard-grid,.project-overview{grid-template-columns:1fr}.goal-panel{display:none}.table-toolbar{padding:15px;flex-wrap:wrap}.table-toolbar h2{flex-basis:100%;margin-bottom:4px}.search-input{max-width:none;flex:1;min-width:130px}.table-toolbar .filter-select{max-width:145px}.panel-pad{padding:18px}td,th{padding-inline:16px}.kanban{grid-template-columns:1fr}.kanban-column{min-height:0}.task-card h3{font-size:13px}.view-toolbar{flex-wrap:wrap}.view-toolbar>.search-input{flex-basis:100%}.client-grid,.team-grid{grid-template-columns:1fr}.timeline-row{grid-template-columns:1fr;gap:12px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.modal{padding:23px}.web-container{width:calc(100% - 36px)}.web-header{padding:20px 0;flex-wrap:wrap}.web-brand{font-size:33px}.menu-button{display:block}.web-nav{display:none;width:100%;flex-direction:column;gap:0;background:var(--surface);padding:10px}.web-nav.is-open{display:flex}.web-nav a{padding:10px}.web-hero{grid-template-columns:1fr;gap:30px;padding:40px 0}.web-hero h1{font-size:58px}.web-hero p{max-width:330px}.hero-footnote{margin-top:25px}.editorial-art img{height:390px}.web-facts{grid-template-columns:1fr 1fr;gap:25px;padding-block:25px}.web-facts>div:nth-child(2){border:0}.web-facts>div:nth-child(3){padding-left:0}.web-facts strong{font-size:27px}.web-section{padding-block:50px;scroll-margin-top:100px}.web-section-heading{flex-direction:column;align-items:flex-start;gap:20px}.web-section-heading h2{font-size:36px}.portfolio-grid{grid-template-columns:1fr;gap:30px}.portfolio-card img{height:280px}.about-grid{grid-template-columns:1fr;gap:35px}.about-grid img{height:320px}.about-grid h2{font-size:37px}.process-grid{grid-template-columns:1fr;gap:25px}.process-grid article{display:grid;grid-template-columns:45px 1fr;gap:5px 15px}.process-grid article>span{grid-row:1/3}.process-grid h3{margin:3px 0 9px}.web-contact{grid-template-columns:1fr;gap:25px}.web-contact h2{font-size:43px}.web-contact form{padding:22px}.web-footer{flex-wrap:wrap;gap:15px;font-size:9px}.luma-hero{min-height:505px;padding:39px 24px;border-radius:12px}.luma-hero h1{font-size:55px}.luma-hero p{max-width:270px}.hero-stamp{width:75px;height:75px;font-size:15px;right:22px;bottom:25px}.booking-strip{grid-template-columns:1fr 1fr;margin:-15px 12px 0;max-width:none;padding:19px;gap:17px}.booking-strip .btn{min-height:44px;padding-inline:10px;font-size:10px}.luma .web-section-heading h2{font-size:38px}.room-grid{grid-template-columns:1fr;gap:25px}.room-image img{height:260px}.room-body{padding:23px}.room-bottom{flex-wrap:nowrap}.experience-section{grid-template-columns:1fr;padding:24px;gap:30px}.experience-section img{height:280px}.experience-section h2{font-size:37px}.testimonial{padding-top:45px}.testimonial blockquote{font-size:23px}.luma .web-contact h2{font-size:39px}.sprint-meta{gap:19px}.sprint-banner::after{right:-35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

@media(max-width:600px){.profile>span:last-child{display:none}.app-topbar>.profile{flex-shrink:0}.luma .hero-stamp{display:none}}

/* Native dialog fallback for browsers predating showModal. */
html { scrollbar-gutter: stable; }
html.has-dialog { overflow: hidden; }
dialog:not([open]) { display: none; }
.dialog-overlay { position: fixed; inset: 0; z-index: 1000; background: #1d251b80; }
dialog.dialog-fallback[open] { display: block; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); margin: 0; z-index: 1001; max-height: 90vh; overflow-y: auto; }

@media(max-width:760px) { input,select,textarea { font-size:16px!important; } }
@media(max-width:600px) {
  html:not(.demo-ready) .web-nav { display:flex; }
  html:not(.demo-ready) .menu-button { display:none; }
}

/* A little more life, with each concept keeping its own rhythm. */
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.btn,.side-nav a,.demo-switch a,.web-filters button,.view-tabs a{transition:background .2s,color .2s,border-color .2s,box-shadow .2s,translate .2s}
.btn:active{translate:0 1px}
.demo-switch a:hover{background:#ffffff14;color:#fff}
.reading-progress{position:absolute;height:2px;left:0;right:0;bottom:0;background:#c9ed8b;transform-origin:left;scale:0 1;pointer-events:none}
.web-nav a{position:relative;padding-block:4px}
.web-nav a::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--accent);scale:0 1;transform-origin:left;transition:scale .25s}
.web-nav a[aria-current=location]::after{scale:1 1}
.editorial-art{overflow:hidden;box-shadow:14px 14px 0 #ded7c954}
.editorial-art>img,.luma-hero>img{translate:var(--pointer-x,0px) var(--pointer-y,0px);scale:1.035;transition:filter .7s,translate .4s}
.material-picker{margin-top:28px;max-width:350px;border-top:1px solid var(--line);padding-top:18px}
.material-picker>span{font-size:9px;letter-spacing:.15em;color:var(--muted)}
.material-picker>div{display:flex;gap:7px;margin:12px 0}
.material-picker button{display:flex;align-items:center;gap:7px;border:1px solid transparent;background:transparent;padding:7px 10px 7px 5px;font-size:11px;color:var(--muted);transition:background .2s,border-color .2s}
.material-picker button[aria-pressed=true]{border-color:var(--line);background:#fff5;color:var(--ink)}
.material-picker small{font-size:10px;color:var(--muted)}
.swatch{display:block;width:20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 1px #0001}
.swatch.sand{background:linear-gradient(135deg,#d5c5a8,#a58c66)}
.swatch.clay{background:linear-gradient(135deg,#d4a083,#915f4a)}
.swatch.sage{background:linear-gradient(135deg,#c2cabb,#75846b)}
.editorial-art[data-palette=clay]>img{filter:sepia(.35) saturate(1.45) hue-rotate(338deg)}
.editorial-art[data-palette=sage]>img{filter:sepia(.25) hue-rotate(35deg) saturate(.75)}
.editorial-art[data-concept=mieszkanie]>img{object-position:30% 50%;scale:1.2}
.editorial-art[data-concept=komercyjne]>img{object-position:70% 35%;scale:1.08}
.project-dialog[data-concept=mieszkanie]>img{object-position:30% 50%;filter:sepia(.2)}
.project-dialog[data-concept=komercyjne]>img{object-position:70% 35%;filter:grayscale(.7) brightness(1.15)}
.art-controls{position:absolute;right:18px;top:18px;display:flex;gap:7px}
.art-controls button{width:38px;height:38px;border:1px solid #fff8;border-radius:50%;background:#302e2938;color:#fff;backdrop-filter:blur(6px);font-size:17px;transition:background .2s}
.art-controls button:hover{background:#302e2980}
.art-index{background:#302e2938;backdrop-filter:blur(5px)}
.art-caption{align-items:center;gap:12px}
.art-caption button{padding:0;border:0;background:transparent;color:#fff;text-align:left;font-size:12px;font-family:var(--display)}
.art-caption button:hover{text-decoration:underline;text-underline-offset:4px}
.art-caption>span{white-space:nowrap;font-size:8px}
.forma .hero-footnote{margin-top:22px}
.portfolio-art{position:relative}
.portfolio-art::after{content:'Zajrzyj do środka ↗';position:absolute;bottom:14px;right:14px;background:#f5f2ebe8;color:var(--ink);padding:8px 13px;font-size:10px;opacity:0;translate:0 6px;transition:opacity .25s,translate .25s}
.portfolio-card:hover .portfolio-art::after,.portfolio-card:focus-visible .portfolio-art::after{opacity:1;translate:0 0}
.process-grid article{position:relative}
.process-grid article::before{content:'';position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--accent);scale:0 1;transform-origin:left;transition:scale .4s}
.process-grid article:hover::before{scale:1 1}
.service-lines summary{display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none}
.service-lines summary::-webkit-details-marker{display:none}
.service-lines summary::after{content:'+';font-size:19px;font-family:system-ui;font-weight:300;color:var(--accent)}
.service-lines details[open] summary::after{content:'−'}

.luma-hero{padding-bottom:144px}
.luma-hero[data-scene=golden]>img{filter:sepia(.5) saturate(1.3) brightness(.86)}
.luma-hero[data-scene=night]>img{filter:brightness(.42) saturate(.6) hue-rotate(25deg)}
.scene-orb{position:absolute;z-index:1;right:23%;top:12%;width:105px;height:105px;border-radius:50%;background:radial-gradient(circle,#fff2c055,#fff2c000 70%);pointer-events:none;transition:background .7s,box-shadow .7s}
.luma-hero[data-scene=golden] .scene-orb{background:radial-gradient(circle,#ffbb5460,#ffbb5400 70%);box-shadow:0 0 100px 60px #efb66a22}
.luma-hero[data-scene=night] .scene-orb{background:radial-gradient(circle,#e3f1ff88,#e3f1ff00 65%);box-shadow:0 0 85px 40px #9db8e111}
.scene-switch{position:absolute;z-index:2;bottom:48px;left:62px}
.scene-switch>span{font-size:8px;letter-spacing:.16em;color:#e6c594;display:block;margin-bottom:7px}
.scene-switch>div{display:flex;gap:4px;padding:4px;border:1px solid #ffffff30;border-radius:8px;background:#0d292c66;backdrop-filter:blur(10px)}
.scene-switch button{border:0;background:transparent;color:#e6eadf;font-size:10px;padding:7px 11px;border-radius:5px;transition:background .2s,color .2s}
.scene-switch button[aria-pressed=true]{background:#e6c594;color:#163e38}
.stay-shortcuts{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:center;padding:22px 0 0;font-size:11px;color:var(--muted)}
.stay-shortcuts .plain-btn{color:var(--ink);font-weight:500}
#stay-preview{border-left:1px solid var(--line);padding-left:12px;font-size:10px}
.room-stay-price{margin:13px 0 0!important;font-size:10px!important;color:var(--ink)!important}
.room-image{overflow:hidden}
.room-image img{transition:scale .6s}
.room-card,.stat-card,.client-card,.team-card{transition:border-color .25s,box-shadow .25s,translate .25s}
.booking-extras{margin:20px 0 0;padding:15px;border:1px solid var(--line);border-radius:9px}
.booking-extras legend{font-size:11px;padding:0 7px;font-weight:600}
.booking-extras label{display:flex;align-items:center;gap:9px;font-size:11px;padding:7px 0;cursor:pointer;flex-wrap:wrap}
.booking-extras input{accent-color:var(--ink);width:16px;height:16px;flex-shrink:0}
.booking-extras label span{margin-left:auto;color:var(--muted);font-size:10px}
.price-breakdown{font-size:11px;margin:16px 0 0}
.booking-summary{margin-top:9px;gap:16px}

.flow .app-main{background:radial-gradient(ellipse at 90% 0,#d7e9bf33,transparent 55%)}
.pulse .app-main{background:radial-gradient(ellipse at 80% 0,#56419522,transparent 55%)}
.stat-card{position:relative;overflow:hidden}
.stat-card::after{content:'';position:absolute;width:100px;height:100px;right:-30px;bottom:-40px;border-radius:50%;background:var(--accent);opacity:.07;pointer-events:none}
.stat-card strong{font-variant-numeric:tabular-nums}
.pulse .sprint-banner::after{rotate:-12deg}
.progress-track span{transform-origin:left}
.task-card{position:relative;transition:border-color .2s,box-shadow .2s,opacity .2s}
.task-card[draggable=true]{cursor:grab}
.task-card[draggable=true]:active{cursor:grabbing}
.task-card::after{content:'⠿';position:absolute;top:15px;right:15px;color:var(--muted);opacity:.45;font-size:17px;pointer-events:none}
.task-card.is-dragging{opacity:.35;border-style:dashed}
.kanban-column{transition:border-color .2s,background .2s}
.kanban-column.drop-active{border-color:var(--accent);background:#a694fa15;box-shadow:inset 0 0 0 1px var(--accent)}
.board-options{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:-4px 0 16px}
.board-options p{font-size:10px;margin:0;max-width:400px}
.board-options .btn{font-size:10px;min-height:32px;padding:6px 11px;flex-shrink:0}
.compact-board .task-card>p,.compact-board .task-card>.muted{display:none}
.compact-board .task-card{padding:12px 15px}
.compact-board .task-card h3{margin-block:10px}
.compact-board .task-card .card-footer{margin-top:8px;padding-top:8px}
.command-trigger{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-left:auto;color:var(--muted);border:1px solid var(--line);background:var(--paper);border-radius:7px;padding:7px 10px;font-size:10px;min-height:34px}
kbd{font-family:inherit;font-size:9px;background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:1px 5px;white-space:nowrap}
.command-dialog{padding:25px;max-height:80dvh}
.command-dialog .search-input{max-width:none;margin:14px 0 12px;font-size:14px}
.command-results{display:flex;flex-direction:column;gap:4px;max-height:45dvh;overflow:auto;padding:4px}
.command-item{border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);padding:12px;text-align:left;display:flex;justify-content:space-between;align-items:center;font-size:13px}
.command-item:hover,.command-item:focus-visible{background:var(--paper);border-color:var(--line)}
.command-item small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.chart-area{position:relative}
.chart-points{position:absolute;top:0;left:0;right:0;height:160px;pointer-events:none}
.chart-point{position:absolute;translate:-50% -50%;width:28px;height:28px;padding:0;border:0;background:transparent;border-radius:50%;display:grid;place-items:center;pointer-events:auto}
.chart-point span{height:8px;width:8px;border-radius:50%;background:var(--accent-ink);border:2px solid var(--surface);box-shadow:0 0 0 1px var(--accent);transition:scale .2s,box-shadow .2s}
.chart-point:hover span,.chart-point[aria-pressed=true] span,.chart-point:focus-visible span{scale:1.4;box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 25%,transparent)}
.chart-detail{display:block;font-size:10px;color:var(--muted);margin-top:12px;min-height:18px}
.toast{animation:toast-enter .3s ease-out}
@keyframes toast-enter{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@media(hover:hover) and (pointer:fine){
  .btn:hover{translate:0 -2px;box-shadow:0 5px 15px #00000009}
  .side-nav a:hover{background:var(--paper);color:var(--ink)}
  .room-card:hover,.client-card:hover,.team-card:hover{translate:0 -4px;box-shadow:0 14px 30px #163e380a;border-color:color-mix(in srgb,var(--accent) 60%,var(--line))}
  .room-card:hover img{scale:1.04}
  .stat-card:hover{border-color:var(--accent);box-shadow:0 5px 22px #00000005}
  .task-card:hover{border-color:#5d527e;box-shadow:0 8px 24px #0002}
}
@media(max-width:1100px){.scene-switch{left:42px}.app-topbar{gap:12px}.command-trigger{gap:8px}.command-trigger kbd{display:none}}
@media(max-width:850px){.scene-switch{left:35px}.app-topbar>span{font-size:10px}.profile>span:last-child{display:none}}
@media(max-width:600px){
  .editorial-art{box-shadow:7px 7px 0 #ded7c954}
  .art-caption{left:12px;right:12px;bottom:14px;padding:12px}
  .art-caption button{font-size:12px}.art-caption>span{font-size:7px}
  .portfolio-art::after{opacity:1;translate:0 0}
  .luma-hero{padding-bottom:144px;min-height:590px}
  .scene-switch{left:24px;right:24px;bottom:38px}
  .scene-switch>div{width:fit-content;max-width:100%}
  .scene-switch button{padding:7px 9px;font-size:10px}
  .scene-orb{width:70px;height:70px;right:12%;top:13%}
  .stay-shortcuts{gap:8px;padding-inline:12px;text-align:center}
  #stay-preview{width:100%;border:0;padding:0}
  .booking-extras label span{margin-left:25px}
  .booking-summary{flex-wrap:wrap}
  .board-options{align-items:flex-start}.board-options p{font-size:9px;max-width:210px}
  .app-topbar{flex-wrap:wrap}.app-topbar>span{flex-basis:100%}
  .command-trigger{margin-left:0;flex:1;justify-content:flex-start;font-size:11px}
  .command-trigger kbd{display:inline}.profile .pill{display:none}
  .heading-actions{flex-wrap:wrap;gap:8px}
}
@media(prefers-reduced-motion:reduce){
  .editorial-art>img,.luma-hero>img{translate:0 0!important}
  .btn:hover,.room-card:hover,.client-card:hover,.team-card:hover{translate:0 0}
}
html:not(.demo-ready) :is(.material-picker,.art-controls,.scene-switch,.scene-orb,.stay-shortcuts,.command-trigger){display:none}
@media(max-width:360px){
  .booking-strip{grid-template-columns:1fr}
  .booking-strip .btn{width:100%}
  .luma-hero h1{font-size:47px}
  .scene-switch{left:18px;right:18px}
  .scene-switch button{padding-inline:7px;font-size:9px}
  .material-picker button{padding-right:7px}
  .art-caption{flex-wrap:wrap;gap:6px}
  .board-options{flex-wrap:wrap}
}

/* Mobile editions keep the identity of each demo and put controls within reach. */
@media (max-width: 760px) {
  html { scrollbar-gutter: auto; scroll-padding-top: 20px; }
  .field, .form-grid, .booking-strip, .heading-actions { min-width: 0; }
  .field input, .field select, .field textarea { min-width: 0; min-height: 48px; }
  .btn, .forma .btn-primary, .room-bottom button { min-height: 48px; font-size: 13px; }
  .close { min-width: 44px; min-height: 44px; flex-shrink: 0; }
  .modal { padding: 24px 20px; max-height: calc(100dvh - 28px); overscroll-behavior: contain; }
  .modal-head { gap: 10px; }
  .modal h2 { font-size: 24px; }
  .form-actions { flex-wrap: wrap; }
  .form-actions .btn { flex: 1; }
  .form-note, .form-result, .booking-error { font-size: 12px; }
}
@media (max-width: 600px) {
  .demo-bar { position: relative; padding: 4px 16px 8px; gap: 0 8px; font-size: 10px; }
  .demo-bar>a { display: inline-flex; align-items: center; min-height: 44px; }
  .demo-quote { border: 0; text-decoration: underline; text-underline-offset: 4px; }
  .demo-switch { padding-top: 4px; gap: 4px; }
  .demo-switch a { flex: 1; text-align: center; padding: 10px 4px; min-height: 44px; font-size: 12px; border-radius: 8px; }
  .web-container { width: calc(100% - 40px); }
  .web-header { padding-block: 18px; }
  .menu-button { min-height: 44px; min-width: 72px; font-size: 12px; }
  .web-nav { padding: 8px; border: 1px solid var(--line); margin-top: 4px; }
  .web-nav a { min-height: 48px; padding: 13px 12px; font-size: 14px; }
  .web-hero { padding-block: 32px 44px; gap: 28px; }
  .web-hero h1 { font-size: clamp(46px, 13vw, 68px); line-height: 1.04; }
  .web-hero p, .about-grid p, .web-section-heading p, .web-contact p { font-size: 14px; line-height: 1.8; max-width: none; }
  .eyebrow { font-size: 10px; letter-spacing: .12em; line-height: 1.7; }
  .material-picker { margin-top: 22px; }
  .material-picker>div { gap: 4px; flex-wrap: wrap; }
  .material-picker button { min-height: 44px; font-size: 12px; padding-inline: 7px; }
  .material-picker small, .hero-footnote { font-size: 11px; }
  .editorial-art img { height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
  .art-controls button { width: 44px; height: 44px; }
  .art-caption { flex-wrap: wrap; gap: 6px; }
  .art-caption button { min-height: 44px; font-size: 15px; }
  .art-caption>span { font-size: 9px; }
  .web-facts { gap: 24px 16px; }
  .web-facts>div { padding-left: 0; border: 0; }
  .web-facts strong { font-size: clamp(24px, 6.8vw, 30px); }
  .web-facts span { font-size: 9px; line-height: 1.6; display: block; margin-top: 6px; }
  .web-section { padding-block: 52px; }
  .web-section-heading h2, .about-grid h2, .experience-section h2 { font-size: clamp(30px, 9vw, 40px); }
  .web-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .web-filters button { min-height: 44px; font-size: 12px; padding-inline: 10px; }
  .portfolio-card img, .room-image img { height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
  .portfolio-card span { font-size: 11px; }
  .service-lines summary { min-height: 44px; font-size: 14px; }
  .service-lines p, .process-grid p { font-size: 13px; line-height: 1.8; }
  .web-contact h2, .luma .web-contact h2 { font-size: clamp(34px, 10.5vw, 46px); }
  .web-contact form { padding: 22px 18px; }
  .web-footer { align-items: flex-start; font-size: 11px; gap: 20px; }
  .web-footer .web-brand { flex-basis: 100%; }
  .project-facts { flex-wrap: wrap; gap: 8px; }
  .luma-hero { min-height: 0; padding: 32px 22px 138px; border-radius: 18px; }
  .luma-hero::after { background: linear-gradient(90deg, #0d292ce8, #0d292c70); }
  .luma-hero h1 { font-size: clamp(42px, 12.2vw, 58px); }
  .luma-hero p { font-size: 14px; line-height: 1.75; }
  .scene-switch { left: 18px; right: 18px; bottom: 34px; }
  .scene-switch>div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; }
  .scene-switch button { min-height: 44px; font-size: 10px; padding-inline: 3px; }
  .booking-strip { margin: -18px 8px 0; padding: 20px 16px; gap: 18px; border-radius: 16px; grid-template-columns: minmax(0, 1fr); }
  .booking-strip .field input, .booking-strip .field select { min-height: 48px; width: 100%; }
  .booking-strip .btn { width: 100%; font-size: 13px; }
  .stay-shortcuts { font-size: 12px; }
  .stay-shortcuts .plain-btn { min-height: 44px; }
  .room-body { padding: 22px; }
  .room-body p, .room-stay-price { font-size: 12px!important; }
  .room-bottom { flex-wrap: wrap; gap: 14px; }
  .room-bottom small { font-size: 11px; }
  .experience-section { padding: 22px; }
  .experience-list { grid-template-columns: 1fr; gap: 18px; }
  .experience-list strong { font-size: 14px; }
  .experience-list span, .testimonial>span { font-size: 12px; }
  .booking-extras label { min-height: 48px; font-size: 13px; }
  .booking-extras input { width: 20px; height: 20px; }

  .app-shell { min-height: calc(100dvh - 100px); }
  .sidebar { padding: 20px 20px 8px; border-bottom: 0; }
  .sidebar .app-brand { margin-bottom: 0; font-size: 29px; width: fit-content; }
  .side-nav { position: fixed; inset: auto 0 0; z-index: 40; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 2px; padding: 8px max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left)); background: var(--surface); border-top: 1px solid var(--line); box-shadow: 0 -8px 30px #0000000a; }
  .pulse .side-nav { background: #141520; box-shadow: 0 -8px 30px #0003; }
  .side-nav a { flex-direction: column; justify-content: center; gap: 5px; padding: 8px 2px; font-size: 10px; line-height: 1.3; min-height: 56px; text-align: center; border-radius: 10px; overflow-wrap: anywhere; }
  .side-nav .nav-icon { display: block; width: auto; font-size: 20px; }
  .app-topbar { border: 0; padding: 12px 20px 18px; gap: 10px; }
  .app-topbar>span { display: none; }
  .command-trigger { min-height: 44px; border-radius: 10px; font-size: 12px; }
  .command-trigger kbd { display: none; }
  .app-content, .pulse .app-content { padding: 26px 20px calc(104px + env(safe-area-inset-bottom)); }
  .page-heading { gap: 20px; margin-bottom: 24px; }
  .page-heading h1, .pulse .page-heading h1 { font-size: clamp(26px, 7.4vw, 32px); line-height: 1.2; text-wrap: balance; }
  .page-heading p { font-size: 13px; line-height: 1.75; }
  .heading-actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .heading-actions .btn, .heading-actions .filter-select { width: 100%; max-width: none; }
  .stats-grid { gap: 12px; }
  .stat-card { padding: 16px 14px; }
  .stat-top { font-size: 11px; gap: 8px; }
  .stat-icon { flex-shrink: 0; width: 24px; height: 24px; }
  .stat-card strong { font-size: clamp(20px, 6vw, 27px); white-space: nowrap; }
  .stat-card small { font-size: 11px; line-height: 1.6; }
  .panel-heading { flex-wrap: wrap; gap: 10px; }
  .panel-heading h2, .table-toolbar h2 { font-size: 15px; }
  .panel-heading a, .panel-heading button { font-size: 12px; min-height: 44px; display: inline-flex; align-items: center; }
  .table-toolbar { gap: 12px; }
  .table-toolbar .search-input, .table-toolbar .filter-select { flex-basis: 100%; width: 100%; max-width: none; }
  .sprint-banner { padding: 24px 20px; }
  .sprint-banner p { font-size: 13px; }
  .sprint-meta { gap: 16px; font-size: 12px; }
  .activity p, .task-card p, .timeline-row h3 { font-size: 13px; }
  .activity small, .timeline-row small, .task-card>.muted { font-size: 11px; }
  .view-tabs { width: 100%; }
  .view-tabs a { flex: 1; text-align: center; min-height: 44px; padding: 11px 5px; font-size: 12px; }
  .view-toolbar>.filter-select { width: 100%; max-width: none; }
  .board-options { flex-wrap: wrap; gap: 12px; }
  .board-options p { font-size: 12px; max-width: none; flex-basis: 100%; }
  .board-options .btn { min-height: 44px; font-size: 12px; }
  .kanban-title { font-size: 13px; }
  .task-card h3 { font-size: 15px; padding-right: 8px; }
  .task-card select { max-width: 170px; }
  .status-select { min-height: 44px; width: 100%; max-width: none; }
  .add-task { min-height: 48px; font-size: 13px; }
  .task-row { flex-wrap: wrap; }
  .task-row input { width: 22px; height: 22px; }
  .task-row label { min-width: 150px; font-size: 14px; overflow-wrap: anywhere; }
  .client-card p, .team-card p { font-size: 13px; overflow-wrap: anywhere; }
  .bottom-note { font-size: 12px; line-height: 1.8; }
  .bottom-note button { min-height: 44px; }
  .toast { bottom: calc(90px + env(safe-area-inset-bottom)); width: calc(100% - 32px); font-size: 13px; }

  /* Labels come from the real column headings; all data stays visible. */
  .mobile-records, .mobile-records tbody { display: block; width: 100%; }
  .mobile-records thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .mobile-records tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; margin: 16px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); white-space: normal; }
  .mobile-records td { display: block; border: 0; padding: 0; font-size: 13px; min-width: 0; overflow-wrap: anywhere; }
  .mobile-records td::before { content: attr(data-label); display: block; margin-bottom: 6px; font-size: 9px; letter-spacing: .06em; color: var(--muted); }
  .mobile-records td:first-child, .mobile-records td:last-child, .mobile-records td[colspan] { grid-column: 1 / -1; }
  .mobile-records td:first-child { font-size: 14px; }
  .mobile-records .client-cell { flex-wrap: wrap; }
  .mobile-records .client-cell small { font-size: 11px; }
  .mobile-records .empty::before { display: none; }
}
@media (max-width: 360px) {
  .web-container { width: calc(100% - 32px); }
  .demo-bar { padding-inline: 12px; font-size: 9px; }
  .app-content, .pulse .app-content { padding-inline: 16px; }
  .stat-top { flex-wrap: wrap; }
  .stat-card { padding-inline: 12px; }
  .mobile-records tr { margin: 12px; padding: 14px; }
  .scene-switch button { font-size: 9px; }
}

/* Each portfolio entry and room has its own generated photograph. */
.portfolio-card:nth-child(2) img,.portfolio-card:nth-child(3) img,.about-grid img,.room-card:nth-child(2) img,.room-card:nth-child(3) img{filter:none;transform:none}
.editorial-art[data-concept=mieszkanie]>img,.editorial-art[data-concept=komercyjne]>img{scale:1.035;object-position:center}
.project-dialog[data-concept=mieszkanie]>img,.project-dialog[data-concept=komercyjne]>img{filter:none;object-position:center}
.portfolio-card:hover img{transform:scale(1.04)}
