:root{--ink:#2e2723;--espresso:#211a17;--paper:#fbf8f3;--ivory:#f2ece4;--sand:#e3d5c8;--rose:#c9b09e;--taupe:#907b6d;--champagne:#b89873;--line:rgba(46,39,35,.17);--serif:'Italiana',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--max:1320px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit}.shell{width:min(calc(100% - 80px),var(--max));margin:auto}.section{padding:130px 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:#fff;padding:12px}.skip-link:focus{top:20px}.eyebrow,.section-kicker{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;margin:0}.announcement{height:34px;background:var(--espresso);color:#e8ddd5;display:flex;justify-content:center;gap:26px;align-items:center;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.announcement a{border-bottom:1px solid #7e6d62}.site-header{position:fixed;top:34px;left:0;width:100%;z-index:50;transition:.35s;border-bottom:1px solid transparent}.site-header.scrolled{background:rgba(251,248,243,.93);backdrop-filter:blur(16px);border-color:var(--line);top:0}.nav-wrap{height:90px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;flex-direction:column;line-height:1}.brand-main{font-family:var(--serif);font-size:29px;letter-spacing:.025em}.brand-sub{font-size:8px;letter-spacing:.24em;text-transform:uppercase;margin-top:7px}.site-nav{display:flex;align-items:center;gap:30px;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.site-nav>a:not(.button){position:relative}.site-nav>a:not(.button)::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--ink);transition:.3s}.site-nav>a:hover::after{width:100%}.menu-toggle{display:none;background:none;border:0;width:36px;height:30px;padding:5px}.menu-toggle span:not(.sr-only){display:block;height:1px;background:var(--ink);margin:6px 0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 27px;background:var(--espresso);color:var(--paper);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--espresso);transition:transform .25s,background .25s,color .25s}.button:hover{transform:translateY(-2px);background:transparent;color:var(--espresso)}.button-small{min-height:40px;padding:0 19px}.button-light{background:var(--paper);color:var(--espresso);border-color:var(--paper)}.button-light:hover{color:var(--paper);border-color:var(--paper)}.button-row{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.text-link{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;border-bottom:1px solid var(--line);padding-bottom:5px}.text-link span{margin-left:8px}.hero{min-height:930px;padding:180px 0 80px;background:var(--ivory);position:relative;overflow:hidden;display:flex;align-items:center}.hero-grid{display:grid;grid-template-columns:1.05fr .75fr;gap:90px;align-items:center}.hero-copy{position:relative;z-index:2}.hero h1,.section h2,.cta-section h2{font-family:var(--serif);font-weight:400;line-height:.96;letter-spacing:-.025em;margin:22px 0 30px;font-size:clamp(58px,7.4vw,112px)}em{font-style:italic;font-weight:400;color:var(--taupe)}.hero-lead{max-width:620px;font-size:18px;color:#5e534d;margin-bottom:38px}.hero-proof{display:grid;grid-template-columns:repeat(3,1fr);max-width:610px;border-top:1px solid var(--line);margin-top:55px}.hero-proof div{display:flex;gap:14px;padding:20px 15px 0 0}.hero-proof div+div{padding-left:18px;border-left:1px solid var(--line)}.hero-proof strong{font-family:var(--serif);font-size:19px;color:var(--taupe);font-weight:400}.hero-proof span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;line-height:1.55}.hero-visual{position:relative}.portrait-frame{background:#d6c5b7;padding:18px 18px 12px;transform:rotate(1deg)}.portrait-frame img{aspect-ratio:4/5;object-fit:cover}.image-note{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#71635a;margin:10px 0 0}.signature-card{position:absolute;left:-95px;bottom:70px;background:var(--paper);padding:24px 28px;width:255px;box-shadow:0 25px 70px rgba(44,34,29,.15)}.signature-card span{display:block;font-size:9px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px}.signature-card strong{font-family:var(--serif);font-size:23px;line-height:1.2;font-weight:400}.orb{position:absolute;border:1px solid rgba(46,39,35,.13);border-radius:50%}.orb-one{width:650px;height:650px;right:-280px;top:-180px}.orb-two{width:380px;height:380px;left:-210px;bottom:-130px}.marquee{position:absolute;bottom:0;left:0;width:100%;border-top:1px solid var(--line);padding:13px 0;white-space:nowrap;overflow:hidden;font-family:var(--serif);font-size:18px;letter-spacing:.06em}.marquee div{display:inline-block;animation:marquee 28s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}.manifesto{background:var(--paper)}.manifesto-grid{display:grid;grid-template-columns:.5fr 1.5fr;gap:80px}.manifesto h2{font-size:clamp(48px,6vw,88px);margin-top:0}.manifesto-copy>p{font-size:19px;max-width:780px;margin-left:auto}.services{background:#e8ded4}.section-heading{display:flex;justify-content:space-between;gap:70px;align-items:end;margin-bottom:68px}.section-heading h2{font-size:clamp(50px,6.2vw,92px);margin:12px 0 0}.section-heading>p{max-width:430px;color:#62564e}.service-editorial{display:grid;grid-template-columns:1.15fr .85fr;gap:24px}.service-feature{background:var(--paper);display:grid;grid-template-rows:1.15fr .85fr}.service-image{position:relative;background:#d7c4b5;overflow:hidden}.service-image img{height:100%;object-fit:cover;transition:transform .8s}.service-image:hover img{transform:scale(1.025)}.service-image>span{position:absolute;left:20px;top:20px;background:rgba(251,248,243,.9);padding:8px 11px;font-size:9px;letter-spacing:.14em;text-transform:uppercase}.service-body{padding:48px}.service-body h3{font-family:var(--serif);font-size:clamp(45px,5vw,72px);font-weight:400;line-height:.95;margin:17px 0 25px}.service-body>p:not(.eyebrow){font-size:17px;max-width:590px}.service-meta{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:18px 0;margin:30px 0 22px;font-size:10px;text-transform:uppercase;letter-spacing:.13em}.service-meta strong{font-family:var(--serif);font-size:25px;font-weight:400;letter-spacing:0}.service-stack{display:grid;gap:24px}.service-row{background:var(--paper);display:grid;grid-template-columns:180px 1fr;min-height:235px}.service-row-image{overflow:hidden;background:#d8c8ba}.service-row-image img{height:100%;object-fit:cover;transition:transform .7s}.service-row:hover img{transform:scale(1.035)}.service-row>div:last-child{padding:28px}.service-index{font-family:var(--serif);color:var(--taupe)}.service-row h3{font-family:var(--serif);font-size:32px;font-weight:400;margin:7px 0}.service-row p{font-size:13px;color:#655950;margin:0 0 12px}.service-row a{font-size:10px;text-transform:uppercase;letter-spacing:.11em;font-weight:600}.mini-price{font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}.method{background:var(--espresso);color:var(--paper)}.method-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:110px}.method-heading{position:sticky;top:150px;align-self:start}.method h2{font-size:clamp(52px,6vw,88px)}.method-heading>p:last-child{color:#c8bbb2;max-width:440px}.method-list{border-top:1px solid #51453f}.method-step{display:grid;grid-template-columns:90px 1fr;gap:30px;padding:36px 0;border-bottom:1px solid #51453f}.method-step>span{font-family:var(--serif);font-size:23px;color:#a99180}.method-step h3{font-family:var(--serif);font-size:44px;font-weight:400;margin:0}.method-step p{color:#c8bbb2;margin:6px 0;max-width:560px}.editorial-break{background:var(--rose);padding:90px 0;text-align:center}.editorial-break p{font-size:11px;letter-spacing:.18em;text-transform:uppercase}.editorial-break h2{font-family:var(--serif);font-size:clamp(52px,7vw,105px);font-weight:400;line-height:.95;margin:20px 0}.makeup{background:var(--paper)}.makeup-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:100px;align-items:center}.makeup-visual{background:#d9c8ba;padding:18px;position:relative}.makeup-visual img{aspect-ratio:4/5;object-fit:cover}.vertical-label{position:absolute;writing-mode:vertical-rl;right:-38px;top:0;font-size:9px;text-transform:uppercase;letter-spacing:.16em}.makeup h2{font-size:clamp(50px,5.6vw,84px)}.makeup-copy>p{font-size:18px;color:#5f544d}.makeup-inclusions{border-top:1px solid var(--line);margin:30px 0}.makeup-inclusions div{display:grid;grid-template-columns:42px 1fr;padding:13px 0;border-bottom:1px solid var(--line)}.makeup-inclusions span{font-family:var(--serif);color:var(--taupe)}.makeup-inclusions p{margin:0}.pricing-card{background:var(--ivory);padding:26px;margin:30px 0}.pricing-card>div{display:flex;justify-content:space-between;align-items:baseline;padding:7px 0}.pricing-card p{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.09em}.pricing-card strong{font-family:var(--serif);font-size:29px;font-weight:400}.pricing-card small{display:block;border-top:1px solid var(--line);padding-top:14px;margin-top:10px;color:#675c54}.results{background:#e9dfd6}.results-heading{text-align:center;max-width:900px;margin:0 auto 60px}.results h2{font-size:clamp(55px,6vw,90px)}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.result-card{padding:48px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:260px}.result-card strong{font-family:var(--serif);font-weight:400;font-size:40px}.result-card p{color:#665a52}.about{background:#d5c4b6}.about-grid{display:grid;grid-template-columns:1fr .8fr .62fr;gap:30px;align-items:end}.about h2{font-size:clamp(49px,5vw,78px)}.about-copy{padding-right:30px}.about-copy>p{font-size:17px}.pull-quote{font-family:var(--serif);font-size:23px!important;line-height:1.3;border-left:1px solid var(--ink);padding-left:23px;margin:30px 0}.about-visual{background:var(--paper);padding:15px}.studio-card{background:var(--espresso);color:var(--paper);padding:38px}.studio-card h3{font-family:var(--serif);font-size:33px;font-weight:400;line-height:1.1}.studio-card p{color:#d0c3ba}.studio-card hr{border:0;border-top:1px solid #4d413b;margin:25px 0}.journey{background:var(--paper)}.journey-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.journey-step{padding:36px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:290px}.journey-step>span{font-family:var(--serif);color:var(--taupe);font-size:22px}.journey-step h3{font-family:var(--serif);font-size:36px;font-weight:400;margin:58px 0 10px}.journey-step p{font-size:14px;color:#655950}.faq{background:#eee6de}.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.faq h2{font-size:clamp(50px,5.6vw,82px)}.faq-heading>p:last-child{max-width:350px}.accordion details{border-top:1px solid #cabbae}.accordion details:last-child{border-bottom:1px solid #cabbae}.accordion summary{list-style:none;cursor:pointer;padding:24px 48px 24px 0;font-family:var(--serif);font-size:25px;position:relative}.accordion summary::-webkit-details-marker{display:none}.accordion summary::after{content:"+";position:absolute;right:0;font-family:var(--sans);font-size:20px}.accordion details[open] summary::after{content:"−"}.accordion details p{max-width:720px;margin:0;padding:0 50px 25px 0;color:#62564f}.cta-section{background:var(--espresso);color:var(--paper);padding:125px 0;text-align:center}.cta-inner{max-width:900px}.cta-section h2{font-size:clamp(57px,7vw,98px)}.cta-section p:not(.eyebrow){font-size:18px;color:#d2c5bc;margin-bottom:32px}.site-footer{background:#161210;color:#e7ddd5;padding:75px 0 28px}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr 1.1fr .7fr;gap:55px}.brand-footer{margin-bottom:20px}.footer-grid h4{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#ad9d91}.footer-grid p,.footer-grid a{display:block;color:#c9bdb5;font-size:13px;margin:7px 0}.footer-bottom{border-top:1px solid #3c332e;margin-top:60px;padding-top:22px;display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#8f8178}.mobile-book{display:none}.reveal{opacity:0;transform:translateY(26px);transition:opacity .85s ease,transform .85s ease}.reveal.in-view{opacity:1;transform:none}.reveal-delay{transition-delay:.16s}
@media(max-width:1050px){.shell{width:min(calc(100% - 48px),var(--max))}.section{padding:100px 0}.menu-toggle{display:block;z-index:60}.site-nav{position:fixed;inset:0;background:var(--paper);flex-direction:column;justify-content:center;font-family:var(--serif);font-size:31px;transform:translateX(100%);transition:.35s}.site-nav.open{transform:none}.site-nav .button{font-family:var(--sans);font-size:10px}.hero{padding-top:170px}.hero-grid,.makeup-grid{grid-template-columns:1fr;gap:60px}.hero-copy{max-width:850px}.hero-visual{width:min(78%,590px);margin-left:auto}.manifesto-grid{grid-template-columns:1fr}.service-editorial{grid-template-columns:1fr}.service-feature{grid-template-columns:1fr 1fr;grid-template-rows:none}.method-grid{grid-template-columns:1fr;gap:55px}.method-heading{position:static}.makeup-visual{width:min(80%,600px)}.about-grid{grid-template-columns:1fr 1fr}.studio-card{grid-column:1/-1}.journey-grid{grid-template-columns:repeat(2,1fr)}.faq-grid{grid-template-columns:1fr;gap:40px}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.announcement{display:none}.site-header{top:0}.shell{width:min(calc(100% - 28px),var(--max))}.section{padding:78px 0}.nav-wrap{height:76px}.brand-main{font-size:24px}.hero{min-height:auto;padding:125px 0 80px}.hero h1{font-size:54px}.hero-lead{font-size:16px}.hero-visual{width:100%}.signature-card{left:-4px;bottom:34px;width:230px;padding:18px}.hero-proof{grid-template-columns:1fr;margin-top:38px}.hero-proof div+div{border-left:0;padding-left:0}.manifesto h2{font-size:50px}.section-heading{display:block;margin-bottom:42px}.section-heading>p{margin-top:22px}.service-feature{display:block}.service-image{height:360px}.service-body{padding:30px}.service-row{grid-template-columns:120px 1fr}.service-row>div:last-child{padding:22px}.method-step{grid-template-columns:50px 1fr}.method-step h3{font-size:37px}.editorial-break{padding:70px 0}.vertical-label{display:none}.makeup-visual{width:100%}.result-grid{grid-template-columns:1fr}.result-card{min-height:0}.about-grid{display:block}.about-copy,.about-visual,.studio-card{margin-bottom:22px}.journey-grid{grid-template-columns:1fr}.journey-step{min-height:220px}.journey-step h3{margin-top:28px}.pricing-card>div{display:block}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}.mobile-book{display:flex;position:fixed;left:14px;right:14px;bottom:14px;z-index:45;background:var(--espresso);color:var(--paper);height:54px;align-items:center;justify-content:space-between;padding:0 20px;text-transform:uppercase;letter-spacing:.12em;font-size:10px;box-shadow:0 12px 30px rgba(25,18,15,.22)}body{padding-bottom:70px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Grace Studios photography */
.portrait-frame img{object-fit:cover;object-position:50% 34%;width:100%;height:100%;}
.service-image img{object-fit:cover;object-position:center center;}
.service-row:nth-child(1) .service-row-image img{object-position:center center;}
.service-row:nth-child(2) .service-row-image img{object-position:50% 30%;}
.service-row:nth-child(3) .service-row-image img{object-position:50% 26%;}
.makeup-visual img{object-position:50% 30%;}
.about-visual img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;}

/* Makeup portfolio gallery */
.makeup-gallery{display:grid;gap:12px}.makeup-feature{margin:0;overflow:hidden;background:#cbb8aa}.makeup-feature img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 38%;transition:transform .7s ease}.makeup-feature:hover img{transform:scale(1.025)}.makeup-thumbnails{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.makeup-thumbnails figure{margin:0;overflow:hidden;background:#cbb8aa}.makeup-thumbnails img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center 28%;transition:transform .5s ease}.makeup-thumbnails figure:hover img{transform:scale(1.05)}
@media(max-width:700px){.makeup-thumbnails{grid-template-columns:repeat(2,1fr)}.makeup-feature img{aspect-ratio:1/1.18}}
