        :root {
            --paper: #fcfbf9;
            --white: #ffffff;
            --mist: #f0f2ef;
            --mist-deep: #e8ece8;
            --eucalyptus: #667a73;
            --eucalyptus-deep: #40544d;
            --ink: #303633;
            --muted: #68706d;
            --line: #d9dedb;
            --radius: 18px;
            --shadow: 0 22px 70px rgba(46, 59, 53, .08);
            --max: 1360px;
            --font: "Manrope", "Avenir Next", "Segoe UI", sans-serif;
        }
        * {
            box-sizing: border-box;
        }
        html {
            scroll-behavior: smooth;
            background: var(--paper);
        }
        body {
            margin: 0;
            background: var(--paper);
            color: var(--ink);
            font-family: var(--font);
            font-size: 16px;
            font-weight: 400;
            line-height: 1.72;
            -webkit-font-smoothing: antialiased;
            text-rendering: optimizeLegibility;
        }
        body.menu-open,
        body.lightbox-open {
            overflow: hidden;
        }
        img {
            display: block;
            max-width: 100%;
        }
        a {
            color: inherit;
        }
        button,
        a {
            -webkit-tap-highlight-color: transparent;
        }
        :focus-visible {
            outline: 3px solid var(--eucalyptus-deep);
            outline-offset: 4px;
        }
        .sr-only {
            width: 1px;
            height: 1px;
            padding: 0;
            position: absolute;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border: 0;
        }
        .skip-link {
            position: fixed;
            z-index: 1000;
            top: 12px;
            left: 12px;
            padding: 10px 16px;
            border-radius: 999px;
            background: var(--eucalyptus-deep);
            color: #fff;
            transform: translateY(-160%);
        }
        .skip-link:focus {
            transform: translateY(0);
        }
        .site-header {
            position: sticky;
            z-index: 100;
            top: 0;
            height: 76px;
            border-bottom: 1px solid rgba(217, 222, 219, .82);
            background: rgba(252, 251, 249, .92);
            backdrop-filter: blur(18px);
        }
        .header-inner {
            width: min(calc(100% - 48px), var(--max));
            height: 100%;
            margin: 0 auto;
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
            align-items: center;
            gap: clamp(22px, 3vw, 48px);
        }
        .brand {
            width: 170px;
            min-width: 170px;
            display: inline-flex;
            align-items: center;
            justify-self: center;
        }
        .brand img {
            width: 170px;
            height: 58px;
            object-fit: contain;
        }
        .header-nav {
            display: flex;
            align-items: center;
            gap: clamp(18px, 2.1vw, 32px);
        }
        .header-nav-left {
            justify-self: start;
        }
        .header-nav-right {
            justify-self: end;
        }
        .header-nav a,
        .mobile-nav a {
            min-height: 44px;
            display: inline-flex;
            align-items: center;
            color: var(--ink);
            font-size: 13px;
            font-weight: 500;
            text-decoration: none;
        }
        .header-nav a:not(.button-link),
        .mobile-nav a:not(.button-link) {
            position: relative;
        }
        .header-nav a:not(.button-link)::after,
        .mobile-nav a:not(.button-link)::after {
            content: "";
            position: absolute;
            right: 0;
            bottom: 7px;
            left: 0;
            height: 1px;
            background: var(--eucalyptus);
            transform: scaleX(0);
            transform-origin: right;
            transition: transform .28s ease;
        }
        .header-nav a:not(.button-link):hover::after,
        .mobile-nav a:not(.button-link):hover::after {
            transform: scaleX(1);
            transform-origin: left;
        }
        .mobile-nav {
            display: none;
        }
        .button-link,
        .button {
            min-height: 48px;
            padding: 0 22px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border: 1px solid var(--eucalyptus-deep);
            border-radius: 999px;
            background: var(--eucalyptus-deep);
            color: #fff !important;
            font-size: 13px;
            font-weight: 600;
            line-height: 1;
            text-decoration: none;
            transition: background .25s ease, color .25s ease, transform .25s ease;
        }
        .button-link {
            min-height: 44px;
            padding: 0 20px;
        }
        .button:hover,
        .button-link:hover {
            background: transparent;
            color: var(--eucalyptus-deep) !important;
            transform: translateY(-2px);
        }
        .button.secondary {
            border-color: var(--line);
            background: transparent;
            color: var(--ink) !important;
        }
        .button.secondary:hover {
            border-color: var(--eucalyptus);
            color: var(--eucalyptus-deep) !important;
        }
        .menu-button {
            width: 48px;
            height: 48px;
            padding: 0;
            display: none;
            align-items: center;
            justify-content: center;
            border: 0;
            background: transparent;
            color: var(--ink);
            cursor: pointer;
        }
        .menu-button span,
        .menu-button span::before,
        .menu-button span::after {
            width: 24px;
            height: 1px;
            display: block;
            position: relative;
            background: currentColor;
            transition: transform .25s ease, opacity .25s ease;
        }
        .menu-button span::before,
        .menu-button span::after {
            content: "";
            position: absolute;
            left: 0;
        }
        .menu-button span::before {
            top: -7px;
        }
        .menu-button span::after {
            top: 7px;
        }
        .menu-button[aria-expanded="true"] span {
            background: transparent;
        }
        .menu-button[aria-expanded="true"] span::before {
            top: 0;
            transform: rotate(45deg);
        }
        .menu-button[aria-expanded="true"] span::after {
            top: 0;
            transform: rotate(-45deg);
        }
        main {
            overflow: hidden;
        }
        .wrap {
            width: min(calc(100% - 48px), var(--max));
            margin: 0 auto;
        }
        .hero {
            min-height: calc(100vh - 76px);
            padding: clamp(42px, 6vw, 92px) 0;
            display: flex;
            align-items: center;
        }
        .hero-grid {
            display: grid;
            grid-template-columns: minmax(540px, 1.16fr) minmax(0, .84fr);
            gap: clamp(40px, 5vw, 72px);
            align-items: center;
        }
        .hero-copy {
            position: relative;
            z-index: 2;
        }
        .descriptor {
            margin: 0 0 25px;
            color: var(--eucalyptus-deep);
            font-size: 13px;
            font-weight: 600;
            letter-spacing: .08em;
            text-transform: uppercase;
        }
        h1,
        h2,
        h3,
        p {
            text-wrap: pretty;
        }
        h1 {
            margin: 0;
            color: var(--ink);
            font-size: clamp(46px, 4.2vw, 55px);
            font-weight: 300;
            letter-spacing: -.025em;
            line-height: 1.02;
        }
        h1 span {
            display: block;
        }
        .hero-lead {
            max-width: 600px;
            margin: 30px 0 0;
            color: var(--muted);
            font-size: clamp(17px, 1.35vw, 20px);
            line-height: 1.65;
        }
        .hero-actions {
            margin-top: 36px;
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
        }
        .hero-art {
            min-height: 650px;
            display: grid;
            grid-template-columns: minmax(0, 1.3fr) minmax(170px, .7fr);
            grid-template-rows: 1fr 1fr;
            gap: 14px;
            position: relative;
        }
        .hero-art::before {
            content: "";
            position: absolute;
            z-index: -1;
            width: 180px;
            height: 180px;
            top: -34px;
            right: -35px;
            border: 1px solid var(--line);
            border-radius: 50%;
        }
        .hero-art figure {
            margin: 0;
            overflow: hidden;
            border-radius: var(--radius);
            background: var(--mist);
        }
        .hero-art figure:first-child {
            grid-row: 1 / 3;
        }
        .hero-art img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        .hero-art figure:first-child img {
            object-position: 58% center;
        }
        .hero-art figure:nth-child(2) img {
            object-position: center 32%;
        }
        .price-glance {
            border-top: 1px solid var(--line);
            border-bottom: 1px solid var(--line);
            background: var(--white);
        }
        .price-glance-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
        }
        .price-glance a {
            min-height: 112px;
            padding: 24px clamp(24px, 3vw, 44px);
            display: flex;
            align-items: flex-start;
            justify-content: center;
            flex-direction: column;
            border-right: 1px solid var(--line);
            text-decoration: none;
            transition: background .25s ease, color .25s ease;
        }
        .price-glance a:last-child {
            border-right: 0;
        }
        .price-glance a:hover {
            background: var(--mist);
            color: var(--eucalyptus-deep);
        }
        .price-glance span,
        .price-glance strong {
            display: block;
        }
        .price-glance span {
            color: var(--muted);
            font-size: 12px;
            font-weight: 500;
            letter-spacing: .035em;
        }
        .price-glance strong {
            margin-top: 7px;
            color: var(--ink);
            font-size: clamp(22px, 2vw, 29px);
            font-weight: 400;
            letter-spacing: -.02em;
            line-height: 1.15;
        }
        .proof {
            border-top: 1px solid var(--line);
            border-bottom: 1px solid var(--line);
            background: rgba(255, 255, 255, .52);
        }
        .proof-grid {
            min-height: 144px;
            display: grid;
            grid-template-columns: repeat(4, 1fr);
        }
        .proof-item {
            padding: 30px clamp(20px, 3vw, 42px);
            display: flex;
            flex-direction: column;
            justify-content: center;
            border-left: 1px solid var(--line);
        }
        .proof-item:first-child {
            border-left: 0;
            padding-left: 0;
        }
        .proof-item:last-child {
            padding-right: 0;
        }
        .proof-item strong {
            color: var(--eucalyptus-deep);
            font-size: clamp(21px, 2vw, 29px);
            font-weight: 400;
            line-height: 1.18;
        }
        .proof-item span {
            margin-top: 8px;
            color: var(--muted);
            font-size: 16px;
            line-height: 1.5;
        }
        .portfolio {
            padding: clamp(92px, 11vw, 160px) 0;
        }
        .section-intro {
            margin-bottom: clamp(40px, 6vw, 78px);
            display: grid;
            grid-template-columns: minmax(0, 1.08fr) minmax(320px, .72fr);
            gap: clamp(46px, 8vw, 130px);
            align-items: end;
        }
        .section-intro h2,
        .older-copy h2,
        .story h2,
        .reviews h2,
        .faq h2,
        .final-cta h2 {
            margin: 0;
            font-size: clamp(38px, 4.4vw, 66px);
            font-weight: 300;
            letter-spacing: -.035em;
            line-height: 1.08;
        }
        .section-intro div:last-child {
            max-width: 58ch;
            padding-bottom: 5px;
        }
        .section-intro p,
        .older-copy > p,
        .story-copy > p,
        .faq-intro,
        .final-cta p {
            margin: 0;
            color: var(--muted);
        }
        .text-link {
            min-height: 44px;
            margin-top: 15px;
            display: inline-flex;
            align-items: center;
            border-bottom: 1px solid var(--eucalyptus);
            color: var(--eucalyptus-deep);
            font-size: 13px;
            font-weight: 600;
            text-decoration: none;
        }
        .portfolio-grid {
            display: grid;
            grid-template-columns: 1.12fr .78fr .86fr 1.04fr;
            grid-template-rows: 290px 250px;
            gap: 12px;
        }
        .portfolio-grid figure {
            margin: 0;
            overflow: hidden;
            border-radius: var(--radius);
            background: var(--mist);
        }
        .portrait-button {
            width: 100%;
            height: 100%;
            display: block;
            padding: 0;
            overflow: hidden;
            border: 0;
            background: transparent;
            cursor: zoom-in;
        }
        .portrait-button:focus-visible {
            outline: 3px solid var(--eucalyptus-deep);
            outline-offset: -4px;
        }
        .portfolio-grid figure:nth-child(1) {
            grid-row: 1 / 3;
        }
        .portfolio-grid figure:nth-child(4) {
            grid-column: 4;
            grid-row: 1 / 3;
        }
        .portfolio-grid img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform .8s cubic-bezier(.16, 1, .3, 1);
        }
        .portfolio-grid figure:hover img,
        .portrait-button:focus-visible img {
            transform: scale(1.025);
        }
        .portrait-lightbox {
            width: min(1120px, calc(100vw - 36px));
            max-width: none;
            height: min(900px, calc(100vh - 36px));
            max-height: none;
            padding: 0;
            overflow: hidden;
            border: 0;
            border-radius: 12px;
            background: #171a19;
            color: #fff;
        }
        .portrait-lightbox::backdrop {
            background: rgba(21, 25, 23, .88);
        }
        .lightbox-frame {
            width: 100%;
            height: 100%;
            position: relative;
            display: grid;
            grid-template-rows: minmax(0, 1fr) auto;
        }
        .lightbox-image-wrap {
            min-height: 0;
            display: grid;
            place-items: center;
            padding: 58px 70px 20px;
        }
        .lightbox-image {
            display: block;
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
        }
        .lightbox-caption {
            min-height: 54px;
            margin: 0;
            padding: 14px 74px 18px;
            color: rgba(255, 255, 255, .78);
            font-size: 13px;
            text-align: center;
        }
        .lightbox-close,
        .lightbox-nav {
            width: 48px;
            height: 48px;
            position: absolute;
            z-index: 2;
            display: grid;
            place-items: center;
            padding: 0;
            border: 0;
            border-radius: 50%;
            background: rgba(255, 255, 255, .12);
            color: #fff;
            cursor: pointer;
            font: 300 27px/1 Manrope, sans-serif;
            transition: background .2s ease, transform .2s cubic-bezier(.16, 1, .3, 1);
        }
        .lightbox-close:hover,
        .lightbox-nav:hover {
            background: rgba(255, 255, 255, .23);
        }
        .lightbox-close:focus-visible,
        .lightbox-nav:focus-visible {
            outline: 2px solid #fff;
            outline-offset: 2px;
        }
        .lightbox-close {
            top: 12px;
            right: 12px;
        }
        .lightbox-prev,
        .lightbox-next {
            top: 50%;
            transform: translateY(-50%);
        }
        .lightbox-prev:hover,
        .lightbox-next:hover {
            transform: translateY(-50%) scale(1.04);
        }
        .lightbox-prev {
            left: 12px;
        }
        .lightbox-next {
            right: 12px;
        }
        .manifesto {
            position: relative;
            min-height: 530px;
            display: flex;
            align-items: center;
            background:
                linear-gradient(rgba(244, 246, 243, .9), rgba(244, 246, 243, .9)),
                url("../images/sweetlife-taste-paper-texture-v1.jpg") center / cover;
        }
        .manifesto-inner {
            width: min(calc(100% - 48px), 1120px);
            margin: 0 auto;
            display: grid;
            grid-template-columns: 230px minmax(0, 1fr);
            gap: clamp(46px, 9vw, 140px);
            align-items: start;
        }
        .manifesto-mark {
            width: 150px;
            height: 150px;
            display: grid;
            place-items: center;
            border: 1px solid rgba(102, 122, 115, .42);
            border-radius: 50%;
            color: var(--eucalyptus-deep);
            font-size: 13px;
            letter-spacing: .1em;
            text-align: center;
            text-transform: uppercase;
        }
        .manifesto h2 {
            max-width: 860px;
            margin: 0;
            font-size: clamp(34px, 4.5vw, 64px);
            font-weight: 300;
            letter-spacing: -.035em;
            line-height: 1.14;
        }
        .manifesto p {
            max-width: 650px;
            margin: 30px 0 0;
            color: var(--muted);
        }
        .older {
            display: grid;
            grid-template-columns: minmax(0, .88fr) minmax(520px, 1.12fr);
            min-height: 720px;
            background: var(--white);
        }
        .older-copy {
            padding: clamp(76px, 9vw, 142px) clamp(32px, 7vw, 108px);
            display: flex;
            flex-direction: column;
            justify-content: center;
        }
        .section-label {
            margin: 0 0 22px;
            color: var(--eucalyptus-deep);
            font-size: 13px;
            font-weight: 600;
            letter-spacing: .08em;
            text-transform: uppercase;
        }
        .older-copy > p {
            max-width: 590px;
            margin-top: 27px;
        }
        .older-links {
            margin-top: 30px;
            display: flex;
            flex-wrap: wrap;
            gap: 22px;
            align-items: center;
        }
        .older-media {
            min-height: 720px;
            overflow: hidden;
        }
        .older-media img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
        }
        .sessions {
            padding: clamp(92px, 11vw, 160px) 0;
        }
        .sessions-title {
            max-width: 780px;
            margin: 0 0 58px;
            font-size: clamp(38px, 4.4vw, 66px);
            font-weight: 300;
            letter-spacing: -.035em;
            line-height: 1.08;
        }
        .session-grid {
            display: grid;
            grid-template-columns: 1.6fr .9fr;
            grid-template-rows: 330px 330px;
            gap: 14px;
        }
        .session {
            min-width: 0;
            position: relative;
            display: grid;
            grid-template-columns: 1.05fr .95fr;
            overflow: hidden;
            border: 1px solid #8b9994;
            border-radius: var(--radius);
            background: var(--white);
            color: var(--ink);
            text-decoration: none;
            transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
        }
        .session:first-child {
            grid-row: 1 / 3;
            grid-template-columns: 1fr;
            grid-template-rows: 1.22fr .78fr;
        }
        .session:hover {
            border-color: rgba(102, 122, 115, .7);
            box-shadow: var(--shadow);
            transform: translateY(-4px);
        }
        .session-media {
            min-height: 0;
            overflow: hidden;
        }
        .session img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform .8s cubic-bezier(.16, 1, .3, 1);
        }
        .session:hover img {
            transform: scale(1.025);
        }
        .session-copy {
            padding: clamp(24px, 3.2vw, 44px);
            display: flex;
            flex-direction: column;
            justify-content: center;
        }
        .session-copy h3 {
            margin: 0;
            font-size: clamp(25px, 2.3vw, 35px);
            font-weight: 400;
            letter-spacing: -.025em;
            line-height: 1.18;
        }
        .session-copy p {
            margin: 13px 0 0;
            color: var(--muted);
            font-size: 16px;
            line-height: 1.62;
        }
        .session-copy span {
            margin-top: 19px;
            color: var(--eucalyptus-deep);
            font-size: 13px;
            font-weight: 600;
        }
        .story {
            padding: clamp(90px, 11vw, 158px) 0;
            background: var(--mist);
        }
        .story-grid {
            display: grid;
            grid-template-columns: minmax(280px, .68fr) minmax(0, 1.32fr);
            gap: clamp(60px, 11vw, 180px);
            align-items: start;
        }
        .story-stat {
            position: sticky;
            top: 126px;
        }
        .story-stat strong {
            display: block;
            color: var(--eucalyptus-deep);
            font-size: clamp(64px, 9vw, 132px);
            font-weight: 300;
            letter-spacing: -.035em;
            line-height: .9;
        }
        .story-stat span {
            margin-top: 22px;
            display: block;
            color: var(--muted);
            font-size: 13px;
        }
        .story-copy h2 {
            max-width: 820px;
        }
        .story-copy > p {
            max-width: 720px;
            margin-top: 28px;
        }
        .story-copy .story-lead {
            color: var(--ink);
            font-size: clamp(21px, 2vw, 29px);
            font-weight: 300;
            line-height: 1.45;
        }
        .story-copy .story-care {
            color: var(--eucalyptus-deep);
            font-weight: 600;
        }
        .story-copy .text-link {
            margin-top: 25px;
        }
        .reviews {
            padding: clamp(90px, 11vw, 158px) 0;
        }
        .reviews h2 {
            max-width: 720px;
            margin-bottom: 58px;
        }
        .review-grid {
            display: grid;
            grid-template-columns: minmax(0, 1.3fr) minmax(320px, .7fr);
            gap: 14px;
        }
        .review-feature,
        .review-small {
            margin: 0;
            border-radius: var(--radius);
            background: var(--white);
        }
        .review-feature {
            min-height: 460px;
            padding: clamp(40px, 6vw, 82px);
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            border: 1px solid var(--line);
        }
        .review-feature p {
            max-width: 850px;
            margin: 0;
            font-size: clamp(30px, 3.5vw, 50px);
            font-weight: 300;
            letter-spacing: -.03em;
            line-height: 1.25;
        }
        .review-side {
            display: grid;
            gap: 14px;
        }
        .review-small {
            padding: 34px;
            background: var(--mist);
        }
        .review-small p {
            margin: 0 0 24px;
            font-size: 18px;
            line-height: 1.55;
        }
        .review-grid cite {
            color: var(--muted);
            font-size: 13px;
            font-style: normal;
        }
        .review-grid cite a {
            min-height: 44px;
            display: inline-flex;
            align-items: center;
            text-decoration: none;
        }
        .studio-visit {
            padding: clamp(82px, 9vw, 132px) 0;
            background: var(--sand);
        }
        .studio-visit-grid {
            display: grid;
            grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
            gap: clamp(54px, 10vw, 150px);
            align-items: start;
        }
        .studio-visit-copy h2 {
            max-width: 520px;
        }
        .studio-visit-copy .text-link {
            margin-top: 28px;
        }
        .studio-visit-steps {
            margin: 0;
            padding: 0;
            list-style: none;
            border-top: 1px solid rgba(64, 84, 77, .22);
        }
        .studio-visit-steps li {
            min-height: 108px;
            padding: 25px 0;
            display: grid;
            grid-template-columns: 52px minmax(0, 1fr);
            gap: 22px;
            align-items: center;
            border-bottom: 1px solid rgba(64, 84, 77, .22);
        }
        .studio-visit-steps span {
            color: var(--eucalyptus-deep);
            font-size: 13px;
            font-weight: 600;
        }
        .studio-visit-steps p {
            max-width: 680px;
            margin: 0;
            color: var(--ink);
            font-size: clamp(18px, 1.7vw, 23px);
            font-weight: 300;
            line-height: 1.5;
        }
        .faq {
            padding: clamp(90px, 11vw, 158px) 0;
            border-top: 1px solid var(--line);
        }
        .faq-grid {
            display: grid;
            grid-template-columns: minmax(300px, .76fr) minmax(0, 1.24fr);
            gap: clamp(54px, 10vw, 150px);
            align-items: start;
        }
        .faq h2 {
            max-width: 500px;
        }
        .faq-intro {
            max-width: 440px;
            margin-top: 24px;
        }
        .faq-list {
            border-top: 1px solid var(--line);
        }
        details {
            border-bottom: 1px solid var(--line);
        }
        summary {
            min-height: 74px;
            padding: 21px 48px 21px 0;
            display: flex;
            align-items: center;
            position: relative;
            color: var(--ink);
            font-size: 16px;
            font-weight: 500;
            line-height: 1.45;
            cursor: pointer;
            list-style: none;
        }
        summary::-webkit-details-marker {
            display: none;
        }
        summary::after {
            content: "+";
            position: absolute;
            right: 2px;
            top: 50%;
            color: var(--eucalyptus-deep);
            font-size: 24px;
            font-weight: 300;
            transform: translateY(-50%);
        }
        details[open] summary::after {
            content: "−";
        }
        details p {
            max-width: 68ch;
            margin: -4px 48px 24px 0;
            color: var(--muted);
        }
        .final-cta {
            padding: clamp(70px, 8vw, 112px) 0;
            background: var(--mist-deep);
        }
        .final-cta-inner {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: 50px;
            align-items: center;
        }
        .final-cta h2 {
            max-width: 820px;
        }
        .final-cta p {
            max-width: 650px;
            margin-top: 22px;
        }
        .direct-contact {
            margin-top: 18px;
            display: flex;
            flex-wrap: wrap;
            gap: 4px 20px;
        }
        .direct-contact a {
            min-height: 44px;
            display: inline-flex;
            align-items: center;
            border-bottom: 1px solid rgba(64, 84, 77, .32);
            color: var(--eucalyptus-deep);
            font-size: 13px;
            font-weight: 600;
            text-decoration: none;
        }
        .direct-contact a:hover {
            border-bottom-color: var(--eucalyptus-deep);
        }
        .direct-contact a:focus-visible {
            outline: 2px solid var(--eucalyptus-deep);
            outline-offset: 3px;
        }
        .site-footer {
            padding: 52px 0 28px;
            background: var(--paper);
        }
        .footer-main {
            display: grid;
            grid-template-columns: 1fr auto;
            gap: 50px;
            align-items: end;
        }
        .footer-logo {
            width: 190px;
            height: auto;
        }
        .footer-copy {
            max-width: 620px;
            margin: 20px 0 0;
            color: var(--muted);
            font-size: 13px;
        }
        .footer-links {
            display: flex;
            flex-wrap: wrap;
            justify-content: flex-end;
            gap: 12px 26px;
        }
        .footer-links a {
            min-height: 44px;
            display: inline-flex;
            align-items: center;
            color: var(--muted);
            font-size: 13px;
            text-decoration: none;
        }
        .footer-actions {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 14px;
        }
        .footer-social {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 4px;
        }
        .footer-social a {
            min-width: 44px;
            min-height: 44px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: var(--ink);
            text-decoration: none;
            transition: color .2s ease, transform .2s cubic-bezier(.16, 1, .3, 1);
        }
        .footer-social a:hover {
            color: var(--pine);
            transform: translateY(-2px);
        }
        .footer-social a:focus-visible {
            outline: 2px solid var(--pine);
            outline-offset: 2px;
        }
        .footer-social .footer-blog {
            width: auto;
            padding: 0 8px;
            font-size: 13px;
            font-weight: 600;
        }
        .footer-social svg {
            display: block;
            width: 20px;
            height: 20px;
        }
        .footer-bottom {
            margin-top: 38px;
            padding-top: 22px;
            display: flex;
            justify-content: space-between;
            gap: 24px;
            border-top: 1px solid var(--line);
            color: var(--muted);
            font-size: 13px;
        }
        .to-top {
            width: 48px;
            height: 48px;
            position: fixed;
            right: 22px;
            bottom: 22px;
            z-index: 25;
            display: grid;
            place-items: center;
            padding: 0;
            border: 1px solid rgba(64, 84, 77, .24);
            border-radius: 50%;
            background: rgba(252, 251, 249, .96);
            color: var(--eucalyptus-deep);
            box-shadow: 0 4px 8px rgba(48, 54, 51, .08);
            cursor: pointer;
            opacity: 0;
            pointer-events: none;
            transform: translateY(10px);
            transition: opacity .24s ease, transform .24s cubic-bezier(.16, 1, .3, 1);
        }
        .to-top.is-visible {
            opacity: 1;
            pointer-events: auto;
            transform: translateY(0);
        }
        .to-top:hover {
            transform: translateY(-2px);
        }
        .to-top:focus-visible {
            outline: 2px solid var(--eucalyptus-deep);
            outline-offset: 3px;
        }
        .to-top svg {
            width: 19px;
            height: 19px;
        }
        .mobile-contact-bar {
            display: none;
        }
        .js .reveal {
            opacity: 1;
            transform: translateY(14px);
            transition: transform .7s cubic-bezier(.16, 1, .3, 1);
        }
        .js .reveal.is-visible {
            transform: translateY(0);
        }
        @media (min-width: 1181px) {
            h1 span {
                white-space: nowrap;
            }
        }
        @media (max-width: 1180px) {
            .hero-grid {
                grid-template-columns: 1fr;
                gap: 46px;
            }
            .hero-copy {
                max-width: 820px;
            }
            .hero-art {
                min-height: 630px;
            }
            .portfolio-grid {
                grid-template-columns: 1.15fr .85fr 1fr;
                grid-template-rows: 300px 240px 240px;
            }
            .portfolio-grid figure:nth-child(1) {
                grid-row: 1 / 3;
            }
            .portfolio-grid figure:nth-child(4) {
                grid-column: 1 / 4;
                grid-row: 3;
            }
            .older {
                grid-template-columns: minmax(0, .92fr) minmax(480px, 1.08fr);
            }
            .session-grid {
                grid-template-columns: 1.28fr 1fr;
            }
            .session:not(:first-child) {
                grid-template-columns: .82fr 1.18fr;
            }
        }
        @media (max-width: 960px) {
            body {
                padding-bottom: calc(66px + env(safe-area-inset-bottom));
            }
            .site-header {
                height: 70px;
                -webkit-backdrop-filter: none;
                backdrop-filter: none;
            }
            .header-inner {
                width: min(calc(100% - 36px), var(--max));
                display: flex;
                justify-content: space-between;
                gap: 18px;
            }
            .brand,
            .brand img {
                width: 150px;
                min-width: 150px;
            }
            .menu-button {
                display: inline-flex;
            }
            .header-nav {
                display: none;
            }
            .mobile-contact-bar {
                min-height: calc(66px + env(safe-area-inset-bottom));
                padding: 8px 12px calc(8px + env(safe-area-inset-bottom));
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 8px;
                position: fixed;
                right: 0;
                bottom: 0;
                left: 0;
                z-index: 90;
                border-top: 1px solid rgba(217, 222, 219, .9);
                background: rgba(252, 251, 249, .96);
                box-shadow: 0 -4px 8px rgba(46, 59, 53, .06);
            }
            .mobile-contact-bar a {
                min-height: 50px;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                gap: 9px;
                border: 1px solid var(--eucalyptus-deep);
                border-radius: 999px;
                color: var(--eucalyptus-deep);
                font-size: 14px;
                font-weight: 600;
                line-height: 1;
                text-decoration: none;
            }
            .mobile-contact-bar a:last-child {
                background: var(--eucalyptus-deep);
                color: #fff;
            }
            .mobile-contact-bar svg {
                width: 18px;
                height: 18px;
                flex: 0 0 auto;
            }
            .mobile-nav {
                position: fixed;
                inset: 70px 0 auto;
                max-height: calc(100vh - 70px);
                padding: 24px;
                display: none;
                flex-direction: column;
                align-items: stretch;
                gap: 4px;
                overflow-y: auto;
                border-bottom: 1px solid var(--line);
                background: var(--paper);
                box-shadow: 0 18px 50px rgba(46, 59, 53, .1);
            }
            .mobile-nav.is-open {
                display: flex;
            }
            .mobile-nav a {
                min-height: 52px;
                justify-content: center;
                font-size: 15px;
            }
            .hero {
                min-height: 0;
                padding: 58px 0 72px;
            }
            .hero-grid {
                grid-template-columns: 1fr;
                gap: 46px;
            }
            .hero-copy {
                max-width: 720px;
            }
            .hero-art {
                min-height: 630px;
            }
            .price-glance a {
                min-height: 104px;
                padding-inline: 24px;
            }
            .proof-grid {
                grid-template-columns: 1fr 1fr;
            }
            .proof-item {
                min-height: 125px;
                border-top: 1px solid var(--line);
            }
            .proof-item:nth-child(1),
            .proof-item:nth-child(2) {
                border-top: 0;
            }
            .proof-item:nth-child(odd) {
                border-left: 0;
                padding-left: 0;
            }
            .proof-item:nth-child(even) {
                padding-right: 0;
            }
            .section-intro,
            .faq-grid {
                grid-template-columns: 1fr;
                gap: 28px;
            }
            .portfolio-grid {
                grid-template-columns: 1fr 1fr;
                grid-template-rows: 350px 220px 220px 220px;
            }
            .portfolio-grid figure:nth-child(1) {
                grid-column: 1 / 3;
                grid-row: 1;
            }
            .portfolio-grid figure:nth-child(4) {
                grid-column: 1 / 3;
                grid-row: 3;
            }
            .manifesto-inner {
                grid-template-columns: 1fr;
                gap: 40px;
            }
            .manifesto-mark {
                width: 110px;
                height: 110px;
            }
            .older {
                grid-template-columns: 1fr;
            }
            .older-media {
                min-height: 0;
                height: 600px;
                order: 1;
            }
            .older-copy {
                order: 2;
            }
            .session-grid {
                grid-template-columns: 1fr;
                grid-template-rows: none;
            }
            .session,
            .session:first-child {
                grid-row: auto;
                grid-template-columns: 1fr 1fr;
                grid-template-rows: none;
                min-height: 320px;
            }
            .story-grid {
                grid-template-columns: 1fr;
                gap: 52px;
            }
            .story-stat {
                position: static;
            }
            .review-grid {
                grid-template-columns: 1fr;
            }
            .studio-visit-grid {
                grid-template-columns: 1fr;
                gap: 44px;
            }
            .final-cta-inner,
            .footer-main {
                grid-template-columns: 1fr;
                align-items: start;
            }
            .footer-links {
                justify-content: flex-start;
            }
            .footer-actions {
                align-items: flex-start;
            }
            .footer-social {
                justify-content: flex-start;
            }
        }
        @media (max-width: 600px) {
            .wrap,
            .manifesto-inner {
                width: min(calc(100% - 36px), var(--max));
            }
            h1 {
                font-size: 46px;
                letter-spacing: -.04em;
            }
            .hero-lead {
                font-size: 17px;
            }
            .hero-actions {
                align-items: stretch;
                flex-direction: column;
            }
            .hero-actions .button {
                width: 100%;
            }
            .hero-art {
                min-height: 0;
                grid-template-columns: 1.2fr .8fr;
                grid-template-rows: 190px 190px;
            }
            .hero-art figure:first-child {
                grid-row: 1 / 3;
            }
            .hero-art::before {
                width: 120px;
                height: 120px;
                top: -22px;
                right: -22px;
            }
            .price-glance-grid {
                grid-template-columns: 1fr;
            }
            .price-glance a {
                min-height: 82px;
                padding: 17px 0;
                border-right: 0;
                border-bottom: 1px solid var(--line);
            }
            .price-glance a:last-child {
                border-bottom: 0;
            }
            .price-glance span,
            .price-glance strong {
                width: 100%;
            }
            .price-glance strong {
                margin-top: 4px;
                font-size: 24px;
            }
            .proof-grid {
                grid-template-columns: 1fr;
            }
            .proof-item,
            .proof-item:nth-child(2) {
                min-height: 105px;
                padding: 23px 0;
                border-top: 1px solid var(--line);
                border-left: 0;
            }
            .proof-item:first-child {
                border-top: 0;
            }
            .section-intro h2,
            .older-copy h2,
            .story h2,
            .reviews h2,
            .studio-visit h2,
            .faq h2,
            .final-cta h2,
            .sessions-title {
                font-size: 38px;
            }
            .portfolio-grid {
                grid-template-rows: 290px 185px 185px 185px;
                gap: 7px;
            }
            .manifesto {
                min-height: 0;
                padding: 78px 0;
            }
            .manifesto h2 {
                font-size: 34px;
            }
            .older-media {
                height: 440px;
            }
            .older-copy {
                padding: 74px 18px;
            }
            .older-links {
                align-items: stretch;
                flex-direction: column;
            }
            .older-links .button {
                width: 100%;
            }
            .session,
            .session:first-child,
            .session:not(:first-child) {
                grid-template-columns: 1fr;
                grid-template-rows: 260px auto;
            }
            .session-copy {
                padding: 28px;
            }
            .review-feature {
                min-height: 390px;
                padding: 34px 28px;
            }
            .review-feature p {
                font-size: 29px;
            }
            .review-small {
                padding: 28px;
            }
            .studio-visit-steps li {
                min-height: 94px;
                grid-template-columns: 36px minmax(0, 1fr);
                gap: 14px;
            }
            .studio-visit-steps p {
                font-size: 18px;
            }
            .final-cta .button {
                width: 100%;
            }
            .direct-contact {
                align-items: flex-start;
                flex-direction: column;
                gap: 0;
            }
            .lightbox-image-wrap {
                padding: 58px 52px 16px;
            }
            .lightbox-caption {
                padding-inline: 54px;
            }
            .to-top {
                right: 16px;
                bottom: calc(82px + env(safe-area-inset-bottom));
            }
            .footer-bottom {
                flex-direction: column;
                gap: 8px;
            }
        }
        @media (prefers-reduced-motion: reduce) {
            html {
                scroll-behavior: auto;
            }
            *,
            *::before,
            *::after {
                scroll-behavior: auto !important;
                transition-duration: .01ms !important;
                animation-duration: .01ms !important;
                animation-iteration-count: 1 !important;
            }
            .reveal {
                opacity: 1;
                transform: none;
            }
        }

        /*
         * Native-theme parity guard.
         *
         * The Photography parent theme applies Montserrat, uppercase text and
         * wide tracking to headings, buttons and blockquotes. The approved V2
         * homepage intentionally uses Manrope with sentence case throughout.
         * Keep these resets scoped to native V2 routes so legacy pages retain
         * their existing typography.
         */
        body.sweetlife-v2-native,
        body.sweetlife-v2-native input,
        body.sweetlife-v2-native select,
        body.sweetlife-v2-native textarea,
        body.sweetlife-v2-native button {
            font-family: "Manrope", "Avenir Next", "Segoe UI", sans-serif !important;
        }
        body.sweetlife-v2-native h1,
        body.sweetlife-v2-native h2,
        body.sweetlife-v2-native h3,
        body.sweetlife-v2-native h4,
        body.sweetlife-v2-native h5,
        body.sweetlife-v2-native h6 {
            font-family: "Manrope", "Avenir Next", "Segoe UI", sans-serif !important;
            text-transform: none !important;
        }
        body.sweetlife-v2-native .button,
        body.sweetlife-v2-native .button-link {
            font-family: "Manrope", "Avenir Next", "Segoe UI", sans-serif !important;
            letter-spacing: 0 !important;
            text-transform: none !important;
        }
        body.sweetlife-v2-native .review-feature p {
            letter-spacing: -.03em !important;
            text-transform: none !important;
        }
        body.sweetlife-v2-native .review-small p,
        body.sweetlife-v2-native .review-grid cite {
            letter-spacing: normal !important;
            text-transform: none !important;
        }
