:root {
    --bg:#fbf8ef;
    --surface:#fff;
    --surface2:#f4efe3;
    --ink:#443526;
    --muted:#766a5f;
    --orange:#d88436;
    --orange-dark:#bc6d27;
    --kraft:#d7b178;
    --green:#3d8b70;
    --border:#e5dccb;
    --dark:#3d3024;
    --light:#fffaf0;
    --radius:18px;
    --shadow:0 12px 34px rgba(68,53,38,.11);
    --lift:0 24px 58px rgba(68,53,38,.17);
    --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(--surface2)
}

.tone-kraft {
    background:#f2e4cf
}

.tone-dark {
    background:var(--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(251,248,239,.96);
    border-bottom:1px solid transparent;
    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:.86rem;
    font-weight:750;
    color:var(--muted)
}

.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
}

.hero:after {
    content:'';
    position:absolute;
    width:500px;
    height:500px;
    border-radius:50%;
    right:-190px;
    top:-180px;
    background:rgba(216,132,54,.11);
    filter:blur(50px);
    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
}

.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
}

.phone {
    width:min(100%,340px);
    margin:auto;
    background:var(--dark);
    padding:10px;
    border-radius:44px;
    box-shadow:var(--lift)
}

.phone-inner {
    border-radius:36px;
    overflow:hidden;
    background:var(--bg);
    position:relative
}

.app-screen {
    display:block;
    width:100%;
    height:auto
}

.phone-notch {
    position:absolute;
    z-index:2;
    top:8px;
    left:50%;
    transform:translateX(-50%);
    height:19px;
    width:98px;
    border-radius:20px;
    background:var(--dark)
}

.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
}

.phone .placeholder {
    aspect-ratio:9/19.5;
    border:0;
    border-radius:0
}

.floating-result {
    max-width:280px;
    padding:16px;
    margin:-20px 0 0 -120px;
    position:relative
}

.path {
    display:flex;
    flex-wrap:wrap;
    gap:4px 8px;
    font:800 .88rem var(--display)
}

.path span:not(:first-child):before {
    content:'→';
    color:var(--kraft);
    margin-right:8px
}

.path span:last-child {
    color:var(--orange)
}

.problem-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 12px;
    row-gap: 6px;
    padding: 0;
    list-style: none;
}
.problem-list li {
    height: 90px;
    padding: 0 18px;
    border: 1px solid var(--border);
    border-radius: 13px;
    background: var(--surface);
    font: 800 1.2rem var(--display);
    color: var(--muted);

    display: flex;
    align-items: center;
}

.problem-list .know {
    grid-column: 1 / -1;
    height: 66px;
    padding: 0 18px;
    border: 2px solid var(--orange);
    color: var(--orange);
    background: #fff4e9;

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

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

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

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

.hierarchy li {
    text-align:center
}

.hierarchy .step {
    background:var(--surface);
    padding:10px 13px;
    border:1px solid var(--border);
    border-radius:12px;
    font:800 .94rem var(--display);
    display:flex;
    justify-content:space-between;
    gap:10px
}

.hierarchy .step.last {
    color:var(--orange)
}

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

.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(--surface2);
    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(--surface2);
    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(--surface2);
    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(--surface2);
    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(--surface2);
    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(--surface2);
    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(--surface2);
    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: 350px 1fr;
    gap: 64px;
    align-items: stretch;
}

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

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

.hierarchy-tagline {
    grid-column: 1 / -1;
    text-align: center;
    margin-top: 24px;
    font-size: 1.05rem;
    color: var(--muted);
}

.hierarchy-tagline strong {
    font-family: var(--display);
    font-size: 1.3rem;
    color: var(--ink);
}

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

.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
    }

    .floating-result {
        margin:-24px auto 0
    }

    .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
    }

}
