/*
Theme Name: AOM Classic & Motion
Description: Reference-style Montserrat typography and a transparent, theme-coloured AOM symbol beside the original text branding. Inherits the original AOM Interior layout, colours and motion. Requires the AOM Interior parent theme.
Author: AOM Interior
Template: aom-interior
Version: 1.4.0
Requires at least: 6.3
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aom-classic-motion
Tags: custom-logo, custom-menu, featured-images, portfolio, one-column, two-columns
*/

/* Self-hosted Montserrat: a visual match to the reference, not an identified original typeface. */
@font-face { font-family:'AOM Montserrat'; font-style:normal; font-weight:300; font-display:swap; src:url('assets/fonts/montserrat-300.woff2') format('woff2'); }
@font-face { font-family:'AOM Montserrat'; font-style:normal; font-weight:400; font-display:swap; src:url('assets/fonts/montserrat-400.woff2') format('woff2'); }
@font-face { font-family:'AOM Montserrat'; font-style:normal; font-weight:500; font-display:swap; src:url('assets/fonts/montserrat-500.woff2') format('woff2'); }
@font-face { font-family:'AOM Montserrat'; font-style:normal; font-weight:600; font-display:swap; src:url('assets/fonts/montserrat-600.woff2') format('woff2'); }

:root {
    --sans:'AOM Montserrat',Arial,sans-serif;
    --serif:'AOM Montserrat',Arial,sans-serif;
}

body.aom-classic-motion { font-family:var(--sans); line-height:1.8; }
.aom-classic-motion :is(h1,h2,h3,h4,h5,h6) { font-family:var(--serif); font-weight:300; letter-spacing:-.035em; text-wrap:balance; }
.aom-classic-motion h2 { font-size:clamp(36px,4.25vw,62px); line-height:1.15; }
.aom-classic-motion h3 { font-size:clamp(24px,2.1vw,29px); line-height:1.3; }
.aom-classic-motion :is(h1,h2,h3) :is(em,.aom-highlight),
.aom-classic-motion .aom-highlight {
    font-family:var(--serif); font-style:normal; font-weight:500;
}
.aom-classic-motion :is(h1,h2) em { letter-spacing:-.03em; }
.aom-classic-motion :is(input,select,textarea,button,.button) { font-family:var(--sans); }
.aom-classic-motion :is(.body-copy,.values-grid p,.service-card>p,.service-card details p,.process-step p) { font-size:16px; line-height:1.85; }
.aom-classic-motion :is(.eyebrow,.nav-list a,.button,.text-link) { font-family:var(--sans); font-weight:500; }
.aom-classic-motion .eyebrow { letter-spacing:.16em; }
.aom-classic-motion .button { font-weight:600; letter-spacing:.095em; }
.aom-classic-motion .nav-list a { letter-spacing:.105em; }
.aom-classic-motion .brand>a>span { font-family:var(--serif); font-weight:300; font-size:27px; letter-spacing:.025em; }
.aom-classic-motion .brand small { letter-spacing:.25em; }
.aom-classic-motion .footer-brand>a { font-family:var(--serif); font-weight:300; font-size:34px; letter-spacing:.025em; }
.aom-classic-motion :is(.footer-grid h2,.eyebrow) { text-wrap:wrap; }
.aom-classic-motion .footer-grid>div:not(:first-child)>h2 { font-family:var(--sans); font-size:12px; letter-spacing:.15em; line-height:1.6; }

/* Geometric headings use lighter weights and widths suited to the parent layout. */
.aom-classic-motion :is(.tour-intro>h1,.hero-content h1) { font-size:clamp(46px,5.3vw,84px); line-height:1.1; letter-spacing:-.035em; }
.aom-classic-motion .tour-copy>h2 { font-size:clamp(44px,5.5vw,80px); line-height:1.12; }
.aom-classic-motion .section-heading h2 { font-size:clamp(35px,4.05vw,60px); line-height:1.15; }
.aom-classic-motion :is(.aom-page-heading h1,.page-title) { font-size:clamp(40px,5vw,74px); line-height:1.15; }
.aom-classic-motion :is(.values-grid h3,.portfolio-view h3,.service-card>h3,.process-step h3) { font-size:clamp(23px,2vw,28px); line-height:1.3; letter-spacing:-.018em; }
.aom-classic-motion :is(.project-card h3,.project-card h2) { font-family:var(--serif); font-weight:400; font-size:26px; line-height:1.3; }
.aom-classic-motion .banner-content h2 { font-size:clamp(38px,5.2vw,76px); line-height:1.15; }
.aom-classic-motion .material-section h2 { font-size:clamp(32px,3.2vw,48px); }
.aom-classic-motion .studio-signature { font-family:var(--sans); font-style:normal; font-weight:300; font-size:30px; line-height:1.3; }
.aom-classic-motion .mobile-menu .nav-list>li>a { font-family:var(--serif); font-size:38px; line-height:1.3; }
.aom-classic-motion .portfolio-lightbox-bottom h2 { font-size:30px; line-height:1.25; }
.aom-classic-motion .step-number { font-family:var(--sans); font-weight:300; font-size:48px; }

@media (max-width:1050px) {
    .aom-classic-motion .tour-intro>h1 { font-size:clamp(46px,7.2vw,76px); }
}
@media (max-width:760px) {
    .aom-classic-motion .tour-intro>h1 { font-size:clamp(38px,8.7vw,62px); line-height:1.13; }
    .aom-classic-motion .tour-copy>h2 { font-size:clamp(35px,8.6vw,58px); }
    .aom-classic-motion :is(.tour-invitation,.tour-copy>p:last-child) { font-size:15px; }
    .aom-classic-motion .tour-intro>.eyebrow { font-size:11px; letter-spacing:.11em; }
    .aom-classic-motion .button { white-space:normal; }
    .aom-classic-motion .portfolio-view h3 { font-size:25px; }
}
@media (max-width:600px) {
    .aom-classic-motion :is(h2,.section-heading h2,.material-section h2) { font-size:clamp(32px,8.8vw,42px); }
    .aom-classic-motion .brand>a>span { font-size:25px; }
    .aom-classic-motion .brand small { font-size:8px; }
    .aom-classic-motion .banner-content h2 { font-size:38px; }
    .aom-classic-motion .aom-page-heading h1 { font-size:clamp(36px,9.5vw,48px); }
    .aom-classic-motion :is(.contact-phone,.footer-brand>a) { overflow-wrap:anywhere; }
    .aom-classic-motion :is(.enquiry-form input,.enquiry-form textarea,.enquiry-form select) { font-size:16px; }
    .aom-classic-motion .portfolio-lightbox-bottom h2 { font-size:25px; }
}
@media (max-width:370px) {
    .aom-classic-motion .tour-intro>h1 { font-size:34px; }
    .aom-classic-motion .tour-copy>h2 { font-size:34px; }
}
@media (max-width:760px) and (max-height:700px) {
    .aom-classic-motion .tour-intro>h1 { font-size:clamp(32px,8.8vw,39px); }
}
@media (min-width:761px) and (max-height:650px) {
    .aom-classic-motion .tour-intro>h1 { font-size:56px; }
    .aom-classic-motion .tour-copy>h2 { font-size:52px; }
}
@media (max-height:500px) and (orientation:landscape) {
    .aom-classic-motion .tour-intro>h1 { font-size:clamp(27px,4.5vw,38px); }
    .aom-classic-motion .tour-copy>h2 { font-size:36px; }
}

/* Transparent gold/ivory symbol; existing text and home links stay native HTML. */
.aom-classic-motion .brand > a,
.aom-classic-motion .footer-brand > a {
    position:relative;
}
.aom-classic-motion .brand > a {
    padding-left:66px;
    min-height:56px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.aom-classic-motion .brand > a::before,
.aom-classic-motion .footer-brand > a::before {
    content:'';
    position:absolute;
    left:0;
    top:50%;
    width:56px;
    height:56px;
    transform:translateY(-50%);
    background:url('assets/logos/aom-theme-mark.png') center / contain no-repeat;
    pointer-events:none;
}
.aom-classic-motion .footer-brand > a {
    padding:8px 0 8px 86px;
    min-height:76px;
    font-size:30px;
}
.aom-classic-motion .footer-brand > a::before {
    width:72px;
    height:72px;
}
@media(max-width:600px) {
    .aom-classic-motion .brand > a { padding-left:52px; min-height:44px; }
    .aom-classic-motion .brand > a::before { width:42px; height:42px; }
    .aom-classic-motion .brand > a > span { font-size:23px; }
    .aom-classic-motion .footer-brand > a { padding-left:72px; min-height:66px; font-size:27px; }
    .aom-classic-motion .footer-brand > a::before { width:60px; height:60px; }
}
@media(max-width:360px) {
    .aom-classic-motion .brand > a > span { font-size:21px; }
    .aom-classic-motion .brand small { font-size:7px; letter-spacing:.16em; }
}

/* Mobile contact bar (inc/seo.php): one tap to call or enquire on phones. */
.aom-cm-contactbar { display:none; }
@media (max-width:760px) {
    .aom-cm-contactbar {
        position:fixed; left:0; right:0; bottom:0; z-index:60;
        display:flex; gap:1px;
        background:var(--line,rgba(196,170,123,.23));
        border-top:1px solid var(--line,rgba(196,170,123,.23));
        padding-bottom:env(safe-area-inset-bottom);
    }
    .aom-cm-contactbar__link {
        flex:1 1 50%; min-height:54px;
        display:flex; align-items:center; justify-content:center;
        background:var(--black,#111210); color:var(--light,#ece8df);
        font-family:var(--sans); font-size:12px; font-weight:600; letter-spacing:.12em;
        text-transform:uppercase; text-decoration:none;
    }
    .aom-cm-contactbar__link--primary { background:var(--gold,#c4aa7b); color:var(--black,#111210); }
    .aom-cm-contactbar__link:focus-visible { outline:2px solid var(--light,#ece8df); outline-offset:-4px; }
    body.aom-classic-motion { padding-bottom:calc(55px + env(safe-area-inset-bottom)); }
}
@media print { .aom-cm-contactbar { display:none !important; } }
