/* WordPress integration and deliberate fixes to the approved design. */
:root {
 --color-primary: var(--c-sage); --color-secondary: var(--c-ink); --color-primary-soft: var(--c-mist);
 --color-primary-hover: color-mix(in srgb, var(--c-sage) 85%, var(--c-white)); --color-accent: var(--c-sage); --color-accent-soft: var(--c-mist);
 --color-background: var(--c-ivory); --color-background-alt: var(--c-stone); --color-text: var(--c-charcoal); --color-white: var(--c-white);
 --c-ink-soft: color-mix(in srgb, var(--c-ink) 78%, transparent);
 --c-ink-faint: color-mix(in srgb, var(--c-ink) 65%, transparent);
 --c-line: color-mix(in srgb, var(--c-ink) 12%, transparent);
 --c-line-strong: color-mix(in srgb, var(--c-ink) 24%, transparent);
 --c-on-ink-soft: color-mix(in srgb, var(--c-ivory) 80%, transparent);
 --c-line-on-ink: color-mix(in srgb, var(--c-ivory) 16%, transparent);
 --shadow-md: 0 18px 40px -22px color-mix(in srgb, var(--c-ink) 35%, transparent);
 --shadow-paper: 0 1px 0 color-mix(in srgb, var(--c-ink) 5%, transparent), 0 30px 60px -30px color-mix(in srgb, var(--c-ink) 55%, transparent);
}
.tmil-site { overflow-x: clip; }
.tmil-site .nav { align-items: center; }
.tmil-site .nav__list > li > a { display: inline-flex; align-items: center; min-height: 44px; padding: .6rem .85rem; font-weight: var(--fw-medium); font-size: .96875rem; text-decoration: none; border-radius: var(--r-sm); }
.tmil-site .nav__list a:hover { background: var(--surface-alt); }
.tmil-site .current-menu-item > a { box-shadow: inset 0 -2px 0 var(--accent); }
.tmil-site [hidden] { display: none !important; }
.tmil-site .custom-logo, .tmil-site .logo__image { display:block; width:auto; height:auto; max-width:260px; max-height:82px; object-fit:contain; }
.tmil-site .custom-logo-link, .tmil-site .logo { flex-shrink:0; }
.tmil-site .entry-content :where(h2,h3,p,ul,ol,blockquote) { margin-block: var(--s-5); }
.tmil-site .entry-content :where(ul,ol) { padding-left: var(--s-5); }
.tmil-site .entry-content h1 { font-size: var(--fs-h2); }
.tmil-site .prose h1 { font-size: var(--fs-h1); }
.tmil-site .quote-form { display: grid; gap: var(--s-5); }
.tmil-site .quote-form label { display: grid; gap: var(--s-2); font-weight: var(--fw-semi); }
.tmil-site .quote-form input, .tmil-site .quote-form textarea, .tmil-site .quote-form select { width: 100%; min-height: 52px; border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); padding: .8rem; background: var(--surface); }
.tmil-site .quote-form textarea { min-height: 140px; font: inherit; }
.tmil-site .quote-form .consent { display: flex; align-items: flex-start; }
.tmil-site .consent input { width: 20px; min-height: 20px; margin-top: .4rem; }
.tmil-site .footer__cols a { display: inline-block; padding-block: .25rem; }
.tmil-site .report .demo-tag { max-width: 100%; }
.tmil-site .summary__price strong { overflow-wrap: anywhere; }
.tmil-site .acc > summary { grid-template-columns: minmax(0,1fr) auto auto; }
.tmil-site .page-hero img { aspect-ratio: 5 / 4; }
.tmil-site .hero img.hero__img { aspect-ratio: 4 / 5; }
.tmil-site .btn { white-space: normal; text-align: center; line-height: 1.3; }
@media (min-width:1040px) { .tmil-site .nav { display:flex; } }
@media (max-width:899px) { .tmil-site .hero img.hero__img { aspect-ratio: 4 / 3.6; } }
@media (max-width:560px) { .tmil-site .acc > summary { grid-template-columns: minmax(0,1fr) auto; } .tmil-site .acc > summary > span:empty { display:none; } }
@media (max-width:420px) { .tmil-site .site-header__inner { gap: var(--s-2); } .tmil-site .custom-logo { max-width:200px; } }
.admin-bar.tmil-site .site-header { top:32px; }
.admin-bar.tmil-site .drawer { top:calc(var(--header-h) + 32px); }
.admin-bar.tmil-site .jump { top:calc(var(--header-h) + 32px); }
@media(max-width:782px) { .admin-bar.tmil-site .site-header { top:46px; } .admin-bar.tmil-site .drawer,.admin-bar.tmil-site .jump { top:calc(var(--header-h) + 46px); } }
@media(max-width:600px) { .admin-bar.tmil-site .site-header { top:0; } .admin-bar.tmil-site .drawer,.admin-bar.tmil-site .jump { top:var(--header-h); } }
/* Keep resets inside the theme surface; Elementor content retains its styles. */
.tmil-site .elementor { font-weight:initial; }

.tmil-site .report__photos .ph { font-size:var(--fs-xs); min-height:80px; padding:var(--s-2); }
.tmil-site .report__photos .ph { aspect-ratio:1; }

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

:root { --wp--preset--color--ink:var(--c-ink); --wp--preset--color--sage:var(--c-sage); --wp--preset--color--mist:var(--c-mist); --wp--preset--color--ivory:var(--c-ivory); --wp--preset--color--stone:var(--c-stone); }

/* UI remains Inter; display headings use Work Sans. */
.tmil-site :where(.report,.hero__slip,.nav,.mega,.drawer,.btn,.quote-form,.calc,.site-footer,.crumbs) { font-family:var(--font-body); }
.tmil-site :where(.report,.hero__slip,.mega,.drawer,.site-footer) :where(h2,h3,h4) { font-family:var(--font-body); }
.tmil-site .btn--contrast { background:var(--color-secondary); color:var(--c-on-ink); }
.tmil-site .btn--contrast:hover { background:var(--c-charcoal); }
.tmil-site .site-footer :where(.logo,.custom-logo-link) { display:inline-flex; padding:12px 18px; background:var(--color-background); border-radius:var(--r-sm); align-self:start; }
.tmil-site .site-footer :where(.custom-logo,.logo__image) { max-width:280px; max-height:94px; }
.tmil-site .related-content { padding-block:clamp(2.5rem,2rem + 2vw,4rem); border-top:1px solid var(--c-line); }
.tmil-site .related-content__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:var(--s-6); }
.tmil-site .related-content h2 { font-size:var(--fs-h3); margin-bottom:var(--s-3); }
.tmil-site .related-content ul { list-style:none; display:grid; gap:var(--s-2); }
.tmil-site .related-content a { text-underline-offset:4px; text-decoration-color:var(--c-sage-deep); }
.tmil-site .page-directory__notice { margin-top:var(--s-4); font-size:var(--fs-sm); color:var(--text-soft); }
@media(max-width:560px) { .tmil-site :where(.custom-logo,.logo__image) { max-width:220px; max-height:74px; } }
@media(max-width:420px) { .tmil-site :where(.custom-logo,.logo__image) { max-width:200px; max-height:68px; } }
/* Intrinsic logo and enquiry controls must fit narrow screens. */
.tmil-site .site-header :where(.logo,.custom-logo-link) { min-width:0; flex:0 1 260px; }
.tmil-site .site-header :where(.custom-logo,.logo__image) { width:100%; height:auto; }
.tmil-site .header-actions { flex-shrink:0; }
.tmil-site .final { grid-template-columns:minmax(0,1fr); }
.tmil-site .final__copy,.tmil-site .final__media { min-width:0; }
@media(min-width:940px) { .tmil-site .final { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); } }
