:root { color-scheme: dark; --navy:#071322; --navy-2:#102238; --gold:#b89b5d; --gold-light:#dcc58f; --paper:#fbfaf7; --ink:#17232c; --muted:#66727a; --rule:#e3ddd2; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; min-width:320px; background:#071322; color:#eee8dc; font-family:"EB Garamond",Garamond,Georgia,serif; font-size:17px; line-height:1.68; }
a {
  color: var(--gold-light);
  text-underline-offset: .2em;
}

.studio-price-table td a {
  color: #0b63c8;
  text-decoration: underline;
  font-weight: 500;
}

.studio-price-table td a:hover {
  color: #084e9b;
}

.reading-mode .studio-price-table td a {
  color: #005eb8;
}

.reading-mode .studio-price-table td a:hover {
  color: #00458a;
}
button,input { font:inherit; }
.skip-link { position:fixed; z-index:100; left:1rem; top:-5rem; padding:.7rem 1rem; background:#fff; color:#000; }
.skip-link:focus { top:1rem; }
#sturlason-site { position:relative; min-height:100vh; overflow:hidden; padding:1.25rem; background:#071322; }
.site-page { position:relative; max-width:1040px; margin:0 auto; padding:0 1.5rem; border-left:1px solid rgba(220,197,143,.08); border-right:1px solid rgba(220,197,143,.08); }
.utility { position:relative; min-height:2.8rem; display:flex; align-items:center; justify-content:space-between; color:#918d83; border-bottom:1px solid rgba(220,197,143,.16); letter-spacing:.16em; text-transform:uppercase; font-size:.84rem; }
.utility-actions { display:flex; align-items:center; gap:.65rem; }
.utility>a { color:#dcc58f; }
.menu-toggle { width:2.6rem; height:2.2rem; display:grid; place-content:center; gap:.28rem; padding:0; color:#dcc58f; border:0; background:transparent; cursor:pointer; }
.menu-toggle span { display:block; width:1.25rem; height:1px; background:currentColor; transition:transform .2s ease,opacity .2s ease; }
.menu-open .menu-toggle span:nth-child(1) { transform:translateY(.33rem) rotate(45deg); }
.menu-open .menu-toggle span:nth-child(2) { opacity:0; }
.menu-open .menu-toggle span:nth-child(3) { transform:translateY(-.33rem) rotate(-45deg); }
.eye { width:2rem; height:2rem; display:grid; place-items:center; padding:0; color:#d8c79f; border:1px solid rgba(220,197,143,.30); border-radius:50%; background:transparent; cursor:pointer; }
.wordmark { padding:3.5rem 0 2.9rem; text-align:center; }
.logo-preview { display:block; width:min(335px,74vw); height:auto; margin:0 auto; filter:brightness(1.02) sepia(.16) saturate(.66); }
.wordmark::after { content:"◆  1933  ◆"; display:block; margin-top:1.15rem; color:#b89b5d; opacity:.78; letter-spacing:.35em; font-size:.72rem; }
.toplinks { position:absolute; top:4rem; left:1.5rem; z-index:1100; width:min(300px,calc(100% - 3rem)); margin:0; padding:.4rem; color:#eee8dc; border:1px solid rgba(184,155,93,.32); border-radius:.25rem; background:rgba(7,19,34,.99); box-shadow:0 1.2rem 3rem rgba(0,0,0,.42); text-align:left; line-height:1.4; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-.55rem); transition:opacity .2s ease,transform .2s ease,visibility .2s ease; }
.menu-open .toplinks { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); }
.toplinks ul { list-style:none; margin:0; padding:0; }
.toplinks li + li { border-top:1px solid rgba(184,155,93,.16); }
.toplinks a,.services-menu summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:2.75rem; padding:.65rem .9rem; color:#e5ddcc; text-decoration:none; cursor:pointer; letter-spacing:.035em; }
.toplinks a::after { content:"›"; color:#b89b5d; opacity:.75; }
.toplinks a:hover { color:#f3ead8; background:rgba(184,155,93,.08); }
.services-menu summary { color:#dcc58f; list-style:none; }
.services-menu summary::-webkit-details-marker { display:none; }
.services-menu summary::after { content:"⌄"; color:#b89b5d; transition:transform .18s ease; }
.services-menu[open] summary::after { transform:rotate(180deg); }
.service-submenu { margin:0; padding:.35rem 0 .65rem .8rem!important; border-top:1px solid rgba(184,155,93,.16); background:rgba(4,12,20,.44); }
.service-submenu li,.service-submenu li + li { border:0; }
.service-submenu a { min-height:2.25rem; padding:.42rem .9rem; color:#c8c1b4; font-size:.94rem; letter-spacing:.01em; }
.service-submenu a::after { content:none; }
.prices-page { position:relative; max-width:820px; margin:1.25rem auto 2.6rem; padding:clamp(1.3rem,4vw,3rem) clamp(1.1rem,4.5vw,3.4rem); background:var(--paper); color:var(--ink); border-top:3px solid var(--gold); font-family:Inter,Arial,sans-serif; box-shadow:0 2rem 5rem rgba(0,0,0,.32); }
.prices-page::before { content:""; position:absolute; z-index:2; top:-1.45rem; left:50%; width:2.8rem; height:2.8rem; transform:translateX(-50%); background:var(--paper) url("/Favicon.png") center/82% no-repeat; border:1px solid rgba(220,197,143,.42); border-radius:50%; }
.prices-header { display:flex; align-items:end; justify-content:space-between; gap:1rem; padding-bottom:1.35rem; border-bottom:1px solid var(--rule); }
.eyebrow { margin:0 0 .2rem; color:#8c713c; font-size:.78rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
h1,h2 { font-family:"EB Garamond",Garamond,serif; font-weight:500; }
h1 { margin:0; color:var(--navy); font-size:clamp(2.5rem,6vw,4rem); line-height:1; }
.version { margin:0; color:var(--muted); font-size:.84rem; }
.price-tools { position:sticky; z-index:5; top:0; margin:0 -1rem 2rem; padding:1rem; background:rgba(251,250,247,.97); border-bottom:1px solid var(--rule); box-shadow:0 8px 16px rgba(7,19,34,.06); }
.search-label { display:block; margin-bottom:.35rem; font-size:.78rem; font-weight:600; color:#53616a; }
.search-row { display:grid; grid-template-columns:1fr auto; gap:.5rem; }
.search-row input { width:100%; min-height:2.7rem; padding:.6rem .75rem; color:var(--ink); background:#fff; border:1px solid #cfc6b6; border-radius:0; }
.search-row input:focus { outline:2px solid var(--gold); outline-offset:1px; }
.search-row button { padding:.55rem .9rem; color:var(--navy); background:#f3eee5; border:1px solid #cfc6b6; cursor:pointer; }
.category-nav { display:flex; gap:.35rem; overflow-x:auto; padding-top:.75rem; scrollbar-width:thin; }
.category-nav a { flex:0 0 auto; padding:.38rem .65rem; color:var(--navy); border:1px solid var(--rule); text-decoration:none; font-size:.78rem; font-weight:600; }
.category-nav a:hover,.category-nav a:focus,.category-nav a.is-active { color:#fff; background:var(--navy); border-color:var(--navy); }
.search-status { min-height:1.1rem; margin:.45rem 0 0; color:var(--muted); font-size:.76rem; }
#price-content.is-searching .section-note { display:none; }
#price-content.is-searching .product-showcase { display:none; }
#price-content.is-searching .mobile-product-hint { display:none; }
#price-content.is-searching #studiofotograferinger > .section-head { display:none; }
.price-section { scroll-margin-top:11rem; margin:0 0 3.2rem; }
.section-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.75fr); gap:2rem; align-items:end; margin-bottom:1rem; }
h2 { margin:0; color:var(--navy); font-size:clamp(1.9rem,4vw,2.7rem); line-height:1.05; }
.section-note { margin:0; color:var(--muted); font-size:.86rem; }
.table-scroll { overflow-x:auto; border:1px solid var(--rule); }
.price-table { width:100%; min-width:650px; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.price-table th { padding:.78rem .7rem; background:var(--navy); color:#fff; text-align:left; font-size:.72rem; font-weight:500; white-space:nowrap; }
.price-table th:not(:first-child),.price-table td:not(:first-child) { text-align:right; }
.price-table td { padding:.74rem .7rem; border-bottom:1px solid var(--rule); font-size:.82rem; }
.price-table tbody tr:nth-child(even) { background:#f4f0e8; }
.price-table tbody tr:last-child td { border-bottom:0; }
.product-showcase { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.7rem; margin:0 0 1rem; }
.mobile-product-hint { display:none; }
.product-card { width:100%; overflow:hidden; padding:0; color:inherit; border:1px solid var(--rule); border-radius:0; background:#fff; font:inherit; text-align:left; appearance:none; }
.product-card img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; background:#f4f0e8; }
.product-card-copy { padding:.85rem; }
.product-card h3 { margin:0 0 .35rem; color:var(--navy); font-size:.9rem; line-height:1.25; }
.product-card p { margin:0; color:var(--muted); font-size:.74rem; line-height:1.45; }
.digital-intro { display:grid; grid-template-columns:170px minmax(0,1fr); align-items:center; margin-bottom:1.5rem; padding-bottom:1.25rem; border-bottom:1px solid var(--rule); }
.digital-figure { display:flex; align-items:center; justify-content:center; margin:0; padding:.7rem; background:#fff; }
.digital-figure img { display:block; width:100%; max-width:140px; height:auto; max-height:140px; object-fit:contain; background:#fff; }
.digital-intro-copy { padding:clamp(1rem,3vw,1.6rem); }
.digital-intro h3,.digital-sizes h3,.retouch-grid h3,.license-panel h3,.digital-value h3 { margin:0; color:var(--navy); font-family:"EB Garamond",Garamond,serif; font-weight:500; }
.digital-intro h3 { margin-bottom:.75rem; font-size:clamp(1.55rem,3vw,2rem); line-height:1.08; }
.digital-intro p,.license-panel p,.digital-value p { margin:.65rem 0 0; color:var(--ink); font-size:.86rem; }
.digital-intro-copy p:first-child { margin-top:0; }
.digital-sizes { margin:0 0 1.5rem; }
.digital-sizes>h3 { margin-bottom:.75rem; font-size:1.35rem; }
.digital-size-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.digital-size-grid article { padding:.85rem 0; border-top:2px solid var(--gold); }
.digital-size-grid h4 { margin:0 0 .35rem; color:var(--navy); font-size:.92rem; }
.digital-size-grid h4 span { display:block; margin-top:.2rem; color:#96763a; font-size:.76rem; font-weight:600; }
.digital-size-grid p { margin:0; color:var(--muted); font-size:.79rem; }
.digital-price-block { margin-bottom:1rem; }
.digital-price-table th span { display:block; margin-top:.18rem; color:var(--gold-light); font-size:.65rem; font-weight:400; }
.retouch-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; margin-top:.85rem; }
.retouch-grid article { padding:.85rem 0; border-bottom:1px solid var(--rule); }
.retouch-grid h3 { margin-bottom:.25rem; font-size:1.08rem; }
.retouch-grid p { margin:0; color:var(--muted); font-size:.8rem; }
.license-panel { margin:0 0 1rem; padding:clamp(1.1rem,3vw,1.6rem); border:1px solid #d8c79f; border-left:3px solid var(--gold); background:#f8f4eb; }
.license-panel h3 { font-size:1.4rem; }
.digital-value { padding:1.1rem 0 0; }
.digital-value h3 { font-size:1.35rem; }
.digital-value a { display:inline-block; margin-top:.8rem; color:#896b32; font-size:.84rem; font-weight:600; }
.studio-intro { margin:0 0 1.5rem; padding:1rem 0 1.15rem; border-top:2px solid var(--gold); border-bottom:1px solid var(--rule); }
.studio-intro p { margin:0; color:var(--ink); font-size:.86rem; }
.studio-intro p + p { margin-top:1.3rem; }
.studio-group { margin:0 0 1.5rem; }
.studio-group h3 { margin:0 0 .65rem; color:var(--navy); font-family:"EB Garamond",Garamond,serif; font-size:1.35rem; font-weight:500; }
.studio-price-table { min-width:680px; }
.studio-price-table th:nth-child(1),.studio-price-table td:nth-child(1) { width:25%; }
.studio-price-table th:nth-child(2),.studio-price-table td:nth-child(2) { width:15%; }
.studio-price-table th:nth-child(3),.studio-price-table td:nth-child(3) { width:16%; white-space:nowrap; }
.studio-price-table th:nth-child(4),.studio-price-table td:nth-child(4) { width:44%; text-align:left; }
.studio-contact { margin:1.8rem 0 0; text-align:center; }
.studio-contact a.btn { color:#eee8dc; font-weight:500; }
.studio-contact a.btn:hover { color:#fff3d7; }
.cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.price-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.4rem 1rem; min-height:112px; padding:1rem; border:1px solid var(--rule); background:#fff; }
.price-card h3 { margin:0; color:var(--navy); font-size:1rem; }
.price-card p { grid-column:1; margin:0; color:var(--muted); font-size:.8rem; }
.price-card strong { grid-column:2; grid-row:1 / span 2; align-self:center; color:#96763a; font-size:1rem; font-variant-numeric:tabular-nums; white-space:nowrap; }
.technical-grid { display:grid; grid-template-columns:190px minmax(0,1fr); margin:0; border-top:1px solid var(--rule); }
.technical-grid dt,.technical-grid dd { margin:0; padding:.9rem 0; border-bottom:1px solid var(--rule); }
.technical-grid dt { color:#96763a; font-size:.76rem; font-weight:600; letter-spacing:.05em; }
.technical-grid dd { color:var(--ink); font-size:.84rem; }
.no-results { padding:2rem; border:1px solid var(--rule); color:var(--muted); text-align:center; }
.is-search-hidden { display:none !important; }
.price-section.is-category-hidden { display:none; }
.loading { padding:3rem 0; color:var(--muted); }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:2.7rem; padding:.55rem 1rem; color:#eee8dc; border:1px solid rgba(184,155,93,.62); border-radius:999px; background:#091420; text-decoration:none; cursor:pointer; }
.btn:hover { color:#fff3d7; background:#102238; text-decoration:none; }
.contact { max-width:900px; margin:0 auto; padding:2.1rem 2rem 1.7rem; border-top:1px solid rgba(184,155,93,.30); border-bottom:1px solid rgba(184,155,93,.30); text-align:center; }
.locations { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3rem; }
.location { padding:1rem; }
.location + .location { border-left:1px solid rgba(184,155,93,.20); }
.location strong { color:#dcc58f; letter-spacing:.14em; text-transform:uppercase; font-weight:500; }
.location strong a { color:inherit; text-decoration:none; }
.location>a { color:#dcc58f; }
.booking { margin-top:1.4rem; letter-spacing:.055em; text-transform:uppercase; }
footer { margin:2rem 0 5.5rem; color:#918d83; text-align:center; letter-spacing:.04em; font-size:.85rem; }
.chat { position:fixed; right:20px; bottom:20px; z-index:1000; }
.chat .btn { width:3.15rem; height:3.15rem; min-width:3.15rem; padding:0; border-radius:50%; box-shadow:0 .7rem 2rem rgba(0,0,0,.32); }
.chat svg { width:1.35rem; height:1.35rem; }
.chat-modal[hidden] { display:none; }
.chat-modal { position:fixed; inset:0; z-index:1400; display:flex; align-items:flex-end; justify-content:flex-end; padding:1.25rem 1.25rem 5.3rem; background:rgba(1,6,10,.56); }
.chat-window { position:relative; width:min(520px,calc(100vw - 2.5rem)); height:min(500px,calc(100vh - 7rem)); overflow:hidden; background:#fff; box-shadow:0 18px 50px rgba(0,0,0,.28); }
.chat-close { position:absolute; top:10px; right:10px; z-index:2; width:36px; height:36px; padding:0; color:#151515; border:1px solid #d5d5d5; border-radius:50%; background:rgba(255,255,255,.96); cursor:pointer; font-size:1.25rem; }
.chat-frame { display:block; width:100%; height:100%; border:0; background:#fff; }
body.chat-popup-open { overflow:hidden; }
#sturlason-site.reading-mode { color-scheme:light; color:#101820; background:#dcecf4; }
.reading-mode .site-page { border-color:rgba(17,59,80,.18); }
.reading-mode .utility { color:#253840; border-color:rgba(17,59,80,.28); }
.reading-mode .utility a,.reading-mode footer a,.reading-mode .contact a { color:#003f66; }
.reading-mode .menu-toggle { color:#101820; }
.reading-mode .eye { color:#f5fbfd; border-color:#173f53; background:#173f53; }
.reading-mode .logo-preview { filter:none; }
.reading-mode .wordmark::after { color:#173f53; }
.reading-mode .toplinks { color:#101820; border-color:rgba(17,59,80,.34); background:rgba(238,247,251,.99); box-shadow:0 1.2rem 3rem rgba(20,58,76,.18); }
.reading-mode .toplinks li + li,.reading-mode .service-submenu { border-color:rgba(17,59,80,.18); }
.reading-mode .toplinks a,.reading-mode .services-menu summary,.reading-mode .service-submenu a { color:#101820; }
.reading-mode .service-submenu { background:rgba(205,229,239,.58); }
.reading-mode .contact { color:#101820; border-color:rgba(17,59,80,.28); }
.reading-mode .location + .location { border-color:rgba(17,59,80,.22); }
.reading-mode .location strong { color:#173f53; }
.reading-mode .contact a.booking { color:#f5fbfd; border-color:#173f53; background:#173f53; text-decoration:none; }
.reading-mode .chat .btn { color:#f5fbfd; border-color:#173f53; background:#173f53; }
.reading-mode footer { color:#34464f; }
@media (max-width:900px) {
  .product-showcase { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:720px) {
  .utility-actions { padding-left:2.6rem; }
  .menu-toggle {
    position:fixed;
    top:calc(env(safe-area-inset-top, 0px) + .7rem);
    left:calc(env(safe-area-inset-left, 0px) + .7rem);
    z-index:1900;
    box-sizing:border-box;
    width:2.6rem;
    height:2.6rem;
    color:#dcc58f;
    border:1px solid rgba(220,197,143,.22);
    border-radius:50%;
    background:rgba(7,19,34,.88);
    box-shadow:0 .45rem 1.3rem rgba(0,0,0,.24);
    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px);
  }
  .reading-mode .menu-toggle {
    color:#101820;
    border-color:rgba(17,59,80,.25);
    background:rgba(238,247,251,.94);
    box-shadow:0 .45rem 1.3rem rgba(20,58,76,.16);
  }
  .toplinks {
    position:fixed;
    top:calc(env(safe-area-inset-top, 0px) + 3.65rem);
    left:calc(env(safe-area-inset-left, 0px) + .7rem);
    width:min(300px,calc(100vw - 1.4rem));
    max-height:calc(100vh - 4.5rem);
    max-height:calc(100dvh - 4.5rem);
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  #sturlason-site { padding:.6rem; }
  .site-page { padding:0 .4rem; border:0; }
  .wordmark { padding:2.6rem 0 2.3rem; }
  .prices-page { padding:1.15rem; }
  .prices-header { align-items:start; }
  .price-tools { margin:0 -.55rem 1.8rem; padding:.8rem .55rem; }
  .section-head { grid-template-columns:1fr; gap:.5rem; }
  .mobile-product-hint { display:block; margin:0 0 .55rem; color:var(--muted); font-size:.76rem; font-weight:600; }
  .product-showcase { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; }
  .product-card { display:grid; grid-template-columns:64px minmax(0,1fr); min-height:72px; cursor:pointer; }
  .product-card img { height:100%; aspect-ratio:1; }
  .product-card-copy { align-self:center; padding:.55rem; }
  .product-card h3 { margin:0; font-size:.76rem; }
  .product-card p { display:none; }
  .product-card.is-product-selected { border-color:var(--gold); box-shadow:inset 0 0 0 2px rgba(184,155,93,.3); background:#f8f4eb; }
  .product-card.is-product-selected h3 { color:#80642f; }
  #fagkopier .table-scroll { overflow-x:visible; }
  #fagkopier .price-table { min-width:0; table-layout:fixed; }
  #fagkopier .price-table th:first-child,#fagkopier .price-table td:first-child { width:64%; }
  #fagkopier .price-table th:not(:first-child),#fagkopier .price-table td:not(:first-child) { width:36%; }
  .mobile-column-hidden { display:none!important; }
  .digital-intro { grid-template-columns:96px minmax(0,1fr); gap:.8rem; align-items:start; }
  .digital-figure { min-height:0; padding:.25rem; }
  .digital-figure img { max-width:92px; max-height:92px; }
  .digital-intro-copy { padding:0; }
  .digital-intro p { margin:.45rem 0 0; font-size:.75rem; line-height:1.45; }
  .digital-intro-copy p:first-child { margin-top:0; }
  .digital-size-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
  .digital-size-grid article { padding:.65rem 0; }
  .digital-size-grid h4 { font-size:.78rem; }
  .digital-size-grid h4 span { font-size:.65rem; }
  .digital-size-grid p { font-size:.69rem; line-height:1.42; }
  .digital-price-block .table-scroll { overflow-x:visible; }
  .digital-price-table { min-width:0; table-layout:fixed; }
  .digital-price-table th,.digital-price-table td { padding:.62rem .32rem; font-size:.66rem; line-height:1.35; }
  .digital-price-table th:first-child,.digital-price-table td:first-child { width:46%; text-align:left; }
  .digital-price-table th:not(:first-child),.digital-price-table td:not(:first-child) { width:27%; white-space:nowrap; }
  .digital-price-table th span { font-size:.52rem; white-space:normal; }
  .license-panel { padding:.9rem; }
  .license-panel h3 { font-size:1.12rem; }
  .license-panel p,.digital-value p { font-size:.76rem; }
  .digital-value h3 { font-size:1.12rem; }
  .retouch-grid { grid-template-columns:1fr; }
  .studio-intro { margin-bottom:1.1rem; padding:.8rem 0; }
  .studio-intro p { font-size:.76rem; line-height:1.5; }
  .studio-group { margin-bottom:1.25rem; }
  .studio-group h3 { font-size:1.12rem; }
  .studio-group .table-scroll { overflow-x:visible; }
  .studio-price-table { display:block; min-width:0; }
  .studio-price-table thead { display:none; }
  .studio-price-table tbody { display:block; }
  .studio-price-table tbody tr { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.18rem .75rem; padding:.72rem; border-bottom:1px solid var(--rule); }
  .studio-price-table tbody tr:last-child { border-bottom:0; }
  .studio-price-table td { display:block; width:auto!important; padding:0; border:0; text-align:left!important; font-size:.75rem; }
  .studio-price-table td:nth-child(1) { grid-column:1; grid-row:1; color:var(--navy); font-weight:600; }
  .studio-price-table td:nth-child(2) { grid-column:1; grid-row:2; color:var(--muted); }
  .studio-price-table td:nth-child(3) { grid-column:2; grid-row:1 / span 2; align-self:center; color:#96763a; font-weight:600; }
  .studio-price-table td:nth-child(4) { grid-column:1 / -1; grid-row:3; margin-top:.35rem; padding-top:.35rem; border-top:1px solid var(--rule); color:var(--muted); font-size:.69rem; }
  .cards { grid-template-columns:1fr; }
  .technical-grid { grid-template-columns:1fr; }
  .technical-grid dt { padding-bottom:.15rem; border-bottom:0; }
  .technical-grid dd { padding-top:0; }
  .locations { grid-template-columns:1fr; gap:.5rem; }
  .location + .location { border-left:0; border-top:1px solid rgba(184,155,93,.20); }
  .chat-modal { padding:0; align-items:stretch; justify-content:stretch; }
  .chat-window { width:100vw; height:100dvh; max-width:none; }
}
@media (max-width:520px) {
  .product-showcase { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
