/* Shared interface foundation. Product-card font choices and illustrations
   keep their own type and proportions; the standard QR export stays Arial. */
@font-face{
  font-family:'Digitmoi UI';
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url('assets/fonts/dmsans-ui-variable.woff2') format('woff2');
}
body{font:var(--body-size)/1.65 var(--sans)}
button,input,select,textarea{font-family:var(--sans)}
.brand{font-weight:700}
.brand-copy{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}
.brand-name{display:block;font-size:30px;line-height:1;font-weight:700;letter-spacing:-1.6px;white-space:nowrap}
.brand-domain{color:var(--violet,#6750e9)}
.brand-tagline{font-size:11px;line-height:1.3;font-weight:500;letter-spacing:.01em;white-space:nowrap;color:var(--muted,#677083)}
.header.dm-site-header{display:flex;align-items:center;justify-content:space-between;gap:28px;height:auto;min-height:112px;padding-block:20px;border-bottom:1px solid var(--line,#e1e3e8)}
.dm-site-header>.brand{flex-shrink:0;min-width:0}
.dm-site-header>.brand .brand-mark{width:25px;height:25px;margin-right:10px}
.header.dm-site-header>nav{display:flex;align-items:center;justify-content:center;gap:24px;font-size:14px;font-weight:500;line-height:1.4}
.header.dm-site-header>nav a{min-height:44px;text-decoration:none;white-space:nowrap}
.header.dm-site-header>nav a[aria-current=page]{color:var(--violet,#6750e9);border-bottom-color:var(--violet,#6750e9)}
.customer-header-link{display:inline-flex;align-items:center;justify-content:flex-end;min-height:44px;max-width:206px;padding:10px 0 10px 20px;border-left:1px solid var(--line,#e1e3e8);font-size:13px;font-weight:600;line-height:1.45;text-align:right;text-decoration:none;color:var(--ink,#182035)}
.customer-header-link:hover{color:var(--violet,#6750e9)}
.footer .brand-copy .brand-name{font-size:30px}
.footer .brand-copy .brand-tagline{font-size:11px}
.footer{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr) auto;align-items:start;gap:24px 32px;padding-block:36px;border-top:1px solid var(--line,#e1e3e8)}
.footer>div{min-width:0}
.footer .footer-links{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:2px 24px;min-width:0;font-size:12px;line-height:1.5}
.footer .footer-links>a,.footer .footer-links>button,.footer .footer-legal>a{display:inline-flex;align-items:center;min-height:44px;padding-block:6px;font-size:inherit;line-height:1.5}
.footer .footer-links>button{text-align:left;justify-content:flex-start}
.footer .footer-legal{display:inline-flex;align-items:center;gap:24px;font-size:inherit;white-space:nowrap}
.footer .back-top{justify-self:end;font-size:12px;white-space:nowrap}
.legal-footer nav,.client-footer nav{flex-wrap:nowrap}
.legal-footer nav a,.client-footer a{min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}
@media(max-width:1100px){
 .footer{grid-template-columns:minmax(0,1fr) auto;gap:20px 24px}
 .footer .footer-links{grid-column:1/-1;grid-row:2}
 .footer .back-top{grid-column:2;grid-row:1}
}
@media(max-width:680px){
 .footer{grid-template-columns:minmax(0,1fr);gap:20px;padding-block:28px}
 .footer .footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;grid-column:1;grid-row:2;align-items:stretch}
 .footer .footer-links>a,.footer .footer-links>button{min-width:0;overflow-wrap:anywhere}
 .footer .footer-legal{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .footer .footer-legal>a{white-space:nowrap}
 .footer .back-top{grid-column:1;grid-row:3;justify-self:start}
 .legal-footer nav{gap:12px;font-size:12px}
 .legal-footer nav a{font-size:12px}
 .client-footer nav{gap:16px}
}
@media(max-width:1100px){
 .header.dm-site-header{flex-wrap:wrap;gap:14px 28px;min-height:112px;padding-block:20px 8px}
 .header.dm-site-header>nav{order:3;flex-basis:100%;justify-content:flex-start;gap:28px}
 .customer-header-link{margin-left:auto}
}
@media(max-width:560px){
 .header.dm-site-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(88px,112px);gap:8px 10px;padding-block:16px 6px;min-height:0}
 .dm-site-header>.brand .brand-mark{width:20px;height:20px;gap:3px;margin-right:7px}
 .dm-site-header>.brand .brand-mark i{border-width:1.5px}
 .dm-site-header>.brand .brand-mark i:last-child{width:6px;height:6px}
 .dm-site-header .brand-name{font-size:24px;letter-spacing:-1.3px}
 .dm-site-header .brand-tagline{font-size:9px;gap:5px;letter-spacing:0;white-space:normal;max-width:145px}
 .header.dm-site-header>nav{grid-column:1/-1;gap:6px;flex-wrap:nowrap;font-size:12px;justify-content:space-between;min-width:0}
 .header.dm-site-header>nav a{justify-content:center;letter-spacing:-.02em}
 .dm-site-header>.customer-header-link{width:100%;max-width:none;padding:4px 0 4px 8px;font-size:11px;line-height:1.4;overflow-wrap:normal}
}
.art-note em,.contact-card h2 em,.contact-art em{font-family:var(--sans)}
#preview-label{font-family:Arial,Helvetica,sans-serif}

/* Text, commands and supporting information have three predictable sizes. */
.hero-description,.section-description,.solution-card>p,.method-intro,
.method-steps p,.secondary-list p,.faq-list details p,
.contact-card>div>p:not(.eyebrow),.physical-intro,
.physical-step-copy p,.physical-pack-description>p:not(.eyebrow),
.lodging-copy>p,.dm-start-heading p:not(.eyebrow),.dm-model-intro,
.dm-card-heading>p,dialog p:not(.eyebrow),
.booking-dialog #booking-intro,.booking-dialog .booking-location>p,
.booking-dialog .booking-hours{
  font-size:var(--body-size);line-height:1.65;
}
.hero-description{max-width:540px}
.section-description{max-width:380px}
.solution-card>p{min-height:0}
.method-steps p{max-width:440px}
.button,.header-cta,.header nav,.text-link,.solution-cta,
.secondary-list h3,.faq-list summary,.print-link,
.download-buttons .button,.after-generation .button,.contact-actions .button,
.examples-footer .button,.physical-copy .button,.lodging-actions .button,
.dm-reuse,.dm-preview-button,.dm-card-output .button,.dm-order-dialog .button,
.dm-edit-card,.dm-start-skip,.dm-start-import,.dm-start-preview,
.dm-start-manual-apply,.dm-start-actions>.button,.dm-start-url-row>.button,
.booking-alternative .button,.quote-result-actions .button,
.dm-checkout .button,.dm-checkout-restore,.dm-logo-tools>button{
  font-size:var(--control-size);line-height:1.5;
}
.button,.header-cta,.text-link,.solution-cta,.print-link,.dm-reuse,
.dm-edit-card,.dm-start-import,.dm-start-preview,.dm-start-manual-apply{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
}
.solution-cta{justify-content:space-between}
.button>span{font-size:inherit;line-height:inherit}
.header-cta span,.print-link span{margin-left:0}
label,.form-grid label,.color-field legend,.checkbox-label,
#dm-personalized-form label:not(.dm-check),.dm-check,
.dm-start-form label,.dm-start-atmospheres legend,.booking-location label,
.booking-types>legend,.booking-location>legend,.dm-delivery-email label{
  font-size:var(--control-size);line-height:1.5;
}
input,textarea,select,.dm-start-form input:not([type=radio]),
.dm-start-form select,#dm-personalized-form input:not([type=checkbox]):not([type=color]):not([type=hidden]),
.booking-location input,.dm-delivery-email input{
  font-size:16px;line-height:1.5;min-height:44px;
}
input::placeholder,textarea::placeholder,.dm-start-form input::placeholder,
#dm-personalized-form input::placeholder{
  font-size:14px;color:var(--muted);opacity:1;
}
.eyebrow,.hero .eyebrow,.section-heading .eyebrow,.contact-card .eyebrow,
.secondary-heading .eyebrow,.physical-copy .eyebrow,.physical-pack .eyebrow,
.examples-heading .eyebrow,.dm-card-heading .eyebrow,.dm-start-heading .eyebrow,
.dm-order-dialog .eyebrow,.after-generation .eyebrow,
.free-benefits,.use-strip span,.use-strip a,.field-help,.local-note,
.generator-output>.field-help,.output-status,.output-facts,.free-pill,
.version-option>span:last-child,.solution-tags,.solution-tags>span:last-child,
.solution-points,.solutions-note,.devis-label,.method-availability,
.footer p,.footer-links,.back-top,.dialog-phone,.text-button,
.footer-links .text-button,.footer-links>span,#quote-status,
.examples-heading>p,.example-card figcaption p,.examples-footer>p,
.physical-digital-note,.physical-hero-visual figcaption,.physical-image-note,
.physical-coming-soon,.physical-pack-interest>p,.physical-pack-choice small,
.lodging-copy .lodging-note,.lodging-visual>small,
.dm-help,.dm-card-price,.dm-model-description,.dm-model-note,
.dm-output-heading,.dm-live-badge,.dm-preview-status,.dm-card-included,
.dm-manual-note,.dm-order-reference,.dm-order-summary>div,
.dm-order-summary dt,.dm-order-steps span,.dm-order-contact,
.dm-fonts>button>strong,.dm-cta-choices>button,.dm-atmospheres strong,
.dm-dual-colors>div>label,.dm-dual-colors>div span,.dm-color-target,
.dm-color-target>span,.dm-color-target>button,.dm-sheet-details>p,
.dm-payment-unavailable p,.dm-start-paths span,.dm-start-form label>span,
.dm-start-atmospheres legend>span,.dm-start-form .dm-start-help,
.dm-start-form .dm-start-url-help,.dm-start-import-privacy,
.dm-start-result-heading span,.dm-start-manual>summary,
.dm-start-manual>summary span,.dm-start-google>p:first-child,
#dm-start-google-business span,#dm-start-google-business a,
.dm-start-google-candidates span,.dm-start-google-credit,
.dm-start-detected>p,.dm-start-detected span,.dm-start-connection,
.dm-start-actions>p,.dm-start-atmospheres small,.dm-start-visual-guide p,
.booking-type-top>b,.booking-type-copy>span:not(.booking-type-top),
.booking-type-copy>small,.booking-location label>span,.booking-hours>span,
.booking-dialog .booking-provider-note,.booking-dialog .booking-alternative p,
.booking-dialog .booking-status,.dm-checkout-mode-note,.dm-checkout-intro,
.dm-checkout-interest,.dm-checkout-interest small,.dm-checkout-state,
.dm-checkout-id,.dm-checkout-message,.dm-checkout-print,.dm-checkout-legal,
.dm-delivery-choices strong,.dm-delivery-choices span,.dm-delivery-availability,
.dm-delivery-message{
  font-size:var(--help-size);line-height:1.6;
}
.physical-pack-description .physical-pack-size{font-size:var(--help-size)!important}
.contact-card .contact-signature,.dm-order-reference,.dm-order-contact{
  font-size:var(--help-size)!important;
}
.eyebrow,.solution-tags,.devis-label,.free-pill{letter-spacing:.06em}
.header nav a,.footer-links a,.footer-links button,.back-top,
.dialog-phone,.use-strip a{display:inline-flex;align-items:center;gap:8px}
.free-benefits,.output-facts,.dm-card-included{gap:12px}
.free-benefits>span,.output-facts>span,.dm-card-included>span,
.solution-points li{display:flex;align-items:flex-start;gap:8px}
.solution-points li:before{content:none}
.solution-points li+li{margin-top:8px}
.free-benefits .dm-icon,.output-facts .dm-icon,
.dm-card-included .dm-icon,.solution-points .dm-icon{
  width:16px;height:16px;flex-shrink:0;margin-top:2px;
}
.after-generation{align-items:flex-start}
.after-generation h3{font-size:22px;line-height:1.2}
.after-generation p:not(.eyebrow){font-size:16px;line-height:1.65}
.version-top strong,.dm-start-paths strong{font-size:16px;line-height:1.5}
.version-top b{font-size:14px;line-height:1.5}
.type-button{font-size:12px;gap:8px;line-height:1.4}
.editor-heading h3,.output-top h3,.editor-heading.small h3{
  font-size:18px;line-height:1.3;
}
.number-badge,.dm-card-step>span,.dm-start-step>span{font-size:12px}
.dm-card-step h3,.dm-model-selector>.dm-card-step h3,
.method-steps h3,.physical-step-copy h3,.dm-tool-card h3{
  font-size:22px;line-height:1.2;letter-spacing:-.02em;
}
.solution-card h3,.lodging-copy h3,.physical-pack h3{
  font-size:32px;line-height:1.15;letter-spacing:-.03em;
}
.dm-model-caption strong{font-size:16px;line-height:1.5}
.dm-start-step h4,.dm-start-detected strong,.dm-start-google-candidates strong,
#dm-start-google-business strong,.dm-start-atmospheres strong,
.dm-start-visual-guide strong,.booking-type-top>strong,
.dm-checkout-delivery h4,.physical-pack-choice strong{
  font-size:14px;line-height:1.5;
}

/* One radius and generous hit areas. Circular controls keep their shape. */
button,input,textarea,select,dialog{border-radius:var(--radius)!important}
.generator-workspace,.qr-paper,.after-generation,.solution-card,.contact-card,
.version-option,.example-image,.physical-hero-visual>img,.physical-steps>li,
.physical-pack,.booking-type-copy,.booking-location,.booking-status,
.dm-card-builder,.dm-review-option,.dm-logo-box,.dm-card-preview,
.dm-order-summary,.dm-sheet-details,.dm-payment-unavailable,.dm-checkout,
.dm-checkout-mode-note,.dm-start,.dm-start-result,.dm-start-visual-guide,
.dm-start-atmospheres label>span,.dm-start-import-status,.dm-start-error{
  border-radius:var(--radius);
}
button,.button,input:not([type=radio]):not([type=checkbox]):not([type=hidden]),
select,textarea,.header nav a,.footer-links a,.back-top,.dialog-phone,
.text-button,.use-strip a,.faq-list summary,.dm-start-manual>summary,
.dm-sheet-details summary{
  min-height:44px;
}
button,.button,.close-dialog,.dm-dialog-close{min-width:44px}
.close-dialog,.dm-dialog-close{width:44px;height:44px;border-radius:50%!important}
.checkbox-label,.dm-check,.physical-pack-choice,.dm-checkout-interest{
  min-height:44px;align-items:center;
}
.color-choice{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0}
.color-choice input{width:28px;height:28px;min-height:28px;border-radius:50%!important}
.color-options{gap:8px}
.custom-row{flex-wrap:wrap;gap:16px}
.custom-row>.checkbox-label{max-width:none;margin-top:0}
.dm-palette{grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:8px}
.dm-swatch{width:44px;height:44px;max-width:none;border-width:6px;border-radius:50%!important}
.dm-dual-colors{grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);gap:8px}
.dm-dual-colors>div>div{flex-wrap:wrap;gap:8px}
.dm-dual-colors input[type=color]{width:44px;height:44px;min-height:44px}
.dm-dual-colors>div span{display:inline;font-size:12px;line-height:1.5}
.dm-invert{height:44px;display:flex;align-items:center;justify-content:center;padding:8px}
.dm-invert>span{display:none}
.dm-invert .dm-icon{width:20px;height:20px;flex-shrink:0}
.dm-color-target{flex-wrap:wrap;gap:8px}
.dm-fonts>button{padding:16px;min-height:96px;gap:8px}
.dm-fonts>button>span{font-size:22px;line-height:1.3}
.dm-atmospheres>button{padding:12px;min-height:64px}
.dm-cta-choices{gap:8px}
.dm-cta-choices>button{padding:8px 12px;white-space:normal;text-align:left}
.dm-model-selected{width:24px;height:24px;flex-shrink:0}
.dm-model-selected .dm-icon{width:16px;height:16px}
.dm-logo-box input[type=file]{font-size:14px!important;min-height:44px!important;padding:8px!important}
.booking-dialog .booking-error{font-size:12px!important}
#quote-preview{font-size:16px}
.dm-start-result-heading{flex-wrap:wrap}
.solution-tags,.dm-card-step,.editor-heading,.output-top{flex-wrap:wrap}
.dm-card-step h3,.editor-heading h3,.output-top h3{min-width:0}
.dm-start-step h4{min-width:0}
.download-buttons{grid-template-columns:minmax(0,1fr) 92px}
.download-buttons .button{white-space:normal;padding:12px;gap:8px}
.download-buttons .dm-icon{width:16px;height:16px;flex-shrink:0}

/* The keyboard focus ring must remain different from a selected control. */
:focus-visible,
.color-choice input:focus-visible,.dm-swatch:focus-visible,
.dm-delivery-choices>button:focus-visible,
.dm-start-atmospheres input:focus-visible+span,
.booking-type>input:focus-visible+.booking-type-copy{
  outline:3px solid var(--ink);outline-offset:4px;
}
.contact-card :focus-visible{outline-color:var(--lime)}
.color-choice input:checked,.dm-swatch.is-selected{
  box-shadow:0 0 0 2px var(--white),0 0 0 4px var(--violet);
}
.violet:not(:disabled):hover{background:var(--violet-hover)}
.dm-preview-placeholder{background:var(--white)}
.dm-start{background:var(--white)}

/* State changes are quiet; the composition remains still. */
.button,.type-button,.version-option,.solution-cta,.faq-list summary>span,
.dm-model,.booking-type-copy{
  transition:color .15s,border-color .15s,background-color .15s,opacity .15s;
}
.button:not(:disabled):hover{transform:none}
.faq-list details[open] summary>span{transform:none}

/* The same foundation follows the dedicated service and QR pages. */
.home-page .hero h1{font-size:clamp(44px,4.7vw,67px)}
.qr-page .hero h1{font-size:clamp(44px,4.4vw,64px)}
.service-page h1{font-size:clamp(44px,4.7vw,64px)}
.service-page h2{font-size:clamp(32px,3.2vw,42px);line-height:1.16}
.service-page .service-aside h2{font-size:clamp(32px,2.7vw,36px)}
.service-page .service-card h3,.service-page .service-steps h3{
  font-size:22px;line-height:1.2;
}
.home-service-grid p,.service-page .service-lede,
.service-page .service-aside p:not(.eyebrow),
.service-page .service-heading>p:not(.eyebrow),
.service-page .service-card p,.service-page .service-steps p,
.service-page .service-copy p,.service-page .faq-list details p,
.service-page .service-contact-card p:not(.eyebrow){
  font-size:16px;line-height:1.65;
}
.home-service-number,.home-service-grid .home-service-note,
.qr-breadcrumb,.service-page .service-breadcrumb,
.service-page .service-location,.service-page .service-steps li::before,
.service-page .service-related,.qr-related{
  font-size:12px;line-height:1.6;
}
.service-page .faq-list summary{font-size:16px;line-height:1.5}
.home-service-grid>article,.service-page .service-aside,
.service-page .service-card,.service-page .service-contact-card{
  border-radius:var(--radius);
}
.home-service-grid>article,.service-page .service-card{
  background:var(--white);border-color:var(--line);
}
.service-page .service-aside{background:var(--violet-soft);border-color:var(--violet-line)}
.service-page .service-band{background:var(--surface);border-color:var(--line)}
.service-page .service-contact-card{background:var(--ink);color:var(--white)}
.service-page .service-contact-card .eyebrow{color:var(--on-dark-accent)}
.service-page .service-contact-card p:not(.eyebrow){color:var(--on-dark-muted)}
.service-page .service-phone{
  display:inline-flex;align-items:center;min-height:44px;
  font-size:14px;border-color:var(--on-dark-line);white-space:normal;
}
.service-page .service-contact-card :focus-visible{outline-color:var(--lime)}
.service-breadcrumb a{display:inline-flex;align-items:center;min-height:44px}

@media(max-width:1100px){
  .header{gap:16px}.header nav{gap:16px}.header-cta{padding:12px}
  .hero h1{font-size:64px}.hero-description{font-size:16px}
  .method-section{gap:48px}.faq-section{gap:48px}
}
@media(max-width:900px){
  .header{flex-wrap:wrap;height:auto;min-height:100px;padding-block:16px}
  .header nav{order:3;flex-basis:100%;justify-content:center;gap:24px}
  .hero h1{font-size:54px}.section-heading{gap:32px}
  .dm-card-step h3,.dm-model-selector>.dm-card-step h3{font-size:22px}
  .dm-models{gap:12px}
}
@media(max-width:680px){
  .header{min-height:80px;padding-block:16px;gap:12px}
  .header nav{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px 16px;font-size:14px}
  .header-cta{font-size:12px;max-width:180px;white-space:normal;gap:8px}
  .brand{font-size:30px}.hero h1{font-size:clamp(44px,11.8vw,64px)}
  .hero-actions{gap:16px;align-items:stretch;flex-direction:column}
  .hero-actions .button,.hero-actions .text-link{font-size:14px;padding:12px 16px;gap:12px}
  .hero-actions .text-link{align-self:flex-start;padding-inline:0}
  .section-heading{display:block}.section-description{margin-top:24px;max-width:none}
  h2,.method-section h2,.physical-copy h2{font-size:36px;line-height:1.12;letter-spacing:-.04em}
  .section-heading h2{font-size:32px}
  .solution-card h3,.lodging-copy h3{font-size:32px}
  .contact-card h2{font-size:36px}.contact-actions .button{font-size:14px}
  .free-benefits{font-size:12px;gap:12px;flex-wrap:wrap}
  .use-strip span{font-size:12px}.use-strip a{font-size:14px;width:auto}
  .version-selector{grid-template-columns:1fr;gap:12px}
  .version-option{padding:16px}.version-top{display:flex;gap:12px;flex-wrap:wrap}
  .version-top strong{font-size:16px;margin:0}.version-option>span:last-child{font-size:12px}
  .type-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  .type-button{font-size:12px;min-height:76px;padding:8px 4px}
  .generator-editor,.generator-output{padding:24px 16px}
  .form-grid{grid-template-columns:1fr;gap:0}
  .editor-heading h3,.output-top h3{font-size:18px}
  .custom-row{display:block}.custom-row>.checkbox-label{margin-top:16px;font-size:14px}
  .qr-paper{max-width:300px;padding:24px}
  .after-generation{padding:24px 16px;gap:12px}
  .after-generation>div{min-width:0;flex-basis:calc(100% - 44px)}
  .after-generation>.button{margin:8px 0 0 40px;font-size:14px;white-space:normal}
  .after-generation p:not(.eyebrow){font-size:16px}
  .physical-step-copy h3,.method-steps h3{font-size:22px}
  .physical-pack-description>p:not(.eyebrow){font-size:16px}
  .physical-step-copy p,.lodging-copy>p{font-size:16px}
  .secondary-list h3{font-size:18px}.secondary-list p{font-size:16px}
  .faq-list summary{font-size:16px}.faq-list details p{font-size:16px}
  .footer-links{font-size:12px;flex-wrap:wrap;gap:12px 24px}
  .back-top{font-size:12px}.footer p{font-size:12px}
  .dm-card-controls,.dm-card-output{padding:24px 16px}
  .dm-card-heading>p,.dm-model-intro{font-size:16px}
  .dm-model-caption{flex-wrap:wrap;gap:8px}.dm-model-caption strong{font-size:14px}
  .dm-model-description{font-size:12px}.dm-model-selected{display:grid}
  .dm-fonts{gap:8px}.dm-fonts>button{padding:12px}.dm-fonts>button>span{font-size:20px}
  .dm-palette{grid-template-columns:repeat(4,minmax(44px,1fr))}
  .dm-atmospheres>button{padding:12px;flex-wrap:wrap}.dm-atmospheres strong{font-size:12px}
  .dm-start-heading h3{font-size:24px}.dm-start-heading p:not(.eyebrow){font-size:16px}
  .dm-start-paths{grid-template-columns:1fr;gap:12px}
  .dm-start-paths>button{padding:16px}.dm-start-paths strong{font-size:16px}
  .dm-start-paths span{font-size:12px}
  .dm-start-atmospheres>div{grid-template-columns:1fr;gap:12px}
  .dm-start-atmospheres label>span{display:grid;grid-template-columns:32px minmax(0,1fr);padding:12px;gap:0 12px}
  .dm-start-colors{width:32px;height:32px}.dm-start-atmospheres strong{font-size:14px}
  .dm-start-atmospheres small{font-size:12px}.dm-start-step h4{font-size:16px}
  .dm-start-actions>.button,.dm-start-url-row>.button{font-size:14px}
  .dm-order-dialog .button,.quote-result-actions .button{font-size:14px}
  .dm-order-summary>div{grid-template-columns:1fr;gap:4px;font-size:12px}
  .dm-order-dialog h2{font-size:36px}.dm-card-output .button{font-size:14px}
  .booking-location label,.booking-types>legend{font-size:14px}
  .booking-type-copy>span:not(.booking-type-top){font-size:14px}
  .booking-type-copy>small,.booking-type-top>b{font-size:12px}
  .booking-alternative .button{font-size:14px}
  .dm-delivery-choices{grid-template-columns:1fr}
}
@media(max-width:370px){
  .brand{font-size:28px}.header-cta{max-width:155px;padding:10px;font-size:12px}
  .header-cta .dm-icon{width:16px;height:16px}
  .hero h1{font-size:44px}.type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dm-models{grid-template-columns:1fr}.dm-model-caption strong{font-size:16px}
  .dm-fonts{grid-template-columns:1fr}.dm-fonts>button>span{font-size:22px}
  .dm-dual-colors>div span{display:block;font-size:12px}
  .dm-dual-colors>div>label{font-size:12px!important}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}
