:root {
    /* BoxOwl App Palette */
    --sage-base:#e2e9e8;
    --sage-warm:#d4d8d6;
    --sage-depth:#c8cfc9;
    --sage-accent:#8fa39e;
    --sage-dark:#6b7d7a;

    /* Core surfaces */
    --bg:var(--sage-base);
    --surface:#eef2f0;
    --surface2:var(--sage-warm);

    /* BoxOwl brand colors */
    --ink:#443526;
    --muted:#6f6a64;
    --orange:#d88436;
    --orange-dark:#bc6d27;
    --kraft:var(--sage-accent);
    --green:var(--sage-dark);
    --border:var(--sage-depth);
    --dark:#3d3024;
    --light:#f6f8f7;

    /* Layout */
    --radius:18px;
    --shadow:0 12px 34px rgba(68,53,38,.10);
    --lift:0 24px 58px rgba(68,53,38,.15);
    --max:1120px;
    --display:'Baloo 2',system-ui,sans-serif;
    --sans:'Manrope',system-ui,sans-serif;
}

* {
    box-sizing:border-box
}

html {
    scroll-behavior:smooth
}

body {
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:var(--sans);
    -webkit-font-smoothing:antialiased
}

img {
    max-width:100%;
    display:block
}

a {
    color:inherit;
    text-decoration:none
}

button {
    font:inherit
}

.wrap {
    width:min(calc(100% - 40px),var(--max));
    margin:auto
}

.section {
    padding:92px 0;
    border-top:1px solid rgba(229,220,203,.72)
}

.tone-muted {
    background:var(--sage-warm)
}

.tone-kraft {
    background:var(--sage-depth)
}

.tone-dark {
    background:var(--sage-dark);
    color:var(--light)
}

.eyebrow {
    margin:0 0 14px;
    font-size:.74rem;
    letter-spacing:.17em;
    text-transform:uppercase;
    font-weight:800;
    color:var(--muted)
}

.tone-dark .eyebrow {
    color:rgba(255,250,240,.58)
}

h1,h2,h3,h4,.display {
    font-family:var(--display);
    letter-spacing:-.02em
}

.display-xl {
    font:800 clamp(3rem,7vw,5.4rem)/.93 var(--display);
    margin:0
}

.display-lg {
    font:800 clamp(2.1rem,4.6vw,3.7rem)/1 var(--display);
    margin:0
}

.display-md {
    font:800 clamp(1.6rem,3vw,2.3rem)/1.06 var(--display);
    margin:0
}

.lead {
    font-size:1.12rem;
    line-height:1.7;
    color:var(--muted)
}

.tone-dark .lead,.tone-dark .muted {
    color:rgba(255,250,240,.72)
}

.muted {
    color:var(--muted)
}

.primary {
    color:var(--orange)
}

.section-head {
    max-width:760px;
    margin-bottom:48px
}

.section-head.center {
    text-align:center;
    margin-left:auto;
    margin-right:auto
}

.section-head .lead {
    margin:18px 0 0
}

.btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    padding:14px 25px;
    font-family:var(--display);
    font-weight:800;
    letter-spacing:.025em;
    border:0;
    transition:.2s ease;
    cursor:pointer
}

.btn:hover {
    transform:translateY(-2px)
}

.btn-primary {
    background:var(--orange);
    color:#fff;
    box-shadow:var(--shadow)
}

.btn-outline {
    border:2px solid rgba(68,53,38,.2);
    background:rgba(255,255,255,.55)
}

.btn-light {
    background:var(--light);
    color:var(--dark)
}

.buttons {
    display:flex;
    gap:12px;
    flex-wrap:wrap
}

.card {
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius);
    box-shadow:var(--shadow)
}

.soft-card {
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius)
}

.grid-2 {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:48px
}

.grid-3 {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px
}

.grid-4 {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px
}

.header {
    position:sticky;
    top:0;
    z-index:100;
    background:rgba(200,207,201,.82);
    border-bottom:1px solid rgba(68,53,38,.08);
    backdrop-filter:blur(13px);
    -webkit-backdrop-filter:blur(13px);
    transition:.25s;
}

.header.scrolled {
    border-color:var(--border);
    box-shadow:0 5px 22px rgba(68,53,38,.06)
}

.nav-wrap {
    height:88px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px
}

.logo img {
    width:152px;
    height:auto;
    max-height:76px;
    object-fit:contain
}

.logo-fallback {
    font:800 1.65rem var(--display);
    display:none
}

.nav {
    display:flex;
    align-items:center;
    gap:4px
}

.nav a {
    padding: 10px 9px;
    border-radius: 999px;
    font-size: .96rem;
    font-weight: 950;
    color: var(--ink);
}

.nav a:hover,.nav a.active {
    color:var(--orange)
}

.nav .divider {
    width:1px;
    height:22px;
    background:var(--border);
    margin:0 7px
}

.nav .btn {
    color:#fff;
    padding:10px 17px
}

.mobile-toggle {
    display:none;
    width:44px;
    height:44px;
    border-radius:50%;
    border:1px solid var(--border);
    background:var(--surface);
    font-size:1.35rem
}

.mobile-panel {
    display:none;
    position:fixed;
    inset:88px 0 0;
    background:var(--bg);
    z-index:95;
    padding:14px 20px 30px;
    overflow:auto
}

.mobile-panel.open {
    display:block
}

.mobile-panel a {
    display:block;
    padding:15px 0;
    border-bottom:1px solid var(--border);
    font:800 1.25rem var(--display)
}

.mobile-panel .btn {
    margin-top:18px;
    text-align:center;
    border:0
}

.hero {
    position:relative;
    overflow:hidden;
    padding:46px 0 64px;
    min-height:calc(100vh - 88px);
    display:flex;
    align-items:center;
    background:linear-gradient(
        135deg,
        #f3f5f4 0%,
        var(--sage-base) 48%,
        var(--sage-warm) 100%
    );
}
.hero:after {
    content:'';
    position:absolute;
    width:500px;
    height:500px;
    border-radius:50%;
    right:-190px;
    top:-180px;
    background:rgba(216,132,54,.07);
    filter:blur(60px);
    z-index:-1
}

.hero-grid {
    display:grid;
    grid-template-columns:1.08fr .72fr;
    gap:64px;
    align-items:center
}

.hero-copy .lead {
    max-width:620px;
    font-size:1.2rem
}

.hero-phone {
    width: min(100%, 385px);
    margin: auto;
}

.hero-phone img {
    display: block;
    width: 100%;
    height: auto;
}

.benefits {
    display:flex;
    flex-wrap:wrap;
    gap:14px 25px;
    margin:34px 0 0;
    padding:0;
    list-style:none;
    font-size:.88rem;
    font-weight:750;
    color:var(--muted)
}

.benefits li:before {
    content:'●';
    color:var(--orange);
    margin-right:8px
}

.placeholder {
    min-height:250px;
    background:linear-gradient(rgba(215,177,120,.22),rgba(215,177,120,.22)),var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius);
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:28px;
    position:relative
}

.placeholder:before {
    content:'';
    position:absolute;
    inset:13px;
    border:2px dashed rgba(68,53,38,.18);
    border-radius:13px
}

.placeholder-content {
    position:relative;
    max-width:360px
}

.placeholder strong {
    display:block;
    font:800 1.15rem var(--display);
    margin:7px 0
}

.placeholder small {
    color:var(--muted);
    line-height:1.5
}

.problem-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 12px;
    row-gap: 8px;
    padding: 0;
    list-style: none;
}

.problem-list li {
    height:90px;
    padding:0 20px;
    border:1.5px solid var(--orange);
    border-radius:14px;
    background:var(--sage-base);
    font:800 1.2rem var(--display);
    color:var(--ink);
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 5px 16px rgba(68,53,38,.035);
}

.problem-list .know {
    grid-column:1 / -1;
    height:68px;
    padding:0 18px;
    border:1.5px solid var(--orange);
    border-radius:14px;
    color:var(--orange);
    background:var(--sage-base);
    display:flex;
    align-items:center;
    justify-content:center;
}

.problem-section h3 {
    color: var(--ink);
}

.problem-section .grid-2 {
    align-items: center;
}

.problem-image {
    display: flex;
    align-items: center;
    justify-content: center;
}

.problem-image img {
    width: 100%;
    max-width: 600px;
    height: auto;
    display: block;
    border-radius: 24px;
}

.hierarchy-layout {
    display:grid;
    grid-template-columns:350px 1fr;
    gap:64px
}

.hierarchy {
    padding:20px;
    background:var(--sage-warm)
}

.hierarchy ol {
    list-style:none;
    margin:0;
    padding:0
}

.hierarchy li {
    text-align:center
}

.hierarchy .step {
    background:var(--surface);
    min-height:75px;
    padding:0 20px;
    border:1px solid var(--sage-depth);
    border-radius:12px;
    font:800 1.2rem var(--display);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
}
.hierarchy .step.last {
    color:var(--orange)
}

.hierarchy .arrow {
    color:var(--kraft);
    font-size:1.1rem;
    line-height:1.25
}

/* ========================================
   YOUR PHYSICAL WORLD
======================================== */

.hierarchy-section {
    padding: 70px 0;
}


/* Center heading */

.hierarchy-section .section-head {
    max-width: 760px;
    margin: 0 auto 48px;
    text-align: center;
}

.hierarchy-section .section-head .lead {
    margin-top: 16px;
}


/* Image grid */

.physical-world-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 18px;
    align-items: stretch;
}


/* Individual image */

.physical-card {
    position: relative;
    overflow: hidden;

    border-radius: 18px;

    aspect-ratio: 4 / 5;

    background: var(--sage-depth);

    box-shadow: 0 10px 28px rgba(68,53,38,.09);
}


/* Make every image exactly the same size */

.physical-card img {
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    display: block;

    transition: transform .35s ease;
}


/* Small hover effect */

.physical-card:hover img {
    transform: scale(1.025);
}


/* Black caption */

.physical-label {
    position: absolute;

    left: 50%;
    bottom: 24px;

    transform: translateX(-50%);

    background: var(--dark);
    color: #fff;

    padding: 9px 18px;

    font: 800 .95rem var(--display);

    white-space: nowrap;

    box-shadow: 0 5px 15px rgba(0,0,0,.15);
}


/* Bottom tagline */

.hierarchy-tagline {
    margin-top: 34px;
    text-align: center;
}

.hierarchy-tagline strong {
    display: block;

    font-size: 1.3rem;
    line-height: 1.2;

    color: var(--ink);
}

.hierarchy-tagline span {
    display: block;

    margin-top: 6px;

    font-size: 1rem;
    font-weight: 600;

    color: var(--muted);
}


/* Tablet */

@media (max-width: 980px) {

    .physical-world-grid {
        grid-template-columns: repeat(3, 1fr);
    }

}


/* Mobile */

@media (max-width: 720px) {

    .physical-world-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
    }

}


/* Small phones */

@media (max-width: 460px) {

.physical-world-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
    align-items: stretch;
}
	
.physical-card {
        max-width: 360px;
        width: 100%;
        margin: auto;
    }

}

.physical-world-wrap {
    width: min(calc(100% - 60px), 1320px);
    max-width: 1320px;
}


/* ========================================
   VOICE SEARCH
======================================== */

.voice-search-section {
    background: var(--sage-dark);
    color: #fff;
}

.voice-search-section .grid-2 {
    align-items: center;
    gap: 80px;
}


/* LEFT SIDE */

.voice-search-copy {
    max-width: 500px;
}

.voice-search-section .eyebrow {
    color: rgba(255,255,255,.58);
}

.voice-search-section .display-lg {
    color: #fff;
}

.voice-search-section .lead {
    margin-top: 20px;
    color: rgba(255,255,255,.78);
}


/* RIGHT SIDE */

.voice-search-demo {
    width: 100%;
    max-width: 560px;
    margin-left: auto;

    padding: 28px;

    background: rgba(255,255,255,.08);

    border: 1px solid rgba(255,255,255,.16);
    border-radius: 24px;

    box-shadow: 0 18px 45px rgba(0,0,0,.12);
}


/* QUESTION */

.voice-search-question {
    display: flex;
    align-items: center;
    gap: 18px;

    padding: 22px;

    background: rgba(255,255,255,.10);

    border: 1px solid rgba(255,255,255,.10);
    border-radius: 18px;
}

.voice-search-icon {
    width: 56px;
    height: 56px;

    flex: 0 0 56px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--orange);

    border-radius: 50%;

    font-size: 1.35rem;
}

.voice-search-label {
    display: block;

    margin-bottom: 4px;

    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .16em;

    color: rgba(255,255,255,.55);
}

.voice-search-question strong {
    display: block;

    font: 800 1.25rem var(--display);

    color: #fff;
}


/* ANSWER */

.voice-search-answer {
    margin-top: 16px;
    padding: 24px;

    background: var(--sage-base);

    border-radius: 18px;

    color: var(--ink);
}

.voice-search-found {
    display: block;

    margin-bottom: 6px;

    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .14em;

    color: var(--orange);
}

.voice-search-answer h3 {
    margin: 0 0 18px;

    font-size: 1.55rem;
}


/* LOCATION PATH */

.voice-search-path {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.voice-search-path span {
    padding: 8px 12px;

    background: var(--surface);

    border: 1px solid var(--sage-depth);
    border-radius: 999px;

    font-size: .82rem;
    font-weight: 800;

    color: var(--ink);
}

.voice-search-path span:last-child {
    background: var(--orange);
    border-color: var(--orange);

    color: #fff;
}


/* ========================================
   VOICE ASSISTANTS
======================================== */

.assistant-card {
    padding: 14px;
    overflow: hidden;
}

.assistant-image {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 16px;
    background: var(--sage-base);
}

.assistant-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.assistant-card h3 {
    margin: 18px 8px 6px;
}

.assistant-card > p {
    margin: 0 8px 10px;
}


/* Slight lift on desktop */

@media (hover:hover) {

    .assistant-card {
        transition: transform .25s ease,
                    box-shadow .25s ease;
    }

    .assistant-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 18px 40px rgba(68,53,38,.12);
    }

}


/* MOBILE */

@media(max-width:760px) {

    .assistants {
        grid-template-columns: 1fr;
    }

    .assistant-image {
        aspect-ratio: 16 / 10;
    }

}

/* TABLET */

@media(max-width:980px) {

    .voice-search-section .grid-2 {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .voice-search-copy {
        max-width: 650px;
        text-align: center;
        margin: auto;
    }

    .voice-search-demo {
        margin: auto;
    }

}

.mini-examples {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    align-content:start
}

.mini-examples .soft-card {
    padding:20px
}

.mini-examples h3 {
    margin:0 0 10px
}

.number-list {
    list-style:none;
    margin:0;
    padding:0
}

.number-list li {
    margin:8px 0;
    font-size:.9rem;
    font-weight:700
}

.number-list b {
    display:inline-flex;
    width:25px;
    height:25px;
    border-radius:50%;
    align-items:center;
    justify-content:center;
    background:#efe1cb;
    margin-right:8px;
    font-family:var(--display)
}

.search-demo {
    padding:26px
}

.searchbar {
    border:1px solid var(--border);
    border-radius:999px;
    padding:14px 18px;
    font:800 1.1rem var(--display)
}

.search-result {
    margin-top:18px;
    padding:17px;
    background:var(--sage-warm);
    border:1px solid var(--border);
    border-radius:13px
}

.voice-box {
    padding:20px;
    border-radius:17px
}

.voice-user {
    border:1px solid rgba(255,255,255,.15);
    background:rgba(255,255,255,.07);
    font:800 1.25rem var(--display)
}

.voice-found {
    background:var(--light);
    color:var(--dark);
    margin-top:14px
}

.found {
    color:var(--green);
    font:800 1.15rem var(--display)
}

.assistants .soft-card {
    padding:18px
}

.assistants h3 {
    margin:12px 0 2px
}

.assistant-query {
    margin-top:36px;
    padding:27px;
    background:var(--sage-warm);
    border:1px solid var(--border);
    border-radius:var(--radius);
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:28px
}

.assistant-query blockquote {
    font:800 1.45rem var(--display);
    margin:0
}

.voice-add {
    padding:24px
}

.voice-command {
    margin-top:18px;
    background:var(--dark);
    color:var(--light);
    padding:16px;
    border-radius:13px;
    font:800 1.1rem var(--display)
}

.ready-list {
    list-style:none;
    margin:0;
    padding:0
}

.ready-list li {
    padding:11px 13px;
    background:var(--sage-warm);
    border:1px solid var(--border);
    border-radius:11px;
    margin-top:8px;
    font-weight:700;
    display:flex;
    justify-content:space-between;
    gap:10px
}

.ready-list small {
    color:var(--muted)
}

.qr-layout {
    display:grid;
    grid-template-columns:220px 50px 1fr;
    gap:22px;
    align-items:center
}

.qr-arrow {
    text-align:center;
    color:var(--kraft);
    font-size:2rem
}

.contents {
    padding:24px
}

.contents ul {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    list-style:none;
    padding:0;
    margin:17px 0 0
}

.contents li {
    background:var(--sage-warm);
    border:1px solid var(--border);
    border-radius:10px;
    padding:10px;
    font-size:.9rem;
    font-weight:700
}

.photo-card {
    overflow:hidden
}

.photo-details {
    padding:24px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px
}

.photo-details .full {
    grid-column:1/-1
}

.photo-details dt {
    font-size:.7rem;
    text-transform:uppercase;
    letter-spacing:.13em;
    font-weight:800;
    color:var(--muted)
}

.photo-details dd {
    margin:5px 0 0;
    font-weight:700
}

.benefit-lines {
    list-style:none;
    margin:0;
    padding:0
}

.benefit-lines li {
    padding-left:18px;
    border-left:2px solid var(--orange);
    margin:0 0 24px
}

.benefit-lines h3 {
    margin:0;
    font-size:1.2rem
}

.benefit-lines p {
    margin:4px 0;
    color:var(--muted)
}

.use-card {
    height:100%;
    padding:21px;
    transition:.2s
}

.use-card:hover {
    transform:translateY(-4px);
    border-color:var(--orange);
    box-shadow:var(--shadow)
}

.use-icon {
    font-size:1.5rem
}

.use-card h3 {
    font-size:1rem;
    letter-spacing:.04em;
    margin:12px 0 6px
}

.use-card p {
    margin:0;
    color:var(--muted);
    font-size:.88rem
}

.moving-list {
    list-style:none;
    padding:0;
    margin:0
}

.moving-list li {
    padding:16px 18px;
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.07);
    border-radius:16px;
    margin-bottom:11px;
    display:flex;
    justify-content:space-between;
    gap:15px
}

.moving-list h3 {
    margin:0;
    font-size:1.1rem
}

.moving-list p {
    margin:3px 0 0;
    font-size:.86rem;
    color:rgba(255,250,240,.67)
}

.pill {
    border:1px solid rgba(255,255,255,.22);
    border-radius:999px;
    padding:6px 10px;
    font-size:.7rem;
    font-weight:800;
    align-self:center
}

.dl-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px
}

.dl-grid div {
    padding:20px;
    background:var(--sage-warm);
    border:1px solid var(--border);
    border-radius:16px
}

.dl-grid dt {
    font:800 1.15rem var(--display)
}

.dl-grid dd {
    margin:3px 0 0;
    color:var(--muted);
    font-size:.87rem
}

.chips {
    display:flex;
    flex-wrap:wrap;
    gap:11px;
    list-style:none;
    margin:0;
    padding:0
}

.chips li {
    background:var(--surface);
    border:1px solid var(--border);
    padding:10px 17px;
    border-radius:999px;
    font:800 .94rem var(--display)
}

.feature-big {
    padding:30px;
    grid-column:span 2
}

.features-grid {
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:18px
}

.features-small {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px
}

.feature-big .demo-path {
    margin-top:22px;
    padding:14px;
    background:var(--sage-warm);
    border:1px solid var(--border);
    border-radius:12px
}

.feature-list {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0 30px;
    list-style:none;
    padding:0;
    margin:28px 0 0
}

.feature-list li {
    border-top:1px solid var(--border);
    padding:17px 0
}

.feature-list strong {
    font-family:var(--display);
    display:block
}

.feature-list span {
    color:var(--muted);
    font-size:.84rem
}

.access-list {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    list-style:none;
    margin:0;
    padding:0
}

.access-list li {
    padding:19px;
    background:var(--sage-warm);
    border:1px solid var(--border);
    border-radius:15px
}

.access-list strong {
    display:block;
    font-family:var(--display)
}

.access-list span {
    font-size:.85rem;
    color:var(--muted)
}

.price-card {
    max-width:610px;
    margin:auto;
    padding:32px;
    border:2px solid var(--orange);
    border-radius:26px;
    background:var(--surface);
    box-shadow:var(--lift)
}

.badge {
    display:inline-block;
    border-radius:999px;
    padding:6px 10px;
    background:#fff0df;
    color:var(--orange);
    font-size:.7rem;
    text-transform:uppercase;
    letter-spacing:.13em;
    font-weight:800
}

.price {
    font:800 clamp(2.4rem,5vw,4rem)/1 var(--display);
    margin:10px 0
}

.checklist {
    list-style:none;
    padding:0;
    margin:20px 0
}

.checklist li {
    padding:5px 0
}

.checklist li:before {
    content:'✓';
    color:var(--green);
    font-weight:900;
    margin-right:10px
}

.final {
    text-align:center
}

.final .lead {
    max-width:590px;
    margin:18px auto 0
}

.final .buttons {
    justify-content:center;
    margin-top:30px
}

.hierarchy-layout {
    display: grid;
    grid-template-columns: 430px 1fr;
    gap: 64px;
    align-items: stretch;
}

.hierarchy-image {
    overflow: hidden;
    border-radius: 24px;
    height: 100%;
    min-height: 520px;
}

.hierarchy-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.hierarchy-tagline {
    margin-top: 12px;
    text-align: center;
}

.hierarchy-tagline strong {
    display: block;
    margin: 0;
    padding: 0;
    font-size: 1.15rem;
    line-height: 1.2;
}

.hierarchy-tagline span {
    display: block;
    margin: 4px 0 0 0;
    padding: 0;
    font-size: 1rem;
    line-height: 1.3;
    font-weight: 600;
}

.hierarchy-section {
    padding-top: 45px;
    padding-bottom: 45px;
}

.footer {
    padding:58px 0 26px;
    background:var(--sage-depth);
    border-top:1px solid var(--sage-accent)
}

.footer-grid {
    display:grid;
    grid-template-columns:1.1fr 2.9fr;
    gap:45px
}

.footer-logo img {
    width:190px;
    height:auto;
    max-height:none
}

.footer-groups {
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:24px
}

.footer h4 {
    font:800 .77rem var(--display);
    text-transform:uppercase;
    letter-spacing:.12em;
    margin:0 0 10px
}

.footer ul {
    list-style:none;
    padding:0;
    margin:0
}

.footer li {
    margin:7px 0
}

.footer a {
    font-size:.84rem;
    color:var(--muted)
}

.copyright {
    border-top:1px solid var(--border);
    margin-top:38px;
    padding-top:20px;
    color:var(--muted);
    font-size:.75rem
}

.page-hero {
    padding:85px 0;
    background:var(--bg)
}

.page-hero .lead {
    max-width:720px
}

.topic-list {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:15px;
    list-style:none;
    padding:0
}

.topic-list li {
    padding:20px;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:15px;
    font-weight:750
}

.mission {
    padding:34px;
    border:2px solid var(--orange);
    border-radius:25px;
    background:var(--surface)
}

.faq {
    max-width:760px;
    margin:auto
}

.faq div {
    padding:24px 0;
    border-top:1px solid var(--border)
}

.faq div:last-child {
    border-bottom:1px solid var(--border)
}

.faq dt {
    font:800 1.1rem var(--display)
}

.faq dd {
    margin:6px 0 0;
    color:var(--muted)
}

.asset-note {
    padding:18px 20px;
    background:#fff6e9;
    border:1px solid #ecd4b4;
    border-radius:14px;
    margin:22px 0;
    font-size:.9rem
}

.asset-note strong {
    font-family:var(--display)
}

.reveal {
    opacity:0;
    transform:translateY(18px);
    transition:opacity .65s ease,transform .65s ease
}

.reveal.visible {
    opacity:1;
    transform:none
}

@media(max-width:980px) {
    .nav {
        display:none
    }

    .mobile-toggle {
        display:block
    }

    .hero-grid {
        grid-template-columns:1fr;
        gap:48px
    }

    .hero-copy {
        text-align:center
    }

    .hero-copy .lead {
        margin-left:auto;
        margin-right:auto
    }

    .buttons,.benefits {
        justify-content:center
    }
.hierarchy-layout {
        grid-template-columns:1fr
    }

    .mini-examples {
        grid-template-columns:repeat(3,1fr)
    }

    .grid-4 {
        grid-template-columns:repeat(2,1fr)
    }

    .grid-3 {
        grid-template-columns:repeat(2,1fr)
    }

    .footer-grid {
        grid-template-columns:1fr
    }

    .footer-groups {
        grid-template-columns:repeat(3,1fr)
    }

    .feature-list {
        grid-template-columns:repeat(2,1fr)
    }

}

@media(max-width:720px) {
    .section {
        padding:70px 0
    }

    .wrap {
        width:min(calc(100% - 30px),var(--max))
    }

    .grid-2,.grid-3 {
        grid-template-columns:1fr;
        gap:28px
    }

    .display-xl {
        font-size:clamp(2.7rem,15vw,4.1rem)
    }

    .hero {
        padding:34px 0 58px;
        min-height:auto
    }

    .hero-grid {
        gap:38px
    }

    .buttons .btn {
        width:100%
    }

    .mini-examples {
        grid-template-columns:1fr
    }

    .qr-layout {
        grid-template-columns:1fr
    }

    .qr-arrow {
        transform:rotate(90deg)
    }

    .assistant-query {
        grid-template-columns:1fr
    }

    .contents ul,.photo-details,.dl-grid,.access-list {
        grid-template-columns:1fr
    }

    .photo-details .full {
        grid-column:auto
    }

    .grid-4 {
        grid-template-columns:1fr 1fr
    }

    .features-grid {
        grid-template-columns:1fr
    }

    .feature-big {
        grid-column:auto
    }

    .features-small {
        grid-template-columns:1fr 1fr
    }

    .feature-list {
        grid-template-columns:1fr
    }

    .footer-groups {
        grid-template-columns:repeat(2,1fr)
    }

    .topic-list {
        grid-template-columns:1fr 1fr
    }

    .moving-list li {
        align-items:flex-start
    }

    .pill {
        display:none
    }

}

@media(max-width:460px) {
    .grid-4,.features-small,.topic-list,.footer-groups {
        grid-template-columns:1fr
    }

    .problem-list {
        grid-template-columns:1fr
    }

    .benefits {
        display:grid
    }

    .logo img {
        width:128px;
        height:auto
    }

}

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

    .reveal {
        opacity:1;
        transform:none;
        transition:none
    }

    * {
        transition-duration:.001ms!important;
        animation-duration:.001ms!important
    }

}
