:root{--paper:#f7f7f2;--ink:#242820;--muted:#73786d;--sage:#697661;--pale:#e9ece4;--line:#dce0d6;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--script:'Italianno','Brush Script MT',cursive;--photo-shadow:0 18px 38px -16px #24311e4d,0 3px 10px #24311e0d}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:13px/1.8 var(--sans);-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer;border:0}img{display:block;width:100%;height:100%;object-fit:cover}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--sage);outline-offset:5px}::selection{background:#c9d1bf}[hidden]{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-70px;left:20px;padding:12px 20px;background:var(--ink);color:white;z-index:30}.skip-link:focus{top:12px}
/* Every section shares the same alignment and regular grid. */
.section{max-width:1280px;margin:auto;padding:72px 56px}.anchor-section{scroll-margin-top:10px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2.1px;line-height:1.8;margin:0 0 18px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font:400 1em/1.03 var(--serif);letter-spacing:-1.2px}h1{font-size:clamp(55px,6.5vw,88px);margin-bottom:22px}h2{font-size:clamp(42px,4.5vw,61px);margin-bottom:22px}h3{font-size:32px;letter-spacing:-.5px}h1 em,h2 em{color:var(--sage);font-weight:400}.section-heading{text-align:center;max-width:740px;margin:0 auto 36px}.section-heading h2{margin-bottom:16px}.section-heading>p:last-child{font-size:12px;line-height:1.9;color:var(--muted);margin-bottom:0}.signature{display:block;font-family:var(--script);font-size:58px;line-height:1;color:var(--sage);letter-spacing:0}
.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:49px;padding:15px 24px;border:1px solid transparent;border-radius:6px;font-family:var(--sans);font-size:11px;line-height:1.6;transition:background .25s,box-shadow .25s,transform .25s}.button.dark{background:var(--ink);color:var(--paper)}.button.dark:hover{background:#4b5942;box-shadow:0 7px 17px -8px #24311e66;transform:translateY(-2px)}.button.outline{border-color:#cfd5c8;background:transparent}.button.outline:hover{background:var(--pale);border-color:var(--sage)}.text-link{display:inline-flex;align-items:center;font-size:11px;line-height:1.6;padding:0 0 6px;border-bottom:1px solid #a3ad99;background:none;transition:color .2s,border-color .2s}.text-link:hover{color:var(--sage);border-color:var(--ink)}
.site-header{position:relative;z-index:10;height:86px;padding:0 max(5%,calc((100vw - 1168px)/2));display:flex;align-items:center;justify-content:space-between;gap:35px;border-bottom:1px solid #dce0d6bb;background:#f7f7f2ed;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.brand{display:inline-flex;flex-direction:column;align-items:center;font-family:var(--script);font-size:47px;line-height:.85;letter-spacing:-1px;white-space:nowrap}.brand span{margin:10px 0 0 5px;font:500 7px/1 var(--sans);letter-spacing:3px}.site-header nav{display:flex;gap:29px;align-items:center;font-size:10px}.site-header nav>a{position:relative;padding:6px 0}.site-header nav>a:not(.nav-contact)::after{content:'';position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--sage);transition:right .25s}.site-header nav>a:hover::after,.site-header nav>a[aria-current=location]::after{right:0}.site-header nav>.nav-contact{margin-left:10px;padding:11px 21px;background:var(--ink);color:var(--paper);border-radius:6px;transition:background .25s}.site-header .nav-contact:hover{background:var(--sage)}.menu-toggle{display:none}.scroll-progress{position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--sage);transform:scaleX(var(--scroll-progress,0));transform-origin:left;pointer-events:none}
.hero{padding-top:56px;padding-bottom:64px}.hero-copy{text-align:center;max-width:850px;margin:auto;animation:intro-enter .85s ease both}.hero-copy .eyebrow{font-size:8px;letter-spacing:2.3px}.hero-description{font-size:12px;color:var(--muted);line-height:1.85;margin-bottom:24px}.hero-actions{display:flex;justify-content:center;gap:14px}.hero-actions .button{min-width:192px}.hero-signature{display:block;font:45px/1 var(--script);color:var(--sage);margin:24px 0 29px}.hero-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.hero-frame{position:relative;aspect-ratio:1/1.09;border:5px solid #fff;border-radius:10px;overflow:hidden;box-shadow:var(--photo-shadow);background:var(--pale);animation:intro-enter .9s ease both}.hero-frame img{filter:saturate(.65);transition:transform .8s}.hero-frame:nth-child(2) img{object-position:43% center}.hero-frame:hover img{transform:scale(1.035)}.hero-frame::after{content:'';position:absolute;bottom:0;left:0;right:0;height:25%;background:linear-gradient(transparent,#1d28184d);pointer-events:none}.hero-frame>span{position:absolute;bottom:17px;left:0;right:0;text-align:center;z-index:1;font-size:7px;letter-spacing:2.4px;color:#fff}.hero-frame:nth-child(1){animation-delay:.12s}.hero-frame:nth-child(2){animation-delay:.22s}.hero-frame:nth-child(3){animation-delay:.32s}
.gallery-section{border-top:1px solid var(--line)}.filter-bar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin-bottom:30px}.filter{border:1px solid transparent;border-radius:50px;background:transparent;padding:9px 20px;font-size:10px;color:var(--muted);transition:background .25s,color .25s,border-color .25s}.filter:hover{color:var(--ink);border-color:var(--line)}.filter.active{color:var(--paper);background:var(--sage)}.filter small{font-size:7px;margin-left:5px;vertical-align:super}.filter-bar>span{width:100%;text-align:center;font-size:8px;color:var(--muted);margin-top:1px}.portfolio-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 22px;margin:0 auto}.portfolio-grid[data-count="1"]{grid-template-columns:minmax(0,1fr);max-width:360px}.portfolio-grid[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px}.portfolio-grid[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1040px}.photo-card{background:none;padding:0;text-align:center;min-width:0}.image-wrap{position:relative;aspect-ratio:4/5;border:4px solid #fff;border-radius:8px;overflow:hidden;background:var(--pale);box-shadow:var(--photo-shadow);transition:box-shadow .4s,transform .4s}.photo-card img{filter:saturate(.65);transition:transform .65s,filter .5s}.photo-card.monochrome img{filter:grayscale(1)}.photo-card:hover .image-wrap,.photo-card:focus-visible .image-wrap{transform:translateY(-5px);box-shadow:0 26px 48px -18px #24311e66,0 4px 12px #24311e12}.photo-card:hover img{transform:scale(1.035);filter:saturate(.85)}.photo-card.monochrome:hover img{filter:grayscale(1)}.photo-open{position:absolute;bottom:12px;right:12px;display:grid;place-items:center;width:33px;height:33px;border-radius:50%;color:var(--ink);background:#f7f7f2eb;opacity:0;transform:translateY(5px);transition:opacity .25s,transform .25s}.photo-open svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round}.photo-card:hover .photo-open,.photo-card:focus-visible .photo-open{opacity:1;transform:translateY(0)}.photo-caption{display:block;margin-top:15px}.photo-caption>span{display:block;font:24px/1.2 var(--serif);letter-spacing:-.3px}.photo-caption small{display:block;margin-top:7px;color:var(--muted);font-size:6.5px;letter-spacing:1.6px}.demo-caption{font-size:8px;color:var(--muted);text-align:center;line-height:1.8;margin:31px 0 0}
.pricing-section,.wedding-section{border-top:1px solid var(--line)}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}.price-card{display:flex;flex-direction:column;position:relative;padding:33px 29px 27px;border:1px solid var(--line);border-radius:10px;background:#fafaf7;box-shadow:0 9px 28px -20px #24311e40;transition:transform .35s,box-shadow .35s;min-width:0}.price-card.featured{border-color:#aab59f;background:var(--pale)}.price-card:hover,.price-card.in-view:hover{transform:translateY(-4px);box-shadow:0 18px 40px -20px #24311e47}.price-top-label{font-size:7px;letter-spacing:1.8px;color:var(--sage);margin-bottom:17px}.price-card h3{font-size:38px;margin-bottom:9px}.price-subtitle{font-size:10px;color:var(--muted);margin-bottom:24px;min-height:18px}.price-start{font-size:8px;color:var(--muted)}.price-amount{font:65px/1.2 var(--serif);letter-spacing:-2px}.price-amount span{font-size:30px;margin-left:7px}.price-divider{height:1px;background:var(--line);margin:22px 0}.price-duration{font-size:11px;font-weight:600;margin-bottom:5px}.price-images{font-size:11px;margin-bottom:20px;min-height:20px}.price-card ul{padding:0;list-style:none;margin:0 0 25px}.price-card li{position:relative;font-size:10px;color:#646d5b;line-height:1.7;padding-left:16px;margin-bottom:10px}.price-card li::before{content:'';position:absolute;left:0;top:7px;width:4px;height:4px;background:#8e9b82;border-radius:50%}.price-card .button{width:100%;margin-top:auto;padding:14px 12px;font-size:10px}.pricing-note{font-size:9px;max-width:680px;color:var(--muted);text-align:center;margin:27px auto 0}.custom-wedding{display:block;margin:20px auto 0}
.approach-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:54px;align-items:center;border-top:1px solid var(--line)}.approach-photo{aspect-ratio:1/1.05;border:5px solid #fff;border-radius:10px;overflow:hidden;box-shadow:var(--photo-shadow)}.approach-photo img{filter:saturate(.55);object-position:center 35%}.approach-copy{padding:0 6px}.approach-copy h2{font-size:56px}.approach-copy p:not(.eyebrow){font-size:12px;line-height:1.9;color:var(--muted);max-width:390px;margin-bottom:21px}.approach-copy .signature{margin-top:22px}.faq-section{border-top:1px solid var(--line)}.faq-list{max-width:790px;margin:auto}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:22px 0;font-size:11px;font-weight:500;line-height:1.6}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{position:relative;font-size:0;width:13px;height:13px;flex:none}.faq-list summary span::before,.faq-list summary span::after{content:'';position:absolute;height:1px;width:13px;top:6px;left:0;background:var(--sage);transition:transform .25s}.faq-list summary span::after{transform:rotate(90deg)}.faq-list details[open] summary span::after{transform:rotate(0)}.faq-list details p{max-width:700px;font-size:11px;color:var(--muted);padding:0 25px 10px 0;animation:faq-enter .3s ease both}
.contact-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:54px;border-top:1px solid var(--line);padding-top:68px;padding-bottom:76px}.contact-intro h2{font-size:73px;margin-bottom:24px}.contact-intro .signature{font-size:58px;margin:0 0 29px}.contact-intro>p:not(.eyebrow){font-size:12px;color:var(--muted);max-width:345px;margin-bottom:26px}.instagram-link{display:inline-flex;align-items:center;gap:13px;padding-bottom:8px;border-bottom:1px solid #cdd5c5;font-size:12px}.contact-intro .contact-location{margin-top:25px;font-size:10px;line-height:1.8}.contact-form-area{padding:27px 29px;border:1px solid var(--line);background:#fafaf7;border-radius:10px;box-shadow:0 9px 28px -20px #24311e40}.contact-form-area .eyebrow{margin-bottom:13px}.form-description{font-size:11px;color:var(--muted);margin-bottom:28px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}form label{display:block;font-size:10px;font-weight:500;margin-bottom:22px}form label>span{color:var(--sage)}input,select,textarea{width:100%;border:0;border-bottom:1px solid #cdd3c5;background:transparent;padding:12px 0;border-radius:0;font-size:11px;color:var(--ink);min-height:46px;outline-offset:4px}input::placeholder,textarea::placeholder{color:#858c7d;font-size:10px}textarea{resize:vertical;line-height:1.8;min-height:105px}select{cursor:pointer;text-overflow:ellipsis;padding-right:20px}form .button{width:100%;margin-top:2px}.form-note{font-size:8px;color:var(--muted);margin:16px 0 0;line-height:1.9}.message-ready h3{font-size:38px;margin-bottom:20px}.message-ready textarea{padding:13px;border:1px solid var(--line);border-radius:5px;background:var(--paper);font-size:10px}.message-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.message-actions .button{font-size:10px;padding:13px 17px;flex:1;white-space:nowrap}.copy-status{font-size:9px;color:var(--muted);margin-top:17px}.message-ready>.text-link{margin-top:9px;font-size:10px}
.site-footer{max-width:1280px;margin:auto;padding:40px 56px 25px;border-top:1px solid var(--line)}.footer-top{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:20px;padding-bottom:30px}.footer-brand{justify-self:start}.footer-top>p{text-align:center;font:25px/1.2 var(--serif);color:var(--muted);margin:0}.footer-top .text-link{justify-self:end;font-size:10px}.footer-bottom{border-top:1px solid var(--line);padding-top:18px;display:flex;align-items:center;gap:24px;font-size:8px;color:var(--muted)}.footer-bottom>span:nth-child(2){margin-left:auto;font-size:7px;letter-spacing:1.2px}.footer-bottom>button{background:none;padding:0;font-size:8px;color:var(--muted)}.footer-bottom>a{font-size:8px;padding-bottom:1px;border-bottom:1px solid #c6cdbf}
.lightbox{background:#1d211e;color:var(--paper);border:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:60px 9%;overflow:hidden}.lightbox::backdrop{background:#1d211ef2}.lightbox figure{margin:0;display:flex;flex-direction:column;height:100%;justify-content:center}.lightbox figure>img{object-fit:contain;min-height:0;max-height:calc(100% - 42px)}.lightbox figure>img.monochrome{filter:grayscale(1)}.lightbox figcaption{display:flex;justify-content:space-between;gap:20px;font-size:10px;margin-top:20px}.lightbox-close,.lightbox-prev,.lightbox-next{background:#f7f7f20d;border:1px solid #f7f7f230;border-radius:50%;color:var(--paper);position:absolute;width:43px;height:43px;display:grid;place-items:center;transition:background .25s}.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{background:#f7f7f226}.lightbox-close svg,.lightbox-prev svg,.lightbox-next svg,.info-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.lightbox-close{top:17px;right:20px}.lightbox-prev{top:calc(50% - 21px);left:20px}.lightbox-next{top:calc(50% - 21px);right:20px}.info-dialog{background:var(--paper);color:var(--ink);width:560px;max-width:calc(100vw - 40px);max-height:calc(100dvh - 50px);padding:45px 40px;border:0;border-radius:10px;box-shadow:0 20px 90px #0004}.info-dialog::backdrop{background:#1c251d99}.info-dialog h2{font-size:48px}.info-dialog p:not(.eyebrow){font-size:11px;color:var(--muted)}.info-close{position:absolute;top:13px;right:15px;background:transparent;width:34px;height:34px;display:grid;place-items:center}.info-dialog .button{margin-top:13px}.noscript-message{text-align:center;padding:20px}
/* Progressive reveal, with an accessible reduced-motion alternative. */
.reveal.will-reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease var(--delay,0ms),transform .7s cubic-bezier(.2,.6,.2,1) var(--delay,0ms)}.reveal.will-reveal.in-view{opacity:1;transform:translateY(0)}
@keyframes intro-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes faq-enter{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.section{padding-left:38px;padding-right:38px}.site-header{padding:0 4%}.site-header nav{gap:23px}.hero-images{gap:20px}.pricing-grid{gap:18px}.price-card{padding:29px 22px 24px}.price-card h3{font-size:33px}.approach-section,.contact-layout{gap:38px}.approach-copy h2{font-size:49px}.contact-form-area{padding:26px 23px}.site-footer{padding-left:38px;padding-right:38px}}
@media(max-width:800px){html{scroll-padding-top:24px}.site-header{height:76px;padding:0 5%}.brand{font-size:44px}.brand span{font-size:6px;letter-spacing:2.8px}.site-header nav{display:none;position:absolute;top:76px;left:0;right:0;z-index:5;padding:24px 6% 28px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 16px 20px #24311e0d}.site-header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:12px}.site-header nav>a{font-size:12px;padding:7px 0}.site-header nav>.nav-contact{margin:5px 0 0;text-align:center;padding:13px}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:43px;height:43px;background:none}.menu-toggle span{width:24px;height:1px;background:var(--ink);transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.section{padding:58px 30px}.hero{padding-top:43px}.hero h1{font-size:66px}.hero-frame{aspect-ratio:3/4;border-width:4px}.hero-images{gap:17px}.hero-frame>span{font-size:6px;letter-spacing:1.5px;bottom:14px}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px}.price-card{padding:25px 16px 21px}.pricing-grid{gap:13px}.price-card h3{font-size:28px}.price-subtitle{font-size:9px;min-height:32px}.price-amount{font-size:54px}.price-images,.price-duration{font-size:9px}.price-card li{font-size:9px;padding-left:13px}.price-card .button{font-size:9px;padding:13px 7px}.approach-section,.contact-layout{gap:30px}.approach-copy h2{font-size:43px}.approach-copy p:not(.eyebrow){font-size:11px}.contact-intro h2{font-size:59px}.contact-intro>p:not(.eyebrow){font-size:11px}.contact-form-area{padding:24px 21px}.form-row{grid-template-columns:1fr;gap:0}.footer-top>p{font-size:21px}.site-footer{padding:35px 30px 24px}.footer-bottom>span:nth-child(2){display:none}.footer-bottom>button{margin-left:auto}}
@media(max-width:600px){.section{padding:47px 6%}.section-heading{margin-bottom:29px}.eyebrow{font-size:7px;letter-spacing:1.7px;margin-bottom:16px}h2{font-size:45px}.section-heading>p:last-child{font-size:11px}.hero{padding-top:35px;padding-bottom:44px}.hero-copy .eyebrow{font-size:6.5px;letter-spacing:1.6px}.hero h1{font-size:57px;max-width:350px;margin-left:auto;margin-right:auto}.hero-description{font-size:10px;margin-bottom:22px}.hero-actions{gap:9px}.hero-actions .button{min-width:0;padding:12px 9px;font-size:9px;flex:1;min-height:46px}.hero-signature{font-size:38px;margin:20px 0 26px}.hero-images{gap:10px}.hero-frame{aspect-ratio:2/3;border-width:3px;border-radius:7px;box-shadow:0 13px 26px -13px #24311e55}.hero-frame>span{font-size:5px;letter-spacing:.85px;bottom:10px}.filter-bar{gap:5px;margin-bottom:25px}.filter{font-size:8px;padding:8px 12px}.filter small{display:none}.filter-bar>span{font-size:7px;margin-top:7px}.portfolio-grid{gap:25px 15px}.portfolio-grid[data-count="3"]{grid-template-columns:1fr;max-width:330px}.image-wrap{border-width:3px;border-radius:7px}.photo-caption{margin-top:12px}.photo-caption>span{font-size:22px}.photo-caption small{font-size:5.5px;letter-spacing:1.3px;margin-top:5px}.photo-open{width:27px;height:27px;bottom:9px;right:9px}.photo-open svg{width:13px;height:13px}.demo-caption{font-size:7px;margin-top:25px}.pricing-grid{grid-template-columns:1fr;gap:18px}.price-card{padding:28px 28px 24px}.price-card h3{font-size:39px}.price-subtitle{font-size:10px;min-height:0;margin-bottom:20px}.price-amount{font-size:65px}.price-duration,.price-images{font-size:10px}.price-card li{font-size:10px;padding-left:16px}.price-card .button{font-size:10px;padding:14px 16px}.price-card ul{margin-bottom:22px}.pricing-note{font-size:8px;margin-top:23px}.custom-wedding{font-size:10px}.approach-section{grid-template-columns:1fr;gap:30px}.approach-photo{width:100%;aspect-ratio:5/4}.approach-copy{padding:0;text-align:center}.approach-copy h2{font-size:48px}.approach-copy p:not(.eyebrow){font-size:11px;max-width:none}.approach-copy .signature{margin-top:20px}.faq-list summary{font-size:10px;padding:21px 0;gap:18px}.faq-list details p{font-size:10px}.contact-layout{grid-template-columns:1fr;gap:30px}.contact-intro{text-align:center}.contact-intro h2{font-size:67px}.contact-intro .signature{font-size:54px;margin-bottom:24px}.contact-intro>p:not(.eyebrow){margin-left:auto;margin-right:auto}.contact-intro .contact-location{margin-top:19px;margin-bottom:0}.contact-form-area{padding:26px 23px}.form-row{grid-template-columns:1fr;gap:0}form label{font-size:9px;margin-bottom:21px}input,select,textarea{font-size:16px}input::placeholder,textarea::placeholder{font-size:10px}select{font-size:16px}.message-actions .button{padding:12px;font-size:9px}.site-footer{padding:32px 6% 22px}.footer-top{grid-template-columns:1fr;gap:22px;padding-bottom:26px;text-align:center}.footer-brand,.footer-top .text-link{justify-self:center}.footer-top>p{font-size:24px}.footer-bottom{justify-content:center;gap:12px 20px;flex-wrap:wrap;font-size:7px}.footer-bottom>button{margin-left:0;font-size:7px}.footer-bottom>a{font-size:7px}.lightbox{padding:65px 11%}.lightbox-close{top:13px;right:13px}.lightbox-prev,.lightbox-next{width:33px;height:33px;border-color:transparent;background:none}.lightbox-prev{left:1px}.lightbox-next{right:1px}.lightbox figcaption{font-size:8px}.info-dialog{padding:36px 25px}.info-dialog h2{font-size:44px}.info-dialog p:not(.eyebrow){font-size:10px}}
@media(hover:none){.photo-open{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal.will-reveal{opacity:1;transform:none}.photo-card:hover .image-wrap,.price-card:hover,.price-card.in-view:hover{transform:none}}
/* A swipeable strip in the existing hero, with shadows kept inside its padding. */
.hero-carousel{min-width:0}.carousel-track{--carousel-gap:25px;display:flex;gap:var(--carousel-gap);width:calc(100% + 36px);margin:0 -18px;padding:12px 18px 30px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:18px;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain}.carousel-track::-webkit-scrollbar{display:none}.carousel-track>.hero-frame{flex:0 0 calc((100% - 50px)/3);scroll-snap-align:start;scroll-snap-stop:always;padding:0;cursor:zoom-in;animation:none;aspect-ratio:1/1.09}.carousel-track .hero-frame.monochrome img{filter:grayscale(1)}.carousel-toolbar{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:6px}.carousel-control{width:40px;height:40px;flex:none;display:grid;place-items:center;border:1px solid #cbd3c3;border-radius:50%;background:transparent;color:var(--sage);transition:background .2s,border-color .2s}.carousel-control:hover{background:var(--pale);border-color:var(--sage)}.carousel-control svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.carousel-dots{display:flex;gap:1px;align-items:center}.carousel-dot{width:23px;height:32px;padding:0;background:none;display:grid;place-items:center}.carousel-dot::before{content:'';width:5px;height:5px;border-radius:50%;background:#c9d1c1;transition:background .25s,transform .25s}.carousel-dot[aria-current=true]::before{background:var(--sage);transform:scale(1.4)}.carousel-divider{width:1px;height:17px;background:var(--line);margin:0 3px}.carousel-play{display:flex;align-items:center;gap:7px;background:none;color:var(--muted);padding:7px 0;font-size:9px;min-height:40px}.carousel-play svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.carousel-play:disabled{cursor:default;opacity:.6}.carousel-status{font-size:8px;color:var(--muted);font-variant-numeric:tabular-nums;min-width:38px}
@media(max-width:1000px){.carousel-track{--carousel-gap:20px}.carousel-track>.hero-frame{flex-basis:calc((100% - 40px)/3)}}
@media(max-width:800px){.carousel-track{--carousel-gap:20px}.carousel-track>.hero-frame{flex-basis:calc((100% - 20px)/2);aspect-ratio:3/4}.carousel-toolbar{gap:12px}.carousel-dot{width:20px}}
@media(max-width:600px){.carousel-track{--carousel-gap:18px}.carousel-track>.hero-frame{flex-basis:100%;aspect-ratio:4/5;border-width:4px;border-radius:9px;box-shadow:var(--photo-shadow)}.carousel-track .hero-frame>span{font-size:7px;letter-spacing:2px;bottom:17px}.carousel-toolbar{gap:8px;flex-wrap:wrap}.carousel-control{width:35px;height:35px}.carousel-dots{gap:0}.carousel-dot{width:20px;height:34px}.carousel-divider{margin:0}.carousel-play{font-size:8px;gap:5px}.carousel-status{display:none}}
@media(prefers-reduced-motion:reduce){.carousel-track{scroll-behavior:auto}.carousel-dot::before{transition:none}}
