/* Subtle finishing layer: preserve the editorial system while improving rhythm and states. */
::selection{background:#ded4c4;color:#1c1b19}

.page-home,.page-details,.page-policies,.page-support{
  --polish-warm:#faf9f6;
  --polish-focus:rgba(128,100,63,.16);
  line-height:1.55;
}

@media(max-width:700px){
  .page-home footer .f-policy a,
  .page-details footer .f-policy a,
  .page-support footer .footer-policy a,
  .page-policies footer .footer-policy a{
    display:inline-flex!important;
    align-items:center;
    min-height:44px!important;
    padding-block:8px;
  }
}

.page-home img,.page-details img,.page-policies img,.page-support img{image-rendering:auto}

.page-home .nav,.page-details .top,.page-policies .top,.page-support .top{
  border-bottom-color:rgba(115,107,95,.28);
}

.catalog-rail-inner{
  overscroll-behavior-inline:contain;
  scroll-snap-type:x proximity;
}
.catalog-rail a{scroll-snap-align:start;transition:color .16s ease,opacity .16s ease}
.catalog-rail a:hover{color:var(--dr-blue-dark)}

.page-home .hero,.page-details .hero{
  outline:1px solid rgba(28,27,25,.06);
  outline-offset:-1px;
}
.page-home .hero-slide-copy,.page-details .hero>.wrap{isolation:isolate}
.page-home .hero-slide-kicker,.page-details .hero .kicker{font-weight:760}

.home-section-head h2,.shelf-head h2,
.page-details .section h2,.page-support .section h2,.page-policies .policy h2{
  text-wrap:balance;
  word-break:keep-all;
}
.home-section-head>a,.shelf-head>a,
.page-details .section>.wrap>.hero-actions a{text-underline-offset:5px}

.discovery-card,.featured-product,.page-home .mcard,
.page-details .card,.page-details .person,
.page-support .quicknav a,.page-support .step,.page-support .action,
.page-policies .summary>div,.page-policies .checklist li{
  transition:background-color .16s ease,border-color .16s ease,color .16s ease;
}

.page-home .mcard.sel,
.page-home .bo .opt.sel,.page-home .bo .app.sel,.page-home .bo .addon.sel{background:#f7f3ec}
.page-home .mcard.sel .mimg{background:#e9e5dd}
.page-home .fchip:active,.page-home .dbtn:active,
.page-home .bo .opt:active,.page-home .bo .app:active,.page-home .bo .addon:active,
.page-home .btn:active,.page-details .cta:active,.page-details .ghost:active,
.page-support .btn:active,.page-policies .btn-blue:active{transform:translateY(1px)}

.page-home input,.page-home select,.page-home textarea,
.page-support input,.page-support select,.page-support textarea{
  transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
.page-home input:hover,.page-home select:hover,.page-home textarea:hover,
.page-support input:hover,.page-support select:hover,.page-support textarea:hover{border-color:#aaa296}
.page-home input:focus,.page-home select:focus,.page-home textarea:focus,
.page-support input:focus,.page-support select:focus,.page-support textarea:focus{
  border-color:#80643f;
  background:#fff;
  box-shadow:0 0 0 3px var(--polish-focus);
  outline:none;
}

.page-details .faq details,.page-support .faq details{
  transition:background-color .16s ease,border-color .16s ease;
}
.page-details .faq details[open],.page-support .faq details[open]{background:var(--polish-warm)}
.page-details .faq summary,.page-support .faq summary{cursor:pointer}
.page-details .faq summary::after,.page-support .faq summary::after{
  transition:transform .18s ease,color .18s ease;
}
.page-details .faq details[open] summary::after,.page-support .faq details[open] summary::after{
  transform:rotate(180deg);
}

.page-home footer a,.page-details footer a,.page-policies footer a,.page-support footer a{
  text-underline-offset:3px;
  transition:color .16s ease;
}
.page-home footer a:hover,.page-details footer a:hover,.page-policies footer a:hover,.page-support footer a:hover{
  color:var(--dr-ink);
}

@media(hover:hover){
  .discovery-card:hover,.featured-product:hover,.page-home .mcard:hover,
  .page-details .card:hover,.page-details .person:hover,
  .page-support .quicknav a:hover,.page-support .step:hover,.page-support .action:hover,
  .page-policies .summary>div:hover,.page-policies .checklist li:hover{background-color:var(--polish-warm)}
}

@media(max-width:700px){
  .page-home .logo-type b,.page-details .logo-type b{letter-spacing:-.035em}
  .catalog-rail-inner{gap:21px;padding-inline:16px;scroll-padding-inline:16px}
  .catalog-rail a{font-size:11.5px}
  .page-home .hero-slide-copy{padding-left:0}
  .page-home .hero-slide-kicker{letter-spacing:.13em}
  .home-section-head,.shelf-head{align-items:flex-end}
  .home-section-head h2,.shelf-head h2{line-height:1.22}
  .discovery-card strong,.featured-copy strong,.page-home .mcard .mname{word-break:keep-all}
  .page-home .bo .opt,.page-home .bo .app,.page-home .bo .addon{min-height:48px}
  .page-details .faq details[open],.page-support .faq details[open]{padding-inline:12px}
  .page-details .faq details[open] p,.page-support .faq details[open] p{line-height:1.7}
  .page-home footer,.page-details footer,.page-policies footer,.page-support footer{line-height:1.75}
}

@media(prefers-reduced-motion:reduce){
  .page-home *,.page-details *,.page-policies *,.page-support *{scroll-behavior:auto!important}
}

/* 2026-07 typography system: balanced hierarchy across every public page. */
.page-home,.page-details,.page-policies,.page-support{
  --type-display-weight:760;
  --type-heading-weight:740;
  --type-label-weight:720;
  font-size:16px;
  line-height:1.65;
  letter-spacing:-.015em;
  font-kerning:normal;
  font-synthesis:none;
}

.page-home h1,.page-home h2,.page-home h3,
.page-details h1,.page-details h2,.page-details h3,
.page-policies h1,.page-policies h2,.page-policies h3,
.page-support h1,.page-support h2,.page-support h3{
  font-family:inherit;
  word-break:keep-all;
  overflow-wrap:normal;
}
.page-home p,.page-home li,.page-home small,
.page-details p,.page-details li,.page-details td,
.page-policies p,.page-policies li,.page-policies td,
.page-support p,.page-support li,.page-support td{
  text-wrap:pretty;
}

/* Navigation and compact labels */
.page-home .nlink,.page-details .top .nlink,.page-policies .top-nav a,.page-support .support-nav a{
  font-size:13px;
  font-weight:650;
  letter-spacing:-.01em;
}
.catalog-rail a,.policy-catalog a{
  font-size:12px;
  font-weight:650;
  letter-spacing:-.015em;
}
.catalog-rail a span,.policy-catalog a span,
.page-home .hero-slide-kicker,.page-details .kicker,.page-policies .kicker,.page-support .kicker,
.home-section-head p,.shelf-head p{
  font-weight:var(--type-label-weight);
  letter-spacing:.12em;
}
.page-home .btn,.page-home button,.page-details .cta,.page-details .ghost,
.page-policies .doc-link,.page-support .btn{
  font-family:inherit;
  letter-spacing:-.01em;
}

/* Hero scale */
.page-home .hero-slide h1,.page-home .hero-slide h2{
  max-width:17ch;
  font-size:clamp(44px,4.15vw,54px);
  font-weight:var(--type-display-weight);
  line-height:1.09;
  letter-spacing:-.045em;
}
.page-home .hero-slide-lead{
  max-width:62ch;
  font-size:16px;
  line-height:1.72;
  letter-spacing:-.018em;
}
.page-details .hero h1,.page-policies .hero h1,.page-support .hero h1{
  max-width:15ch;
  font-size:clamp(44px,4.15vw,54px);
  font-weight:var(--type-display-weight);
  line-height:1.1;
  letter-spacing:-.045em;
}
.page-details .hero .lead,.page-policies .hero .lead,.page-support .hero .lead{
  max-width:64ch;
  font-size:16px;
  line-height:1.72;
  letter-spacing:-.015em;
}

/* Section hierarchy */
.home-section-head h2{
  font-size:31px;
  font-weight:var(--type-heading-weight);
  line-height:1.22;
  letter-spacing:-.035em;
}
.shelf-head h2{
  font-size:28px;
  font-weight:var(--type-heading-weight);
  line-height:1.24;
  letter-spacing:-.032em;
}
.page-home #models .sec-title{
  max-width:19ch;
  font-size:clamp(36px,3.5vw,44px);
  font-weight:var(--type-display-weight);
  line-height:1.16;
  letter-spacing:-.04em;
}
.page-home #models .sec-title b,.page-home #models .sec-title span{font-weight:inherit}
.page-home #models .sec-sub,
.page-details .intro,.page-policies .intro,.page-support .section>.wrap>.sub{
  max-width:66ch;
  font-size:15px;
  line-height:1.75;
  letter-spacing:-.015em;
}
.page-details .section h2,.page-policies .policy h2,.page-support .section h2{
  max-width:20ch;
  font-size:clamp(31px,3vw,38px);
  font-weight:var(--type-heading-weight);
  line-height:1.2;
  letter-spacing:-.038em;
}

/* Cards, products and supporting copy */
.discovery-card strong{font-size:17px;font-weight:var(--type-heading-weight);line-height:1.35;letter-spacing:-.025em}
.discovery-card small{font-size:12.5px;line-height:1.55;letter-spacing:-.015em}
.featured-copy strong{font-size:17px;font-weight:var(--type-heading-weight);line-height:1.32;letter-spacing:-.025em}
.featured-copy span{font-size:12px;line-height:1.55;letter-spacing:-.01em}
.featured-price{font-size:14px;font-weight:var(--type-heading-weight);font-variant-numeric:tabular-nums}
.page-home .mcard .mname{font-size:17px;font-weight:var(--type-heading-weight);line-height:1.35;letter-spacing:-.025em}
.page-home .mcard .mtag{font-size:12px;line-height:1.55;letter-spacing:-.01em}
.page-home .mcard .mprice{font-size:15px;font-weight:var(--type-heading-weight);font-variant-numeric:tabular-nums}
.benefit-card strong{font-size:28px;font-weight:var(--type-heading-weight);line-height:1.23;letter-spacing:-.038em}
.benefit-card small{font-size:13px;line-height:1.6;letter-spacing:-.01em}

.page-details .card strong,.page-details .person h3,
.page-policies .summary b,.page-support .step strong,.page-support .action h3{
  font-weight:var(--type-heading-weight);
  letter-spacing:-.025em;
}
.page-details .card p,.page-details .step p,.page-details .person p,
.page-policies .checklist li,.page-policies .summary span,
.page-support .step p,.page-support .action p{
  font-size:14px;
  line-height:1.7;
  letter-spacing:-.012em;
}
.page-details .faq summary,.page-support .faq summary{
  font-size:16px;
  font-weight:var(--type-heading-weight);
  line-height:1.5;
  letter-spacing:-.02em;
}
.page-details .faq p,.page-support .faq p{
  max-width:66ch;
  font-size:14px;
  line-height:1.75;
}

/* Forms, closing CTA and footer */
.page-home label,.page-support .field label{font-size:12px;font-weight:var(--type-label-weight);letter-spacing:-.01em}
.page-home input,.page-home select,.page-home textarea,
.page-support input,.page-support select,.page-support textarea{font-size:15px;line-height:1.5;letter-spacing:-.015em}
.page-home .final h2,.page-details .detail-final h2{
  max-width:18ch;
  margin-inline:auto;
  font-size:clamp(36px,3.8vw,46px);
  font-weight:var(--type-display-weight);
  line-height:1.16;
  letter-spacing:-.04em;
}
.page-home .final p,.page-details .detail-final p:not(.kicker){font-size:15px;line-height:1.72}
.page-home footer,.page-details footer,.page-policies footer,.page-support footer{
  font-size:12px;
  line-height:1.8;
  letter-spacing:-.01em;
}
.page-home footer .flogo,.page-details footer .flogo,
.page-policies footer .footer-logo,.page-support footer .footer-logo{
  font-size:16px;
  font-weight:var(--type-heading-weight);
  letter-spacing:-.025em;
}

@media(max-width:700px){
  .page-home,.page-details,.page-policies,.page-support{font-size:15px;line-height:1.65}
  .page-home .nlink,.page-details .top .nlink,.page-policies .top-nav a,.page-support .support-nav a{font-size:12px}
  .catalog-rail a,.policy-catalog a{font-size:11.5px}

  .page-home .hero-slide h1,.page-home .hero-slide h2,
  .page-details .hero h1,.page-policies .hero h1,.page-support .hero h1{
    max-width:11ch;
    font-size:32px;
    line-height:1.14;
    letter-spacing:-.04em;
  }
  .page-home .hero-slide-lead,
  .page-details .hero .lead,.page-policies .hero .lead,.page-support .hero .lead{
    max-width:35ch;
    font-size:14px;
    line-height:1.72;
    letter-spacing:-.012em;
  }

  .home-section-head h2,.shelf-head h2{
    font-size:24px;
    line-height:1.24;
    letter-spacing:-.032em;
  }
  .page-home #models .sec-title{
    max-width:17ch;
    font-size:30px;
    line-height:1.18;
    letter-spacing:-.038em;
  }
  .page-details .section h2,.page-policies .policy h2,.page-support .section h2{
    max-width:18ch;
    font-size:26px;
    line-height:1.22;
    letter-spacing:-.035em;
  }
  .page-home #models .sec-sub,
  .page-details .intro,.page-policies .intro,.page-support .section>.wrap>.sub{font-size:14px;line-height:1.7}

  .discovery-card strong{font-size:16px}
  .discovery-card small{font-size:12px;line-height:1.55}
  .featured-copy strong{font-size:16px}
  .featured-copy span{font-size:11.5px}
  .page-home .mcard .mname{font-size:16px}
  .page-home .mcard .mtag{font-size:12px;line-height:1.5}
  .benefit-card strong{font-size:24px;line-height:1.25}
  .benefit-card small{font-size:12.5px}

  .page-details .card p,.page-details .step p,.page-details .person p,
  .page-policies .checklist li,.page-policies .summary span,
  .page-support .step p,.page-support .action p{font-size:13px;line-height:1.68}
  .page-details .faq summary,.page-support .faq summary{font-size:15px;line-height:1.45}
  .page-details .faq p,.page-support .faq p{font-size:13px;line-height:1.72}

  .page-home .final h2,.page-details .detail-final h2{max-width:17ch;font-size:30px;line-height:1.18}
  .page-home .final p,.page-details .detail-final p:not(.kicker){font-size:13.5px;line-height:1.7}
  .page-home footer,.page-details footer,.page-policies footer,.page-support footer{font-size:11.5px;line-height:1.8}
}

/* 2026-07 restrained UX polish: clearer actions and readable micro-copy. */
.page-home .logo-type small,
.page-details .top .logo-type small,
.page-policies .logo-type small,
.page-support .support-logo-type small{font-size:9px}
.catalog-rail a span,.policy-catalog a span{font-size:10px}
.page-home .campus-logo small{font-size:8.5px}
.page-details .media figcaption span,.page-support .quicknav a::before{font-size:10px}
.page-details .person .uni{font-size:13px;line-height:1.55}
.page-details .badge{font-size:11px}
.table-swipe-hint{display:none}
.page-support .video{width:min(100%,860px);margin-left:auto;margin-right:auto}
.page-support .video video{max-height:540px;object-fit:contain}

@media(max-width:700px){
  .page-home .hero-slide-actions{margin-top:18px}
  .page-home .hero-slide .hero-action{min-height:42px;padding:0 15px;font-size:12px}
  .page-home .home-section-head p,.page-home .shelf-head p{font-size:10px}
  .catalog-rail.rail-has-more::after,.policy-catalog.rail-has-more::after{
    content:"";position:absolute;z-index:4;right:0;top:0;bottom:0;width:44px;pointer-events:none;
    background:linear-gradient(90deg,rgba(255,255,255,0),#fff 82%);
  }
  .table-swipe-hint{
    display:flex;align-items:center;justify-content:flex-end;gap:6px;
    margin:20px 0 -22px;color:#706a61;font-size:11px;font-weight:700;line-height:1.5;
  }
  .table-swipe-hint span{font-size:15px}
  .page-details .table-wrap{scrollbar-width:thin;scrollbar-color:#aaa49a transparent}
  .page-support .video{width:100%}
}

@media(max-width:700px){
  .page-home .catalog-rail a,.page-details .catalog-rail a,.page-support .catalog-rail a,.page-policies .policy-catalog a{font-size:12px}
  .page-details .hero h1{max-width:12ch;font-size:29px;line-height:1.18}
  .page-details .hero h1 br{display:none}
}
