/* Shared refinement layer: warm materials, calm typography, clear routes to enquiry. */
:root { --paper:#f7f4ed; --ink:#283d33; --muted:#63685f; --clay:#9b4c30; --line:#dddcd1; --serif:'DM Serif Display',Georgia,serif; }
body { background:var(--paper); color:var(--ink); font-family:'DM Sans',sans-serif; }
h1,h2 { font-family:var(--serif); font-weight:400; letter-spacing:-.025em; color:var(--ink); }
h3,h4,h5,h6 { font-family:'DM Sans',sans-serif; color:var(--ink); }
a { color:var(--clay); }
a:hover { color:var(--ink); }
::selection { background:var(--ink); color:var(--paper); }
:focus-visible { outline:2px solid var(--clay); outline-offset:5px; }
.container,.container-lg { max-width:1240px; padding-inline:40px; }
.btn { border-radius:5px; font-family:'DM Sans',sans-serif; text-transform:none; letter-spacing:0; font-weight:600; gap:22px; min-height:48px; }
.btn-primary { background:var(--clay); color:white; box-shadow:none; }
.btn-primary:hover { background:#803d26; color:white; box-shadow:none; }
.btn-secondary { color:var(--ink); border-color:var(--ink); }
.btn-secondary:hover { background:var(--ink); color:white; }
.section-eyebrow { color:var(--clay); font-size:11px; letter-spacing:1.7px; font-weight:600; }
.navbar,.navbar.scrolled { padding:0; max-width:none; margin:0; background:var(--paper); backdrop-filter:none; border-bottom:1px solid var(--line); box-shadow:none; }
.navbar-container { max-width:1440px; padding:20px 40px; gap:24px; flex-wrap:nowrap; }
.logo-link { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.logo-img { width:150px; height:auto; }
.logo-descriptor { font-size:8px; letter-spacing:2.15px; color:var(--ink); font-weight:600; }
.nav-menu { margin:0 0 0 auto; flex:0 1 auto; gap:5px; }
.nav-link { font-family:inherit; font-size:13px; color:var(--ink); background:none; border:0; padding:10px 12px; display:block; }
.nav-link:hover { color:var(--clay); background:#ece8de; }
.nav-link span { margin-left:6px; }
.nav-dropdown > .nav-link { cursor:pointer; }
.nav-dropdown-menu { top:100%; left:0; border:1px solid var(--line); border-radius:4px; min-width:230px; padding:8px; transform:none; box-shadow:0 12px 30px #283d3312; }
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu { visibility:hidden; opacity:0; transform:none; }
.nav-dropdown.open .nav-dropdown-menu { visibility:visible; opacity:1; transform:none; }
.nav-dropdown-menu li a { padding:12px; font-size:14px; border-radius:3px; }
.nav-dropdown-menu li a:hover,.nav-dropdown-menu li a[aria-current="page"] { background:var(--paper); color:var(--clay); }
.nav-phone { white-space:nowrap; color:var(--ink); font-size:13px; font-weight:600; margin-left:auto; }
.navbar-container > .nav-quote { width:auto; border-radius:4px; box-shadow:none; font-size:13px; padding:12px 20px; }
.nav-toggle { min-width:44px; min-height:44px; justify-content:center; align-items:center; flex-shrink:0; }
.nav-toggle.active span:nth-child(1) { transform:translateY(8px) rotate(45deg); }
.nav-toggle.active span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); }
section.hero { background:var(--paper); padding:54px 40px; }
.hero-bg-grain { display:none; }
.hero-title,.hero h1 { font-family:var(--serif); font-weight:400; color:var(--ink); letter-spacing:-.035em; line-height:1.08; font-size:clamp(40px,4.4vw,66px); }
.hero-title em { color:#7b654d; font-weight:400; }
.hero-eyebrow { background:none; border:0; border-radius:0; padding:0; font-size:10px; letter-spacing:1.8px; color:var(--clay); margin-bottom:22px; }
.hero-subtitle { color:var(--muted); font-size:17px; line-height:1.7; max-width:510px; margin:24px 0 28px; }
.hero-ctas { gap:22px; }
.hero-ctas .btn-primary,.hero-ctas .btn-primary:hover { box-shadow:none; }
.hero-ctas .btn-lg { font-size:14px; padding:16px 23px; }
.hero-explore { color:var(--ink); font-size:13px; border-bottom:1px solid #a5aea4; padding:8px 0; }
.hero-explore span { margin-left:8px; }
.hero-trust { margin:24px 0 0; font-size:11px; color:var(--muted); }
.hero-inner { max-width:1360px; grid-template-columns:1.05fr 1fr; gap:55px; }
.hero-content > *, .hero-visual { animation:none; }
.hero-visual { min-height:0; margin:0; order:0; }
.hero-visual-frame { max-width:none; aspect-ratio:1.08; border-radius:100px 5px 5px 5px; box-shadow:none; transform:none; }
.hero-visual-frame::after { display:none; }
.hero-image-caption { display:flex; justify-content:space-between; gap:16px; border-bottom:1px solid var(--line); padding:14px 0; font-size:11px; color:var(--muted); }
.hero-image-caption span:first-child { color:var(--ink); }
.care-principles { background:#e9ecdf; border-block:1px solid #dce0d2; }
.care-principles .container { display:flex; align-items:center; justify-content:space-between; gap:28px; padding-block:23px; }
.care-principles .container > span { font-family:var(--serif); font-size:20px; }
.care-principles ul { display:flex; list-style:none; gap:30px; font-size:12px; font-weight:500; }
.care-principles li::before { content:'✓'; margin-right:10px; color:#4a614b; }
.problem-section h2,.solutions h2,.why-premrest h2,.brands h2,.deep-dives h2,.compliance h2,.contact-form-area h2,.faq-section h2 { font-family:var(--serif); font-weight:400; font-size:clamp(32px,3.3vw,46px); letter-spacing:-.02em; line-height:1.15; max-width:760px; }
.solutions,.problem-section,.why-premrest,.brands,.deep-dives,.compliance,.contact-section,.faq-section { padding-block:88px; }
.solutions { background:var(--paper); }
.page-home .solutions-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:36px; }
.solution-card { border:1px solid var(--line); border-radius:5px; background:#fffefb; box-shadow:none; }
.solution-card:hover { transform:translateY(-3px); box-shadow:0 10px 30px #283d330b; }
.solution-card .card-image { height:235px; }
.solution-card .card-content { padding:27px; }
.service-kicker { font-size:10px; color:var(--clay); text-transform:uppercase; letter-spacing:1.2px; display:block; margin-bottom:12px; }
.solution-card .card-content h3 { font-family:var(--serif); font-size:27px; font-weight:400; line-height:1.15; }
.solution-card .card-content p { font-size:14px; line-height:1.75; color:var(--muted); }
.solution-link { color:var(--ink); font-size:13px; padding-top:20px; margin-top:auto; }
.solution-link::after { display:none; }
.page-home .problem-section { background:#e9ecdf; }
.page-home .problem-section .container { display:grid; grid-template-columns:1fr 1fr; column-gap:70px; align-items:start; }
.page-home .problem-section .section-eyebrow { grid-column:1; }
.page-home .problem-section h2 { grid-column:1; font-size:clamp(32px,3.5vw,48px); position:sticky; top:130px; }
.page-home .problem-content { grid-column:2; grid-row:1 / span 2; }
.problem-content p { font-size:15px; line-height:1.8; color:#4c574c; }
.why-premrest { background:var(--paper); }
.benefit-item,.benefit-item:hover { border:0; border-top:1px solid var(--line); border-radius:0; padding:26px 0; background:transparent; box-shadow:none; transform:none; }
.benefit-number { color:var(--clay); font-family:var(--serif); font-weight:400; background:none; border:0; box-shadow:none; }
.benefit-content h3 { font-weight:500; font-size:20px; }
.benefit-content p { font-size:14px; color:var(--muted); }
#how-we-work { background:#fffefb; }
.brands { background:#e9ecdf; }
.brand-item,.brand-item:hover { border:0; border-radius:0; background:transparent; box-shadow:none; font-size:21px; transform:none; padding:16px; color:var(--ink); }
.brands-list { border-top:1px solid #cdd4c5; margin-top:30px; padding-top:18px; }
.compliance { background:var(--ink); color:var(--paper); }
.compliance h2,.compliance h3 { color:var(--paper); }
.compliance .section-eyebrow,.compliance-intro { color:#c9d0bf; }
.compliance-item,.compliance-item:hover { border:1px solid #526156; border-radius:4px; background:transparent; box-shadow:none; transform:none; padding:25px; }
.compliance-item p { color:#d2d8cc; font-size:14px; }
.compliance a { color:#eec4a9; }
.page-home .faq-grid { display:block; max-width:900px; margin:32px auto 0; }
.page-home .faq-item { background:transparent; border:0; border-top:1px solid var(--line); padding:0; border-radius:0; }
.page-home .faq-item:last-child { border-bottom:1px solid var(--line); }
.page-home .faq-item:hover { transform:none; box-shadow:none; }
.faq-item summary { cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:28px; padding:23px 0; list-style:none; font-size:17px; font-weight:500; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:'+'; font-size:24px; font-weight:400; color:var(--clay); flex-shrink:0; }
.faq-item[open] summary::after { content:'−'; }
.page-home .faq-item p { padding:0 42px 25px 0; max-width:790px; color:var(--muted); }
.contact-section { background:#eee9de; }
.contact-form { background:#fffefb; padding:30px; border:1px solid var(--line); border-radius:5px; }
input[type="text"],input[type="email"],input[type="tel"],textarea,select { border-radius:4px; font-family:inherit; font-size:16px; min-height:48px; border-color:#b5bbac; }
.contact-info,.page-contact .contact-info { background:#e0e5d6; border-radius:5px; border:0; padding:32px; box-shadow:none; }
footer { background:var(--ink); }
.highlight { background:none; color:var(--clay); }
@media (max-width:1100px) {
  .navbar-container { padding-inline:24px; gap:14px; }
  .nav-menu { gap:0; }
  .nav-link { padding-inline:9px; font-size:12px; }
  .nav-phone { display:none; }
  .hero-inner { gap:32px; }
  .care-principles .container { flex-direction:column; gap:12px; }
  .page-home .solutions-grid { gap:16px; }
  .solution-card .card-content { padding:22px; }
}
@media (max-width:800px) {
  .container,.container-lg { padding-inline:24px; }
  .navbar-container { padding:15px 24px; gap:16px; }
  .navbar-logo { order:0; flex:1; }
  .logo-img { width:130px; }
  .logo-descriptor { font-size:7px; letter-spacing:1.8px; }
  .navbar-container > .nav-quote { display:inline-flex; padding:10px 16px; min-height:44px; font-size:12px; order:1; }
  .nav-toggle { display:flex; order:2; margin:0; }
  .nav-menu { display:none; position:absolute; top:100%; left:0; right:0; width:100%; margin:0; padding:16px 24px 24px; background:var(--paper); flex-direction:column; max-height:calc(100dvh - 85px); overflow:auto; box-shadow:0 18px 20px #283d3312; }
  .nav-menu.active { display:flex; }
  .nav-link { width:100%; text-align:left; display:flex; justify-content:space-between; font-size:15px; padding:14px 0; border-bottom:1px solid var(--line); border-radius:0; }
  .nav-dropdown-menu,.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu { display:none; position:static; transform:none; visibility:visible; opacity:1; box-shadow:none; border:0; background:#eaece2; padding:8px; }
  .nav-dropdown.open .nav-dropdown-menu,.nav-dropdown.open:hover .nav-dropdown-menu { display:block; }
  .nav-dropdown-menu li a { border:0; font-size:14px; padding:12px; }
  section.hero { padding:44px 24px; }
  .hero-inner { grid-template-columns:1fr; gap:34px; }
  .hero-content { max-width:620px; }
  .hero-visual { order:0; min-height:0; margin:0; }
  .hero-visual-frame { aspect-ratio:1.65; border-top-left-radius:70px; }
  .hero-title,.hero h1 { font-size:clamp(40px,6.5vw,56px); }
  .hero-subtitle { font-size:16px; margin:20px 0 24px; }
  .hero-ctas { flex-direction:row; align-items:center; }
  .hero-ctas .btn { width:auto; }
  .hero-trust { margin-top:20px; }
  .care-principles ul { gap:12px 25px; flex-wrap:wrap; justify-content:center; font-size:11px; }
  .care-principles .container > span { font-size:18px; }
  .page-home .solutions-grid { grid-template-columns:1fr; gap:24px; }
  .solution-card .card-image { height:260px; }
  .page-home .problem-section .container { display:block; }
  .page-home .problem-section h2 { position:static; margin-bottom:32px; }
  .solutions,.problem-section,.why-premrest,.brands,.deep-dives,.compliance,.contact-section,.faq-section { padding-block:56px; }
  .faq-grid { grid-template-columns:1fr; }
  .contact-form,.contact-info,.page-contact .contact-info { padding:24px; }
}
@media (max-width:420px) {
  .navbar-container { padding-inline:18px; gap:8px; }
  .logo-img { width:112px; }
  .logo-descriptor { font-size:6px; letter-spacing:1.65px; }
  .navbar-container > .nav-quote { gap:10px; padding-inline:12px; }
  .hero-ctas { gap:12px; }
  .hero-ctas .btn { width:100%; }
  .hero-explore { font-size:13px; }
  .hero-image-caption { font-size:10px; }
  .hero-trust { font-size:10px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
}
