@layer base, tokens, layout, components, utils;@layer tokens{:root{--bg:#faf9f7;--bg-alt:#ebe6df;--bg-dark:#1a1814;--text:#2c2c2c;--text-light:#6b6b6b;--text-lighter:#707070;--text-inv:#f0ece6;--accent:#b5956a;--accent-dark:#8e7352;--white:#fff;--border:#e0ddd8;--max-width:1200px;--content-width:880px;--nav-height:80px;--font-serif:"Cormorant Garamond",Georgia,serif;--font-sans:"Montserrat",Helvetica,Arial,sans-serif;--transition:0.3s ease;--transition-slow:0.6s ease;--ghost-color:hsla(34,34%,56%,.26)}}@layer base{*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:15px;font-weight:300;line-height:1.75;-webkit-font-smoothing:antialiased}img{display:block;height:auto;max-width:100%}a{color:inherit;text-decoration:none}ul{list-style:none}button{background:none;border:none;cursor:pointer;font-family:inherit}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:400;letter-spacing:.01em;line-height:1.2}h1{font-size:clamp(2.2rem,5vw,3.8rem)}h2{font-size:clamp(1.8rem,3.5vw,2.8rem)}h3{font-size:clamp(1.3rem,2.5vw,1.8rem)}h4{font-family:var(--font-sans);font-size:1.1rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase}p{margin-bottom:1.2em}p:last-child{margin-bottom:0}}@layer layout{.container{margin:0 auto;max-width:var(--max-width);padding:0 2rem;width:100%}.container--narrow{max-width:var(--content-width)}.section{padding:6rem 0}.section--sm{padding:3.5rem 0}.section--alt{background:linear-gradient(to bottom,transparent,var(--bg-alt) 12%,var(--bg-alt) 88%,transparent)}.section--dark{background:var(--bg-dark);color:var(--text-inv)}.text-center{text-align:center}}@layer components{.serif{font-family:var(--font-serif)}.italic{font-style:italic}.small-caps{color:var(--text-light);font-size:.72rem;letter-spacing:.2em}.section-label,.small-caps{font-family:var(--font-sans);text-transform:uppercase}.section-label{color:var(--accent);display:block;font-size:.68rem;font-weight:500;letter-spacing:.28em;margin-bottom:.75rem}.section-title{margin-bottom:1.5rem}.divider{background:var(--accent);height:1px;margin:1.5rem auto;width:50px}.btn{border:1px solid var(--text);color:var(--text);display:inline-block;font-family:var(--font-sans);font-size:.72rem;font-weight:500;letter-spacing:.2em;padding:.85rem 2.5rem;text-transform:uppercase;transition:background var(--transition),color var(--transition),border-color var(--transition)}.btn:hover{background:var(--text);color:var(--white)}.btn--accent{border-color:var(--accent);color:var(--accent)}.btn--accent:hover{background:var(--accent);color:var(--white)}.btn--filled{background:var(--text);border-color:var(--text);color:var(--white)}.btn--filled:hover{background:transparent;color:var(--text)}.btn--light{background:transparent;border-color:hsla(0,0%,100%,.7);color:var(--white)}.btn--light:hover{background:hsla(0,0%,100%,.12);border-color:var(--white)}.btn--outline-light{background:transparent;border:1px solid hsla(0,0%,100%,.7);color:var(--white)}.btn--outline-light:hover{background:hsla(0,0%,100%,.12);border-color:var(--white)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal.revealed{opacity:1;transform:none}.reveal-left{opacity:0;transform:translateX(-28px);transition:opacity .7s ease,transform .7s ease}.reveal-left.revealed{opacity:1;transform:none}.reveal-right{opacity:0;transform:translateX(28px);transition:opacity .7s ease,transform .7s ease}.reveal-right.revealed{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal,.reveal-left,.reveal-right{opacity:1;transform:none;transition:none}}.site-nav{background:hsla(40,23%,97%,.96);border-bottom:1px solid var(--border);height:var(--nav-height);left:0;position:fixed;right:0;top:0;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition);z-index:1000}.site-nav.scrolled{box-shadow:0 2px 24px rgba(0,0,0,.07)}body.has-hero .site-nav:not(.scrolled){background:linear-gradient(180deg,rgba(0,0,0,.55),transparent);border-bottom:none}body.has-hero .site-nav:not(.scrolled) .nav-links>li>a,body.has-hero .site-nav:not(.scrolled) .nav-logo{color:var(--white)}body.has-hero .site-nav:not(.scrolled) .nav-links>li>a:after{background:hsla(0,0%,100%,.7)}body.has-hero .site-nav:not(.scrolled) .nav-toggle span{background:var(--white)}body.has-hero .site-nav:not(.scrolled) .nav-book{border-color:hsla(0,0%,100%,.7);color:var(--white)}body.has-hero .site-nav:not(.scrolled) .nav-book:hover{background:hsla(0,0%,100%,.12);border-color:var(--white)}.nav-inner{align-items:center;display:flex;height:100%;justify-content:space-between;margin:0 auto;max-width:var(--max-width);padding:0 2rem}.nav-logo{color:var(--text);flex-shrink:0;font-family:var(--font-serif);font-size:1.1rem;font-weight:300;letter-spacing:.15em;text-transform:uppercase;transition:color var(--transition)}.nav-links{align-items:center;display:flex;gap:2rem}.nav-links>li>a{color:var(--text);font-size:.68rem;font-weight:500;letter-spacing:.18em;padding-bottom:2px;position:relative;text-transform:uppercase;transition:color var(--transition)}.nav-links>li>a:after{background:var(--accent);bottom:0;content:"";height:1px;left:0;position:absolute;transition:width var(--transition);width:0}.nav-links>li>a.active:after,.nav-links>li>a:hover:after{width:100%}.nav-book,.nav-links>li>a.active{color:var(--accent)}.nav-book{border:1px solid var(--accent);border-radius:2px;display:inline-block;font-family:var(--font-sans);font-size:.65rem;font-weight:500;letter-spacing:.2em;padding:.45rem 1.1rem;text-transform:uppercase;transition:background var(--transition),color var(--transition),border-color var(--transition);white-space:nowrap}.nav-book:hover{background:var(--accent);color:var(--white)}.nav-book:after{display:none!important}.nav-dropdown{position:relative}.dropdown-menu{background:var(--white);border:1px solid var(--border);left:50%;min-width:200px;opacity:0;padding:1rem 0 .75rem;pointer-events:none;position:absolute;top:100%;transform:translateX(-50%) translateY(-8px);transition:opacity var(--transition),transform var(--transition);transition-delay:.15s}.nav-dropdown:focus-within .dropdown-menu,.nav-dropdown:hover .dropdown-menu{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);transition-delay:0s}.dropdown-menu a{color:var(--text);display:block;font-size:.68rem;font-weight:400;letter-spacing:.12em;padding:.5rem 1.25rem;text-transform:uppercase;white-space:nowrap}.dropdown-menu a:after{display:none!important}.dropdown-menu a:hover{background:var(--bg-alt);color:var(--accent)}.nav-toggle{cursor:pointer;display:none;flex-direction:column;gap:5px;height:44px;justify-content:center;margin-left:auto;padding:10px 6px;width:36px}.nav-toggle span{background:#2c2c2c;border-radius:0;display:block;height:1.5px;transition:transform var(--transition),opacity var(--transition),background var(--transition);width:100%}.nav-toggle.open span:first-child{transform:translateY(6.5px) rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.nav-mobile{background:var(--bg);border-bottom:1px solid var(--border);box-shadow:0 8px 24px rgba(0,0,0,.08);display:none;left:0;max-height:calc(100vh - var(--nav-height));overflow-y:auto;padding:1rem 2rem 1.5rem;position:fixed;right:0;top:var(--nav-height);z-index:1001}.nav-mobile.open{display:block}.nav-mobile a{border-bottom:1px solid var(--border);color:var(--text);display:block;font-size:.8rem;letter-spacing:.15em;padding:.75rem 0;text-transform:uppercase}.nav-mobile a:last-child{border-bottom:none}.nav-mobile .mobile-sub{color:var(--text-light);font-size:.72rem;padding-left:1rem}.hero{align-items:center;color-scheme:dark;display:flex;height:100vh;justify-content:center;min-height:600px;overflow:hidden;position:relative}.hero-bg{background-position:50%;background-repeat:no-repeat;background-size:cover;inset:0;position:absolute;transform:scale(1.05);transition:transform 8s ease-out;will-change:transform}.hero-bg.loaded{transform:scale(1)}.hero-overlay{background:rgba(26,24,20,.42);inset:0;position:absolute}.hero-content{color:var(--white);padding:2rem;position:relative;text-align:center;z-index:1}.hero-eyebrow{font-family:var(--font-sans);font-size:.68rem;font-weight:500;letter-spacing:.28em;margin-bottom:1.2rem;opacity:.85;text-transform:uppercase}.hero-content h1{color:var(--white);font-style:italic;font-weight:300;margin-bottom:1rem;text-shadow:0 2px 32px rgba(0,0,0,.25)}.hero-sub{font-family:var(--font-sans);font-size:.68rem;font-weight:500;font-weight:300;letter-spacing:.28em;margin-bottom:2.5rem;opacity:.8;text-transform:uppercase}.hero-tagline{font-family:var(--font-serif);font-size:clamp(1rem,2vw,1.3rem);font-style:italic;letter-spacing:.02em;margin-bottom:2.5rem;opacity:.9}.hero .btn{border-color:hsla(0,0%,100%,.75);color:var(--white)}.hero .btn:hover{background:var(--white);color:var(--text)}.hero-scroll{align-items:center;bottom:2.5rem;color:hsla(0,0%,100%,.6);display:flex;flex-direction:column;font-size:.6rem;gap:.5rem;left:50%;letter-spacing:.22em;position:absolute;text-transform:uppercase;transform:translateX(-50%);z-index:1}.hero-scroll:after{animation:scrollLine 2s ease-in-out infinite;background:currentColor;content:"";height:40px;opacity:.75;transform-origin:top;width:1px}@keyframes scrollLine{0%,to{transform:scaleY(0)}50%{transform:scaleY(1)}}.editorial-header{background:linear-gradient(to bottom,var(--bg-alt) 70%,transparent);padding-bottom:4rem;padding-top:calc(var(--nav-height) + 1.5rem);text-align:center}.editorial-header-vline{background:linear-gradient(to bottom,transparent,var(--accent),transparent);height:28px;margin:.6rem auto;width:1px}.editorial-header-mid{display:inline-block;position:relative}.editorial-header-ghost{color:var(--ghost-color);font-family:var(--font-serif);font-size:clamp(5rem,15vw,10rem);font-weight:300;left:50%;line-height:1;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);user-select:none;white-space:nowrap;z-index:0}.editorial-header-mid h1{position:relative;z-index:1}.editorial-header-sub{color:var(--text-light);font-family:var(--font-serif);font-size:clamp(.95rem,2vw,1.1rem);font-style:italic;margin-left:auto;margin-right:auto;margin-top:.5rem;max-width:720px;text-wrap:balance}.page-header{background:var(--bg-alt);padding-bottom:3rem;padding-top:calc(var(--nav-height) + 5rem);text-align:center}.page-header h1{margin-bottom:.75rem}.page-header p{color:var(--text-light);font-size:.82rem;letter-spacing:.05em;margin:0 auto;max-width:500px}.intro-section{text-align:left}.intro-grid{align-items:center;display:grid;gap:4rem;grid-template-columns:2fr 3fr}.intro-grid-img{border-radius:4px;overflow:hidden;position:relative}.intro-grid-img img{display:block;width:100%}.intro-cta{bottom:1.5rem;box-shadow:0 4px 16px rgba(0,0,0,.25);left:50%;position:absolute;transform:translateX(-50%);white-space:nowrap}.intro-grid-text .divider{margin-left:0}.intro-section .intro-body{color:var(--text);font-family:var(--font-serif);font-size:clamp(1.05rem,2vw,1.2rem);font-weight:300;line-height:1.9;margin:0 0 1.5rem}.gallery-grid{display:grid;gap:.5rem}.gallery-grid--3{grid-template-columns:repeat(3,1fr)}.gallery-grid--4{grid-template-columns:repeat(4,1fr)}.gallery-grid--masonry{column-count:3;column-gap:.5rem;display:block}.gallery-item{cursor:pointer;overflow:hidden;position:relative}.gallery-item img{display:block;height:100%;object-fit:cover;object-position:top;transition:transform .6s ease;width:100%}.gallery-item:hover img{transform:scale(1.04)}.gallery-grid--3 .gallery-item{aspect-ratio:2/3}.gallery-grid--4 .gallery-item{aspect-ratio:3/4}.gallery-grid--masonry .gallery-item{break-inside:avoid;margin-bottom:.5rem}.gallery-grid--masonry .gallery-item img{height:auto}.gallery-cards{display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr)}.gallery-card{aspect-ratio:3/4;cursor:pointer;display:block;overflow:hidden;position:relative}.gallery-card img{height:100%;object-fit:cover;object-position:top;transition:transform .7s ease;width:100%}.gallery-card:hover img{transform:scale(1.05)}.gallery-card-label{align-items:center;background:linear-gradient(180deg,rgba(0,0,0,.55) 0,transparent 60%);color:var(--white);display:flex;flex-direction:column;inset:0;justify-content:flex-start;padding:2rem;position:absolute}.gallery-card-label h3{color:var(--white);font-size:1.6rem;font-weight:300;letter-spacing:.08em;margin-bottom:.25rem}.gallery-card-label .small-caps{color:hsla(0,0%,100%,.8)}.testimonials{text-align:center}.testimonial-carousel{position:relative}.testimonial-item{display:none}.testimonial-item.tcard-active{display:grid}.tcard{border-radius:4px;box-shadow:0 4px 40px rgba(0,0,0,.1);grid-template-columns:45% 55%;min-height:440px}.tcard,.tcard-img{overflow:hidden}.tcard-img img{display:block;height:100%;object-fit:cover;width:100%}.tcard-body{background:var(--bg);display:flex;flex-direction:column;justify-content:center;padding:3rem 3.5rem;text-align:left}.tcard-quote{color:var(--text);font-family:var(--font-serif);font-size:clamp(1rem,1.8vw,1.15rem);font-style:italic;font-weight:300;line-height:1.9;margin-bottom:1.5rem}.tcard-quote:before{color:var(--accent);content:"\201C";display:block;font-family:var(--font-serif);font-size:4rem;font-style:normal;line-height:0;margin-bottom:1.2rem;opacity:.35}.tcard-author{color:var(--accent);font-family:var(--font-sans);font-size:.7rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase}.testimonial-dots{display:flex;gap:.5rem;justify-content:center;margin-top:1.75rem}.testimonial-dots button{background:var(--border);border-radius:50%;height:8px;transition:background var(--transition);width:8px}.testimonial-dots button.active{background:var(--accent)}.about-grid{align-items:start;display:grid;gap:3rem;grid-template-columns:1fr 1fr}.about-img-wrap{position:relative}.about-img-wrap:before{border:1px solid var(--accent);content:"";height:100%;position:absolute;right:-1.5rem;top:1.5rem;width:100%;z-index:-1}.about-img-wrap img{aspect-ratio:3/4;object-fit:cover;width:100%}.about-text h2{margin-bottom:1rem}.about-text .intro-body{color:var(--text);font-family:var(--font-serif);font-size:1.15rem;line-height:1.9}.qualities-list{margin:2rem 0}.qualities-list li{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;font-size:.85rem;gap:.75rem;line-height:1.5;padding:.6rem 0}.qualities-list li:before{color:var(--accent);content:"—";flex-shrink:0;margin-top:.1rem}.pricing-section{text-align:center}.pricing-grid{gap:2rem;text-align:left}.pricing-grid,.pricing-table{display:grid;grid-template-columns:repeat(3,1fr);margin-top:3rem}.pricing-table{border:1px solid var(--border)}.pricing-col{border-right:1px solid var(--border);display:flex;flex-direction:column;padding:3rem 2rem 2.5rem;text-align:center}.pricing-col:last-child{border-right:none}.pricing-col--featured{background:var(--bg-alt);position:relative}.pricing-col--featured:before{background:var(--accent);color:var(--white);content:"Most Popular";font-size:.6rem;left:50%;letter-spacing:.15em;padding:.3rem 1rem;position:absolute;top:0;transform:translate(-50%,-50%);white-space:nowrap}.pricing-col--featured:before,.pricing-col-name{font-family:var(--font-sans);font-weight:500;text-transform:uppercase}.pricing-col-name{color:var(--text-light);font-size:.68rem;letter-spacing:.28em;margin-bottom:1.5rem}.pricing-col-price{color:var(--text);font-family:var(--font-serif);font-size:clamp(2.5rem,4vw,3.5rem);font-weight:300;line-height:1;margin-bottom:.2rem}.pricing-col-tax{color:var(--text-lighter);font-size:.65rem;letter-spacing:.12em;margin-bottom:1.5rem;text-transform:uppercase}.pricing-divider{background:var(--accent);height:1px;margin:0 auto 1.5rem;width:30px}.pricing-col ul{display:flex;flex:1;flex-direction:column;gap:.6rem;margin-bottom:2rem;text-align:left}.pricing-col li{color:var(--text-light);font-size:.8rem;line-height:1.5;padding-left:1rem;position:relative}.pricing-col li:before{background:var(--accent);content:"";height:1px;left:0;position:absolute;top:.6rem;width:4px}.addons-section{margin-left:auto;margin-right:auto;margin-top:4rem;max-width:700px;text-align:left}.addons-section h2{font-size:clamp(1.3rem,2.5vw,1.8rem);margin-bottom:1rem;text-align:center}.addon-list{display:flex;flex-direction:column}.addon-item{align-items:baseline;border-bottom:1px solid var(--border);display:flex;gap:1rem;justify-content:space-between;padding:.4rem 0}.addon-name{font-size:.85rem}.addon-price{color:var(--accent-dark);flex-shrink:0;font-family:var(--font-serif);font-size:1.1rem;font-weight:600;white-space:nowrap}.faq-list{margin:0 auto;max-width:750px}.faq-item{border-bottom:1px solid var(--border)}.faq-question{align-items:center;background:none;color:var(--text);cursor:pointer;display:flex;font-family:var(--font-sans);font-size:.85rem;font-weight:500;gap:1rem;justify-content:space-between;letter-spacing:.03em;padding:1.5rem 0;text-align:left;width:100%}.faq-icon{flex-shrink:0;height:16px;position:relative;width:16px}.faq-icon:after,.faq-icon:before{background:var(--accent);content:"";position:absolute;transition:transform var(--transition),opacity var(--transition)}.faq-icon:before{height:1px;left:0;right:0;top:50%;transform:translateY(-50%)}.faq-icon:after{bottom:0;left:50%;top:0;transform:translateX(-50%);width:1px}.faq-item.open .faq-icon:after{opacity:0;transform:translateX(-50%) rotate(90deg)}.faq-answer{color:var(--text-light);display:none;font-size:.85rem;line-height:1.8;padding-bottom:1.5rem}.faq-item.open .faq-answer{display:block}.contact-intro{margin:0 auto 3rem;max-width:600px;text-align:center}.contact-tabs{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:3rem}.contact-tab{background:var(--white);border:1px solid var(--border);color:var(--text-light);cursor:pointer;font-size:.7rem;font-weight:500;letter-spacing:.18em;padding:.6rem 1.8rem;text-transform:uppercase;transition:all var(--transition)}.contact-tab.active{background:transparent;border-color:var(--accent);color:var(--accent)}.contact-form-panel{display:none;overflow:visible}.contact-form-panel.active{display:block;overflow:visible}.contact-form-panel iframe{border:none;display:block;height:1400px;overflow:hidden;width:100%}.contact-social{border-top:1px solid var(--border);margin-top:3rem;padding-top:3rem;text-align:center}.social-links{display:flex;gap:1.5rem;justify-content:center;margin-top:1rem}.social-links a{color:var(--text-light);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;transition:color var(--transition)}.social-links a:hover{color:var(--accent)}.social-links .footer-social-icon{filter:brightness(0);opacity:.45}.social-links a:hover .footer-social-icon{opacity:.85}.blog-grid{display:grid;gap:2.5rem;grid-template-columns:repeat(3,1fr)}.blog-card{display:block}.blog-card-img{aspect-ratio:3/2;margin-bottom:1.25rem;object-fit:cover;transition:opacity var(--transition);width:100%}.blog-card:hover .blog-card-img{opacity:.88}.blog-card-meta{color:var(--text-lighter);font-size:.65rem;letter-spacing:.18em;margin-bottom:.5rem;text-transform:uppercase}.blog-card h3{font-size:1.15rem;font-weight:400;line-height:1.4;margin-bottom:.75rem}.blog-card:hover h3{color:var(--accent)}.blog-card p{color:var(--text-light);font-size:.83rem;line-height:1.7;margin:0}.post-hero{display:block;height:100%;object-fit:cover;width:100%}.post-header{margin:0 auto;max-width:750px;padding:4rem 2rem 3rem;text-align:center}.post-header h1{font-size:clamp(1.8rem,4vw,3rem);margin-bottom:1rem}.post-meta{color:var(--text-lighter);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase}.post-body{margin:0 auto;max-width:750px;padding:0 2rem 5rem}.post-body p{color:var(--text);font-size:.9rem;line-height:1.9;margin-bottom:1.5em}.post-body h2{font-size:1.6rem;margin:2.5rem 0 1rem}.post-body h3{margin:2rem 0 .75rem}.post-body img{margin:2rem 0;width:100%}.post-body ol,.post-body ul{margin:1rem 0 1.5rem 1.5rem}.post-body li{color:var(--text-light);font-size:.9rem;margin-bottom:.5rem}.post-gallery{display:grid;gap:4px;grid-auto-flow:dense;grid-auto-rows:5px;grid-template-columns:repeat(6,1fr);margin:2rem 0}.post-gallery img{cursor:pointer;display:block;grid-column:span 2;height:100%;object-fit:cover;transition:opacity .3s;width:100%}.post-gallery img:hover{opacity:.88}.post-scroller-wrap{margin:1.5rem -2rem 2rem;position:relative}.post-scroller-row{align-items:center;display:flex;position:relative}.post-scroller-arrow{background:var(--bg-alt);border:none;border:1px solid var(--border);border-radius:50%;color:var(--bg-dark);cursor:pointer;display:none;flex-shrink:0;font-size:1.5rem;height:40px;line-height:1;margin:0 4px;transition:background .25s ease,opacity .25s ease;width:40px}.post-scroller-arrow:hover{background:var(--accent);border-color:var(--accent);color:#fff}.post-scroller-arrow.post-scroller-arrow--hidden{opacity:.25;pointer-events:none}@media (min-width:601px){.post-scroller-arrow{align-items:center;display:flex;justify-content:center}}.post-scroller{flex:1;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none}.post-scroller::-webkit-scrollbar{display:none}.post-scroller-track{display:flex;gap:0}.post-scroller-track img{cursor:pointer;display:block;flex:0 0 100%;max-height:70vh;object-fit:contain;scroll-snap-align:center;transition:opacity .3s;width:100%}.post-scroller-track img:not([src]){visibility:hidden}.post-scroller-track img:hover{opacity:.88}.post-scroller-counter{background:rgba(0,0,0,.5);border-radius:4px;bottom:1rem;color:#fff;font-family:var(--font-sans);font-size:1rem;letter-spacing:.15em;opacity:0;padding:.4rem .8rem;pointer-events:none;position:absolute;right:1rem;transition:opacity .3s ease;z-index:2}.post-scroller-counter.visible{opacity:1}.post-scroller-thumbs{display:flex;gap:3px;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:2px;padding:0;scrollbar-width:none}.post-scroller-thumbs::-webkit-scrollbar{display:none}.post-scroller-thumbs img{cursor:pointer;display:block;flex-shrink:0;height:52px;object-fit:cover;opacity:.45;transition:opacity .2s ease;width:72px}.post-scroller-thumbs img:not([src]){visibility:hidden}.post-scroller-thumbs img:hover{opacity:.75}.post-scroller-thumbs img.active{opacity:1}@media (max-width:768px){.post-scroller-wrap{margin-left:-1.25rem;margin-right:-1.25rem}.post-scroller-thumbs img{height:40px;width:56px}}.post-video{margin:2.5rem 0;padding-bottom:56.25%;position:relative;width:100%}.post-video iframe{height:100%;inset:0;position:absolute;width:100%}.post-nav{align-items:stretch;border-top:1px solid var(--border);display:flex;margin-top:3rem}.post-nav>*{flex:1;padding:2rem 1.5rem}.post-nav>:first-child{border-right:1px solid var(--border)}.post-nav a{align-items:center;color:var(--text-light);display:flex;font-size:.68rem;gap:.5rem;letter-spacing:.18em;text-transform:uppercase;transition:color var(--transition)}.post-nav>:last-child a{justify-content:flex-end}.post-nav a:hover{color:var(--accent)}@media (max-width:600px){.post-nav{flex-direction:column}.post-nav>*{border-bottom:1px solid var(--border);border-right:none!important;padding:1.25rem 0}.post-nav>:last-child{border-bottom:none}.post-nav a{justify-content:center!important}.post-nav span{display:none}}.site-footer{background:var(--bg-dark);color:hsla(36,25%,92%,.7);padding:4rem 0 0}.footer-accent-line{background:linear-gradient(to right,transparent,var(--accent) 30%,var(--accent) 70%,transparent);height:1px;margin-bottom:3rem}.footer-inner{align-items:start;display:grid;gap:3rem;grid-template-columns:1fr 1fr;margin:0 auto;max-width:var(--max-width);padding:0 2rem}.footer-logo{color:var(--white);font-family:var(--font-serif);font-size:1.1rem;font-weight:300;letter-spacing:.15em;margin-bottom:.75rem;text-transform:uppercase}.footer-tagline{color:hsla(36,25%,92%,.5);font-size:.68rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase}.footer-nav{column-count:2;column-gap:2rem}.footer-nav a{color:hsla(36,25%,92%,.5);display:block;font-size:.68rem;letter-spacing:.18em;margin-bottom:.6rem;text-transform:uppercase;transition:color var(--transition)}.footer-nav a:hover{color:var(--white)}.footer-social{align-items:center;display:flex;gap:1.25rem;margin-top:1.5rem}.footer-social a{display:flex;transition:opacity var(--transition)}.footer-social a:hover{opacity:.7}.footer-social-icon{filter:brightness(0) invert(1);height:20px;object-fit:contain;opacity:.6;transition:opacity var(--transition);width:20px}.footer-social a:hover .footer-social-icon{opacity:1}.footer-bottom{border-top:1px solid hsla(36,25%,92%,.08);color:hsla(36,25%,92%,.5);font-size:.65rem;letter-spacing:.1em;margin-left:auto;margin-right:auto;margin-top:3rem;max-width:var(--max-width);padding:2.5rem 2rem;text-align:center}.full-bleed-section{align-items:center;color:var(--text-inv);display:flex;justify-content:center;overflow:hidden;padding:7rem 0;position:relative;text-align:center}.full-bleed-bg{background-position:center 30%;background-size:cover;inset:0;position:absolute;z-index:0}.full-bleed-overlay{background:rgba(26,24,20,.52);inset:0;position:absolute;z-index:1}.full-bleed-content{position:relative;width:100%;z-index:2}.instagram-strip{text-align:center}.instagram-strip .section-label{margin-bottom:.4rem}.instagram-handle{color:var(--text);display:block;font-family:var(--font-serif);font-size:1.6rem;font-style:italic;margin-bottom:1.5rem}.instagram-handle:hover{color:var(--accent)}.insta-scroll-wrap{position:relative}.insta-arrow{background:hsla(0,0%,100%,.85);border:none;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.15);color:var(--bg-dark);cursor:pointer;display:none;font-size:1.5rem;height:44px;line-height:1;position:absolute;top:50%;transform:translateY(-50%);transition:background .25s ease,opacity .25s ease;width:44px;z-index:3}.insta-arrow:first-of-type{left:12px}.insta-arrow:last-of-type{right:12px}.insta-arrow:hover{background:#fff}.insta-arrow.insta-arrow--hidden{opacity:0;pointer-events:none}@media (min-width:601px){.insta-arrow{align-items:center;display:flex;justify-content:center}}.insta-scroll{overflow-x:auto;width:100%;-webkit-overflow-scrolling:touch;scrollbar-width:none}.insta-scroll::-webkit-scrollbar{display:none}.insta-track{display:flex;gap:5px;padding:0 5px;width:max-content}.insta-card{display:block;flex-shrink:0;height:220px;overflow:hidden;position:relative;width:220px}.insta-card img{background:var(--bg-alt);display:block;height:100%;object-fit:cover;transition:transform .4s ease;width:100%}.insta-card img:not([src]){visibility:hidden}.insta-caption{align-items:flex-end;background:linear-gradient(0deg,rgba(0,0,0,.92) 0,rgba(0,0,0,.7) 40%,rgba(0,0,0,.4) 70%,transparent);color:#fff;display:flex;font-family:var(--font-sans);font-size:.7rem;inset:0;line-height:1.35;opacity:0;padding:10px;pointer-events:none;position:absolute;transition:opacity .3s ease}.insta-card:hover .insta-caption{opacity:1}.insta-card:hover img{transform:scale(1.05)}@media (max-width:600px){.insta-card{height:160px;width:160px}.insta-caption{font-size:.6rem;padding:6px}}.lightbox{align-items:center;background:rgba(0,0,0,.92);display:none;inset:0;justify-content:center;position:fixed;z-index:9999}.lightbox.active{display:flex}.lightbox-img{animation:lightboxFade .2s ease;max-height:90vh;max-width:90vw;object-fit:contain}@keyframes lightboxFade{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.lightbox-close{color:hsla(0,0%,100%,.65);cursor:pointer;font-size:2rem;line-height:1;position:fixed;right:2rem;top:1.5rem;transition:color var(--transition);z-index:10000}.lightbox-close:hover{color:var(--white)}.lightbox-next,.lightbox-prev{color:hsla(0,0%,100%,.55);cursor:pointer;font-size:2.5rem;padding:1rem;position:fixed;top:50%;transform:translateY(-50%);transition:color var(--transition);user-select:none;z-index:10000}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.lightbox-next:hover,.lightbox-prev:hover{color:var(--white)}.lightbox-counter{bottom:1.5rem;color:hsla(0,0%,100%,.45);font-size:.7rem;left:50%;letter-spacing:.15em;position:fixed;transform:translateX(-50%)}}@layer utils{.skip-link{background:var(--accent);border-radius:0 0 4px 4px;color:var(--white);font-family:var(--font-sans);font-size:.85rem;font-weight:500;left:50%;letter-spacing:.05em;padding:.5rem 1.5rem;position:absolute;text-decoration:none;top:-100%;transform:translateX(-50%);transition:top .2s ease;z-index:10000}.skip-link:focus{outline:none;top:0}@media (max-width:1024px){.pricing-grid{grid-template-columns:1fr;margin-left:auto;margin-right:auto;max-width:480px}.pricing-table{border:none;grid-template-columns:1fr}.pricing-col{border-bottom:1px solid var(--border);border-right:none}.pricing-col:last-child{border-bottom:none}.about-grid{gap:3rem;grid-template-columns:1fr}.about-img-wrap:before{display:none}}@media (max-width:900px){.intro-grid{gap:0;grid-template-columns:1fr}.intro-grid-text{order:1;padding-bottom:2rem;text-align:center}.intro-grid-text .divider{margin-left:auto}.intro-grid-img{order:2}.gallery-cards{grid-template-columns:1fr 1fr}.blog-grid{grid-template-columns:repeat(2,1fr)}.footer-inner{gap:2rem;grid-template-columns:1fr;text-align:center}.footer-nav{column-count:1;text-align:center}.footer-social{justify-content:center}}@media (max-width:768px){:root{--nav-height:70px}.nav-links{display:none}.nav-toggle{display:flex}.site-nav{height:auto}.nav-inner{align-items:center;flex-direction:row;gap:.75rem;height:var(--nav-height);justify-content:space-between;padding:0 1.25rem}.nav-logo{border-bottom:none;flex:1;min-width:0;padding:0;text-align:left}.nav-toggle{background:none;border-radius:0;box-shadow:none;flex-shrink:0;margin-left:0;padding:.55rem .65rem;position:static}.tcard{grid-template-columns:1fr;min-height:auto}.tcard-img{height:300px}.tcard-body{padding:2rem;text-align:center}.tcard-quote:before{text-align:left}.gallery-grid--3,.gallery-grid--4{grid-template-columns:repeat(2,1fr)}.gallery-grid--masonry{column-count:2}.blog-grid,.gallery-cards{grid-template-columns:1fr}.blog-grid{margin-left:auto;margin-right:auto;max-width:480px}.post-gallery{grid-template-columns:repeat(2,1fr)}.post-gallery img{grid-column:span 1}.section{padding:4rem 0}.editorial-header{padding-bottom:3rem;padding-top:calc(var(--nav-height) + 3rem)}}@media (max-width:480px){.container{padding:0 1.25rem}.gallery-grid--3,.gallery-grid--4{grid-template-columns:1fr}.gallery-grid--masonry{column-count:1}.post-gallery{grid-auto-rows:auto;grid-template-columns:1fr}.post-gallery img{grid-column:span 1;grid-row:span 1!important;height:auto}}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-bg{transform:none;transition:none;will-change:auto}.hero-scroll:after{animation:none;opacity:.4}}[role=button]:focus-visible,a:focus-visible,button:focus-visible{border-radius:2px;outline:2px solid var(--accent-dark);outline-offset:3px}