/* DelQuro studio redesign. Static, accessible, and progressively enhanced.
   Shared legacy page styles and React Bits source notices remain in refresh.css. */
:root {
  --bg:#0b171b;
  --panel:#102126;
  --muted:#afc2c0;
  --text:#edf4f2;
  --teal:#55dfc5;
  --paper:#eff1e9;
  --ink:#18332f;
  --wrap:1240px;
}
body { background-image:none; }
.wrap { width:min(var(--wrap),calc(100% - 96px)); }
.topbar { background:rgba(11,23,27,.96); }
.navrow { min-height:86px; }
.brand .brand-word { width:142px; }
.pill-nav { border:0; background:none; padding:0; gap:3px; }
.pill-nav a { font-size:13px; padding:10px 14px; border-radius:6px; }
.pill-nav a::before { border-radius:6px; }
.pill-nav a.active { color:var(--teal); background:#17322f; }
.pill-nav a.active::before { transform:translateY(105%); }
.pill-nav a.active:is(:hover,:focus-visible) { color:var(--ink); }
.pill-nav a.active:is(:hover,:focus-visible)::before { transform:none; }
.section { padding:92px 0; }
.eyebrow { font-size:11px; letter-spacing:.13em; }
.eyebrow::before { display:none; }
h1,h2,h3 { text-wrap:balance; }
.section-head { margin-bottom:36px; align-items:end; }
.section-head h2 { font-size:clamp(34px,3.4vw,48px); font-weight:600; letter-spacing:-.045em; }
.section-head>p { font-size:15px; line-height:1.75; max-width:360px; }
.btn { border-radius:6px; min-height:48px; font-size:14px; padding:13px 20px; }
.text-link { font-size:14px; }
.home-hero { padding:72px 0 66px; border-bottom:0; background:radial-gradient(ellipse at 80% 70%,#12373088,transparent 48%); }
.hero-layout { grid-template-columns:1.2fr 1fr; gap:64px; }
.hero-copy h1 { font-size:clamp(56px,6.4vw,88px); font-weight:600; line-height:1.03; letter-spacing:-.065em; margin:24px 0; }
.hero-copy .lead { font-size:17px; line-height:1.8; max-width:535px; }
.hero-copy .actions { gap:22px; margin-top:30px; }
.hero-location { margin:30px 0 0; font-size:12px; color:var(--muted); }
.hero-location span { border-left:1px solid var(--line-2); padding-left:12px; margin-left:12px; }
.gradient-text { background:none; -webkit-text-fill-color:currentColor; color:#9ce7d1; animation:none; }
.studio-art { min-height:380px; border-radius:4px 56px 4px 4px; border-color:#3c6257; background:radial-gradient(ellipse at 50% 35%,#28594a90,transparent 70%),#102723; box-shadow:18px 18px 0 #ffffff03; padding:64px 28px 56px; }
.studio-art::after { content:""; pointer-events:none; position:absolute; inset:10px; border:1px solid #bedbd210; border-radius:0 43px 0 0; }
.studio-art-top,.studio-art-bottom { display:flex; justify-content:space-between; align-items:center; position:absolute; left:25px; right:25px; gap:12px; font-size:10px; color:#bad4ca; letter-spacing:.08em; }
.studio-art-top { top:22px; }
.studio-art-top>span:last-child { font-size:24px; }
.studio-art-bottom { bottom:20px; letter-spacing:0; }
.studio-art .art-coordinate { position:static; font-size:10px; letter-spacing:.1em; }
.studio-art .hero-logo-glitch { width:90%; max-width:340px; }
.studio-art .hero-logo-glitch img { width:100%; }
.studio-art .art-caption { margin-top:7px; font-size:13px; }
.discovery-strip { border-block:1px solid var(--line); background:#0d1e21; }
.discovery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.discovery-grid>a { display:flex; align-items:center; gap:18px; padding:25px 26px; border-right:1px solid var(--line); min-width:0; }
.discovery-grid>a:first-child { padding-left:0; }
.discovery-grid>a:last-child { border-right:0; padding-right:0; }
.discovery-grid>a:hover { background:#ffffff03; }
.discovery-grid b { font-size:30px; font-weight:500; letter-spacing:-.055em; color:var(--teal); }
.discovery-grid>a>span { font-size:14px; font-weight:600; }
.discovery-grid small { display:block; font-size:12px; color:var(--muted); font-weight:400; margin-top:2px; }
.discovery-grid>a>span:last-child { margin-left:auto; color:var(--teal); font-size:20px; }
.available-section { padding-bottom:78px; }
.available-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.app-card { padding:24px; border-radius:12px; background:#102126; border-color:#2a4242; min-height:0; }
.app-card .card-top { margin-bottom:16px; }
.app-card .product-symbol { width:38px; height:38px; border-radius:10px; box-shadow:none; }
.app-card .product-symbol svg { width:24px; height:24px; }
.availability { font-size:11px; padding:6px 10px; font-weight:650; }
.card-demo { height:auto; aspect-ratio:2/1; border-radius:9px; margin:0 0 24px; }
.card-demo .art-open { font-size:11px; padding:8px 11px; }
.app-card .card-category { font-size:11px; margin-bottom:8px; }
.app-card h2,.app-card h3 { font-size:25px; margin-bottom:12px; font-weight:600; }
.card-description { font-size:15px; line-height:1.75; margin-bottom:0; flex:0; }
.card-release-note { font-size:14px; line-height:1.7; margin:20px 0; padding-top:16px; flex:1; }
.card-actions { gap:20px; }
.card-actions .btn { font-size:13px; min-height:46px; padding:11px 16px; }
.card-actions .text-link { font-size:13px; }
.available-grid .app-card { padding:26px; }
.available-grid .card-demo { aspect-ratio:2.4/1; }
.available-grid h3 { font-size:30px; }
.available-grid .card-description { max-width:440px; }
.previews-section { background:#0e1d22; border-top:1px solid var(--line); }
.preview-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.preview-grid .app-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:22px; align-content:start; }
.preview-grid .card-top { grid-column:1/-1; }
.preview-grid .card-demo { grid-column:1; grid-row:2/5; align-self:start; aspect-ratio:1; height:auto; margin:0; }
.preview-grid .card-art { object-fit:contain; }
.preview-grid .card-category,.preview-grid h3,.preview-grid .card-description { grid-column:2; }
.preview-grid h3 { font-size:23px; }
.preview-grid .card-release-note,.preview-grid .card-actions { grid-column:1/-1; }
.preview-grid .card-release-note { margin-top:20px; }
.browse-line { font-size:13px; margin-top:30px; gap:32px; }
.browse-line>span { max-width:620px; }
.browse-line .text-link { flex-shrink:0; }
.client-websites { background:var(--paper); color:var(--ink); --muted:#516560; --text:#18332f; --line:#18332f26; --line-2:#18332f40; }
.client-websites .eyebrow { color:#2e7461; }
.client-websites .section-head>p { color:#516560; }
.website-mockup { background:#fffdf8; grid-template-columns:1.35fr 1fr; border-color:#bacdc3; border-radius:12px; box-shadow:0 18px 54px #143a2f0a; }
.mockup-window { margin:28px 0 28px 28px; box-shadow:0 12px 28px #123b2d14; }
.mockup-copy { padding:36px; }
.mockup-copy h3 { font-size:32px; }
.mockup-copy .mockup-category { font-size:12px; }
.mockup-copy>p:not(.mockup-category) { font-size:15px; }
.mockup-copy>p.mockup-note { font-size:13px; color:#516560; border-color:#618a77; }
.mockup-copy .btn { background:#173e32; border-color:#173e32; color:#fff; }
.mockup-copy .btn:hover { background:#215841; }
.client-websites .mockup-download { color:#24664f; font-size:14px; }
.client-websites :focus-visible { outline-color:#1c715a; }
.category-section { background:var(--bg); border:0; }
.category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.category-tile { padding:26px; border-radius:9px; min-height:240px; background:#102126; }
.category-tile h3 { font-size:22px; }
.category-tile p { font-size:14px; }
.category-bottom { font-size:12px; }
.category-number { font-size:11px; }
.category-emblem { margin-bottom:18px; }
.radar-band { margin-top:28px; border-radius:10px; }
.studio-note { border-block:1px solid var(--line); background:#112723; }
.note-layout { grid-template-columns:1fr 1fr; gap:80px; }
.note-layout h2 { font-size:clamp(34px,3.6vw,50px); }
.note-layout p:not(.eyebrow) { font-size:16px; line-height:1.85; }
.faq-section { background:#0d1d21; }
.faq-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; }
.faq-layout h2 { max-width:350px; }
.faq-list details { border-top:1px solid var(--line-2); }
.faq-list details:last-child { border-bottom:1px solid var(--line-2); }
.faq-list summary { cursor:pointer; padding:24px 36px 24px 0; font-size:16px; font-weight:600; position:relative; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:"+"; position:absolute; right:4px; top:21px; font-weight:400; color:var(--teal); font-size:24px; }
.faq-list details[open] summary::after { content:"−"; }
.faq-list p { font-size:15px; color:var(--muted); margin:0 0 25px; line-height:1.8; }
.faq-list p a { text-decoration:underline; text-underline-offset:4px; color:var(--text); }
.contact-section { padding-top:24px; }
.contact-band { border:0; background:#a8e3c9; padding:54px; color:#123a2d; border-radius:8px; }
.contact-band h2 { color:#123a2d; font-size:clamp(30px,3vw,44px); }
.contact-band .eyebrow,.contact-band p:not(.eyebrow) { color:#284c3e; }
.contact-band p:not(.eyebrow) { font-size:15px; max-width:560px; }
.contact-band .btn { background:#173e32; color:#fff; border-color:#173e32; flex-shrink:0; }
.contact-band :focus-visible { outline-color:#173e32; }
footer { padding-top:64px; }
.footer-title { font-size:13px; }
.footer-links a { font-size:14px; min-height:32px; }
.footer-brand p { font-size:14px; }
.copyright { font-size:12px; }
.catalog-intro { padding:64px 0 40px; }
.catalog-intro h1 { font-size:clamp(48px,5.6vw,74px); line-height:1.08; letter-spacing:-.055em; }
.catalog-intro .lead { font-size:17px; max-width:680px; }
.collection-counts { gap:34px; font-size:13px; }
.collection-counts b { font-size:24px; font-weight:500; }
.catalog-filters { border-radius:8px; }
.catalog-filters label { font-size:12px; }
.catalog-filters input,.catalog-filters select { font-size:14px; }
.category-rail a { font-size:12px; min-height:44px; }
.category-rail a span { font-size:11px; }
.results-line { font-size:13px; }
.catalog-footnote,.no-script-note { font-size:14px; }
.product-detail { padding:44px 0 64px; }
.seo-breadcrumbs { font-size:13px; color:var(--muted); margin-bottom:36px; }
.seo-breadcrumbs ol { display:flex; flex-wrap:wrap; gap:10px; list-style:none; padding:0; margin:0; }
.seo-breadcrumbs li+li::before { content:"/"; margin-right:10px; color:#7e9d94; }
.seo-breadcrumbs a:hover { color:var(--teal); text-decoration:underline; }
.detail-layout { gap:64px; margin-top:0; grid-template-columns:1.1fr 1fr; }
.detail-layout h1 { font-size:clamp(42px,4.4vw,64px); }
.detail-layout .lead { font-size:18px; }
.detail-art { border-radius:12px; min-height:310px; padding:28px; }
.detail-art .detail-scene { width:100%; height:auto; aspect-ratio:2/1; color:var(--product); }
.detail-art-top { display:flex; align-items:center; justify-content:space-between; width:100%; gap:18px; }
.detail-art-top .detail-symbol { width:46px; height:46px; border-radius:12px; }
.detail-art-top .detail-symbol svg { width:30px; height:30px; }
.detail-art>p { margin:0; font-size:12px; color:var(--muted); }
.detail-content-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:72px; }
.detail-content-grid h2 { font-size:32px; }
.detail-content-grid p,.use-case-list { font-size:16px; color:var(--muted); line-height:1.85; }
.use-case-list { list-style:none; padding:0; margin:24px 0 0; }
.use-case-list li { padding:14px 0 14px 26px; border-top:1px solid var(--line); position:relative; }
.use-case-list li::before { content:"↗"; color:var(--teal); position:absolute; left:0; }
.detail-access { padding:28px; border:1px solid var(--line-2); background:var(--panel); border-radius:10px; align-self:start; }
.detail-access h2 { font-size:25px; }
.detail-access p { font-size:15px; }
.detail-access .eyebrow { font-size:11px; color:var(--teal); }
.generated-status p { font-size:15px; max-width:720px; }
.related-section { border-top:1px solid var(--line); padding-top:64px; }
.related-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.related-links>a { padding:22px; border:1px solid var(--line); background:var(--panel); border-radius:8px; }
.related-links strong { display:block; font-size:20px; margin:15px 0 8px; }
.related-links p { font-size:14px; color:var(--muted); margin:0; }
.related-links>a:hover { border-color:var(--teal); }
.page-hero h1,.about-hero h1 { font-weight:600; }
.principle { border-radius:10px; background:var(--panel); }
.principle p { font-size:15px; }
@media(min-width:1500px) { .home-hero { padding:88px 0; } }
@media(max-width:1100px) {
  .wrap { width:calc(100% - 56px); }
  .navrow { gap:10px; }
  .brand .brand-word { width:125px; }
  .pill-nav a { padding-inline:10px; font-size:12px; }
  .hero-layout { gap:32px; }
  .hero-copy h1 { font-size:64px; }
  .hero-copy .actions { gap:14px; }
  .studio-art { min-height:340px; }
  .discovery-grid>a { padding-inline:20px; gap:12px; }
  .discovery-grid small { font-size:11px; }
  .preview-grid .app-card { display:flex; }
  .preview-grid .card-demo { aspect-ratio:2.4/1; width:100%; margin-bottom:22px; }
  .preview-grid .card-description { flex:0; }
  .mockup-copy { padding:28px; }
  .mockup-copy h3 { font-size:27px; }
  .faq-layout,.note-layout,.detail-content-grid { gap:40px; }
  .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:800px) {
  .wrap { width:calc(100% - 40px); }
  .navrow { min-height:76px; flex-wrap:wrap; padding-block:12px; }
  .js .menu { display:block; }
  .pill-nav { width:100%; justify-content:center; flex-wrap:wrap; border-radius:8px; margin-top:14px; padding:8px 0; }
  .js .pill-nav:not(.open) { display:none; }
  .pill-nav a { padding:10px 13px; font-size:13px; }
  .section { padding:64px 0; }
  .section-head { display:block; }
  .section-head>p { margin:18px 0 0; max-width:560px; }
  .browse-line { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
  .browse-line .text-link { margin-top:0; }
  .home-hero { padding:44px 0; }
  .hero-layout { grid-template-columns:1fr; gap:36px; }
  .hero-copy h1 { font-size:clamp(54px,9vw,72px); }
  .hero-copy .lead { font-size:16px; }
  .hero-copy .eyebrow { font-size:10px; letter-spacing:.08em; }
  .studio-art { min-height:270px; width:100%; max-width:none; padding:46px 24px; }
  .studio-art .hero-logo-glitch { max-width:250px; }
  .studio-art .art-caption { font-size:12px; }
  .discovery-grid { grid-template-columns:1fr; }
  .discovery-grid>a,.discovery-grid>a:first-child,.discovery-grid>a:last-child { border:0; border-bottom:1px solid var(--line); padding:17px 0; }
  .discovery-grid>a:last-child { border:0; }
  .discovery-grid small { display:inline; font-size:12px; margin-left:12px; }
  .discovery-grid b { font-size:24px; min-width:32px; }
  .website-mockup { grid-template-columns:1fr; }
  .mockup-window { margin:22px 22px 0; }
  .mockup-gallery { padding:22px 22px 0; }
  .mockup-copy { padding:28px; }
  .mockup-copy h3 { max-width:100%; font-size:30px; }
  .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .category-tile { padding:22px; }
  .note-layout,.faq-layout,.detail-content-grid,.detail-layout { grid-template-columns:1fr; gap:28px; }
  .faq-layout h2 { max-width:100%; }
  .contact-band { padding:32px; display:block; }
  .contact-band .btn { margin-top:24px; }
  .catalog-filters { grid-template-columns:1fr 1fr; }
  .search-field { grid-column:1/-1; }
  .catalog-filters .btn { grid-column:1/-1; justify-self:start; }
  .catalog-intro { padding-top:40px; }
  .catalog-section { padding-top:0; }
  .detail-art { min-height:260px; }
  .related-links { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
}
@media(max-width:560px) {
  .hero-copy h1 { font-size:56px; margin:20px 0; }
  .hero-copy .actions { align-items:flex-start; flex-direction:column; gap:10px; margin-top:24px; }
  .hero-location { font-size:11px; margin-top:20px; }
  .hero-location span { padding-left:8px; margin-left:8px; }
  .discovery-grid small { display:block; margin-left:0; }
  .app-grid,.available-grid,.preview-grid,.catalog-grid { grid-template-columns:1fr; }
  .app-card,.available-grid .app-card { padding:22px; }
  .available-grid .card-demo,.preview-grid .card-demo { aspect-ratio:2/1; }
  .available-grid h3 { font-size:28px; }
  .app-card .availability { font-size:11px; }
  .card-description { font-size:15px; }
  .card-release-note { font-size:14px; }
  .preview-grid h3 { font-size:25px; }
  .category-tile { padding:18px; min-height:255px; }
  .category-tile h3 { font-size:20px; }
  .category-tile p { font-size:14px; }
  .category-bottom { font-size:11px; }
  .section-head h2 { font-size:34px; }
  .mockup-window { margin:16px 16px 0; }
  .mockup-copy { padding:24px; }
  .mockup-copy h3 { font-size:28px; }
  .contact-band { padding:28px; }
  .collection-counts { gap:18px; font-size:12px; }
  .results-line { font-size:12px; gap:12px; }
  .results-line>span { max-width:130px; }
  .catalog-filters select { font-size:13px; }
  .category-rail a { font-size:12px; }
  .detail-layout .lead { font-size:16px; }
  .detail-access { padding:24px; }
  .copyright { flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) {
  .gradient-text { color:#9ce7d1; -webkit-text-fill-color:currentColor; }
}
@media(forced-colors:active) {
  .gradient-text { color:CanvasText; -webkit-text-fill-color:CanvasText; }
  .client-websites,.contact-band { background:Canvas; color:CanvasText; }
  .studio-art,.discovery-strip,.app-card,.category-tile,.detail-access { border:1px solid CanvasText; }
  .contact-band h2,.contact-band p,.client-websites h2,.client-websites h3 { color:CanvasText; }
  .faq-list summary::after { color:CanvasText; }
}

/* Keep clinic access and upcoming work distinct from public apps. */
.catalog-group + .catalog-group { margin-top:64px; padding-top:48px; border-top:1px solid var(--line); }
.catalog-group .section-head h2 { font-size:clamp(27px,4vw,38px); }
