:root{--paper:#f8f4ed;--ivory:#fffcf7;--ink:#423a31;--muted:#766858;--gold:#967b4f;--line:#d8c9ad;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.8}html[lang=hy]{--serif:Sylfaen,Georgia,serif;--sans:Arial,Sylfaen,sans-serif}button,input,select{font:inherit}button,a,select,input{-webkit-tap-highlight-color:transparent}a{color:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #88652e;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.2}h2{font-size:clamp(2.2rem,4.5vw,4rem);text-wrap:balance}address{font-style:normal;color:var(--muted)}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:10px;z-index:20;background:white;padding:10px}.skip-link:focus{top:8px}.language-bar{position:fixed;top:0;inset-inline:0;height:70px;z-index:10;padding:10px clamp(18px,4vw,64px);display:flex;justify-content:space-between;align-items:center;background:rgba(248,244,237,.95);border-bottom:1px solid #d8c9ad66;backdrop-filter:blur(12px)}.monogram{text-decoration:none;font-family:var(--serif);font-size:28px;line-height:1}.monogram span{font-size:13px;margin-left:3px;color:var(--gold)}nav{display:flex;gap:5px;align-items:center}nav span{color:#bba887}nav button{background:none;border:0;color:var(--muted);font-size:13px;letter-spacing:.08em;min-width:44px;min-height:44px}nav button[aria-pressed=true]{color:var(--ink);text-decoration:underline;text-underline-offset:7px;text-decoration-color:var(--gold)}.hero{min-height:760px;min-height:100svh;position:relative;display:grid;place-items:center;text-align:center;padding:145px 28px 140px;background:radial-gradient(ellipse at 50% 40%,#f6efe0 0%,#e4d7c0 62%,#c8b595 100%);isolation:isolate}.hero.has-photo{color:white;background:#453e34}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3}.hero.has-photo:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#241c1220,#241c1210 25%,#241c1270 65%,#241c1290);z-index:-2}.hero-frame{position:absolute;inset:91px 22px 26px;border:1px solid #967b4f66;pointer-events:none}.has-photo .hero-frame{border-color:#f8f4ed66}.hero-content{max-width:900px;animation:arrive 1.2s both}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:12px;line-height:1.8;color:var(--muted);font-weight:400}.hero .eyebrow{color:inherit;letter-spacing:.28em;font-size:14px}.hero h1{font-size:clamp(4.1rem,10vw,9rem);letter-spacing:-.045em;line-height:1.06;margin:30px 0 16px}.heart-rule{display:flex;align-items:center;justify-content:center;gap:20px;margin:24px 0;color:var(--gold)}.heart-rule:before,.heart-rule:after{content:'';height:1px;width:58px;background:currentColor;opacity:.55}.heart-rule span{font-size:24px}.hero-intro{max-width:380px;margin:auto;font-size:16px;line-height:1.9}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 27px;text-decoration:none;font-size:14px;letter-spacing:.035em;line-height:1.5;text-align:center;border:1px solid var(--gold);transition:background .25s,transform .25s,box-shadow .25s}.hero-button{margin-top:35px;background:var(--ivory);color:var(--ink);box-shadow:0 5px 25px #4937130a}.button:hover{transform:translateY(-2px);box-shadow:0 6px 22px #5c452015;background:#eee5d6}.has-photo .heart-rule{color:#efdfc0}.scroll-cue{position:absolute;bottom:43px;text-decoration:none;display:flex;align-items:center;flex-direction:column;gap:15px;font-size:11px;letter-spacing:.25em;padding:5px 25px}.scroll-cue i{height:26px;width:1px;background:currentColor;opacity:.6}.section{padding:100px 24px}.welcome{text-align:center;max-width:900px;margin:auto;padding-top:116px;padding-bottom:110px}.welcome h2{max-width:760px;margin:22px auto}.serif-subtitle{font-family:var(--serif);font-style:italic;font-size:clamp(1.7rem,3vw,2.3rem);color:var(--gold)}.ornament{display:flex;align-items:center;justify-content:center;gap:24px;color:var(--gold);margin:36px auto;font-size:18px}.ornament:before,.ornament:after{content:'';background:var(--line);height:1px;width:60px}.date-line{font-size:13px;letter-spacing:.12em;margin-top:20px;color:var(--muted)}.story{background:var(--ivory);display:grid;grid-template-columns:1fr 1.35fr;gap:80px;padding-inline:max(24px,calc((100vw - 1040px)/2))}.story-heading h2{margin-top:20px}.small-heart{display:block;font-family:var(--serif);font-size:34px;color:var(--gold);margin-top:26px}.story-copy{max-width:580px}.story-copy p{margin-bottom:23px}.story-copy p:first-child{font-family:var(--serif);font-size:25px;line-height:1.6}.story-copy p:nth-child(6){font-family:var(--serif);font-size:28px;color:var(--gold);line-height:1.5;margin-block:35px}.story-copy p:last-child{margin-bottom:0}.timeline-section{text-align:center}.timeline-section h2{margin-top:18px}.timeline{list-style:none;margin:60px auto 25px;padding:0;max-width:600px;position:relative}.timeline:before{content:'';position:absolute;left:50%;top:12px;bottom:30px;width:1px;background:var(--line)}.timeline li{position:relative;width:50%;text-align:right;padding:0 42px 48px 0}.timeline li:nth-child(even){margin-left:50%;text-align:left;padding:0 0 48px 42px}.timeline li:after{content:'';position:absolute;right:-4px;top:10px;width:7px;height:7px;background:var(--gold);transform:rotate(45deg);box-shadow:0 0 0 7px var(--paper)}.timeline li:nth-child(even):after{left:-3px;right:auto}.timeline time{font-size:12px;color:var(--muted);letter-spacing:.12em}.timeline h3{font-size:24px;margin-top:8px}.timeline-end{font-family:var(--serif);font-size:35px;font-style:italic}.timeline-section>.small-heart{margin-top:8px}.event-section{background:#eee6d9;text-align:center}.event-card{max-width:650px;margin:auto;background:var(--ivory);border:1px solid var(--line);padding:55px 35px;outline:1px solid var(--line);outline-offset:-12px;box-shadow:0 20px 60px #56452608}.event-card h2{margin:15px 0 24px;font-size:29px}.event-card h2 span{display:block}.event-card .day{font-size:100px;line-height:1.1}.event-time{display:flex;justify-content:center;align-items:center;gap:22px;margin-bottom:27px;font-size:21px;font-family:var(--serif)}.fine-line{height:1px;width:38px;background:var(--line)}.event-card h3{font-size:28px;margin-bottom:10px}.event-card>p:last-child{max-width:330px;margin:28px auto 0;font-size:15px;color:var(--muted)}.countdown-wrap{margin:65px auto 0;max-width:540px}.countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:25px}.countdown>div+div{border-left:1px solid var(--line)}.countdown span{display:block;font:clamp(2rem,5vw,3.6rem)/1.2 var(--serif);font-variant-numeric:tabular-nums}.countdown small{display:block;text-transform:uppercase;font-size:10px;letter-spacing:.1em;margin-top:12px;color:var(--muted)}#started{margin-top:25px}.directions{text-align:center;background:var(--ivory)}.location-icon{font-size:37px;color:var(--gold)}.directions h2{margin:16px 0 25px}.directions>p:not(.eyebrow){font-family:var(--serif);font-size:24px}.map-buttons{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:34px}.outline{background:transparent;min-width:210px}.rsvp-section{text-align:center;max-width:750px;margin:auto}.rsvp-section h2{margin:20px auto 25px}.rsvp-intro{max-width:510px;margin:auto}.deadline{color:var(--muted);font-size:14px;margin-top:18px}form{max-width:510px;margin:40px auto 28px;text-align:left}fieldset{border:0;padding:0;margin:0}legend,#guest-field>label{display:block;font-size:14px;margin-bottom:12px}.choices{display:grid;gap:12px}.choices label{display:flex;align-items:center;gap:12px;min-height:56px;padding:14px 16px;border:1px solid var(--line);cursor:pointer;background:#fffcf766}.choices label:has(input:checked){border-color:var(--gold);background:#eee5d6}.choices input{accent-color:#826944;width:18px;height:18px;flex-shrink:0}.choices span{font-size:14px}#guest-field{margin-top:24px}select{width:100%;min-height:52px;border:1px solid var(--line);border-radius:0;padding:10px 16px;background:var(--ivory);color:var(--ink)}.send-button{width:100%;margin-top:25px;background:#77603d;color:white;border-color:#77603d}.send-button:hover{background:#625031}.sms-note{text-align:center;font-size:12px;line-height:1.7;color:var(--muted);margin:13px auto 0;max-width:380px}.phone{display:flex;flex-direction:column;align-items:center;font-size:13px;color:var(--muted)}.phone>a{font-family:var(--serif);font-size:25px;color:var(--ink);text-decoration:none;min-height:44px}.phone button{border:0;background:none;text-decoration:underline;text-underline-offset:4px;color:var(--muted);font-size:12px;min-height:44px}.phone [role=status]{min-height:24px}.closing{background:#eae1d2;text-align:center;padding-bottom:45px}.closing .ornament{margin-top:0}.closing blockquote{font-family:var(--serif);font-size:clamp(1.8rem,3.5vw,2.9rem);font-style:italic;line-height:1.5;max-width:850px;margin:0 auto 30px;text-wrap:balance}.closing>p:not(.signature){font-size:14px}.closing .with-love{margin-top:50px;font-style:italic}.signature{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.2rem);margin-top:8px}.footer-date{margin-top:70px;font-size:11px!important;letter-spacing:.24em;color:var(--muted)}.reveal{opacity:1}.motion .reveal{opacity:0;transform:translateY(20px);transition:opacity .8s,transform .8s}.motion .reveal.visible{opacity:1;transform:none}.language-fade{animation:languageFade .35s ease}.opened .hero-content{transition:opacity .5s;opacity:.7}html[lang=hy] .eyebrow{letter-spacing:.07em}html[lang=hy] .hero h1{font-size:clamp(3.3rem,8vw,7rem);line-height:1.3}html[lang=hy] .countdown small{letter-spacing:0;font-size:11px}@keyframes arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@keyframes languageFade{from{opacity:.55}to{opacity:1}}@media(max-width:700px){.section{padding:76px 24px}.hero{padding-inline:30px}.hero-frame{inset:86px 14px 18px}.hero h1{font-size:clamp(3.6rem,14vw,5.8rem)}.hero .eyebrow{font-size:12px;letter-spacing:.16em}.hero-intro{font-size:15px;max-width:290px}.story{grid-template-columns:1fr;gap:35px}.story-heading{text-align:center}.story-heading .small-heart{margin-top:14px}.story-copy{max-width:540px;margin:auto}.story-copy p:first-child{font-size:24px}.timeline{margin-top:45px}.timeline li{padding-right:25px}.timeline li:nth-child(even){padding-left:25px}.timeline h3{font-size:20px}.timeline time{font-size:11px;letter-spacing:.035em}.event-card{padding:42px 22px}.event-card .day{font-size:85px}.event-card h3{font-size:25px}.countdown-wrap .eyebrow{font-size:11px;letter-spacing:.08em}.countdown small{font-size:9px;letter-spacing:.06em}.map-buttons{flex-direction:column;align-items:stretch;max-width:360px;margin-inline:auto}.closing blockquote{font-size:28px}.closing{padding-bottom:35px}html[lang=hy] h2{font-size:clamp(1.9rem,7.8vw,2.6rem)}html[lang=hy] .hero h1{font-size:clamp(2.8rem,11vw,4.8rem)}html[lang=hy] .timeline h3{font-size:18px}html[lang=hy] .countdown small{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion .reveal{opacity:1;transform:none}}

/* Preserve the complete portrait, including every face, at every viewport ratio. */
.family-hero{grid-template-columns:1fr 1fr;padding:70px 0 0;gap:0;overflow:hidden}
.family-hero .hero-photo{position:relative;inset:auto;grid-column:2;grid-row:1;width:100%;height:100%;object-fit:contain;object-position:50% 50%;z-index:0}
.family-hero .hero-content{grid-column:1;grid-row:1;width:100%;padding:65px clamp(28px,4vw,70px) 140px}
.family-hero h1{font-size:clamp(4.1rem,7vw,8rem)}
.family-hero .hero-frame{z-index:1}
.family-hero .scroll-cue{left:25%;transform:translateX(-50%);white-space:nowrap}
html[lang=hy] .family-hero h1{font-size:clamp(3rem,5.5vw,6rem)}
@media(max-width:900px){
 .family-hero{grid-template-columns:1fr;min-height:0}
 .family-hero .hero-photo{grid-column:1;grid-row:1;height:auto;aspect-ratio:1122/1402;object-fit:cover;object-position:50% 50%}
 .family-hero .hero-content{grid-column:1;grid-row:2;max-width:700px;padding:55px 30px 140px}
 .family-hero h1{font-size:clamp(3.6rem,12vw,6rem)}
 .family-hero .scroll-cue{left:50%}
 html[lang=hy] .family-hero h1{font-size:clamp(2.8rem,9vw,5rem)}
}

/* Small wedding illustration and responsive venue map. */
.church-icon{display:block;width:28px;height:35px;margin:12px 0 0 auto;color:var(--gold)}
.map-frame{width:100%;max-width:1040px;margin:32px auto 0;border:1px solid var(--gold);padding:4px;background:var(--ivory)}
.location-map{display:block;width:100%;height:360px;border:0}
@media(max-width:700px){.location-map{height:300px}}

/* Warm October accents, preserving the invitation's existing layout. */
:root{--paper:#f8f3ec;--ivory:#fffcf7;--ink:#49392f;--muted:#796658;--gold:#96734e;--line:#dccbb5;--terracotta:#a5684e}
.hero{background:radial-gradient(ellipse at 50% 40%,#faf4e9 0%,#eadcca 65%,#d7bea1 100%)}
.language-bar{background:rgba(248,243,236,.95)}
.event-section{background:#efe5d8}.closing{background:#eee2d3}
.heart-rule,.small-heart,.ornament,.church-icon{color:var(--terracotta)}
.story-copy .story-quote{font-family:var(--serif);font-size:clamp(1.5rem,2.5vw,1.95rem);font-style:italic;line-height:1.65;color:#946347;margin-block:44px;padding-left:22px;border-left:1px solid #ba886660}
.closing .closing-lead{white-space:pre-line;font-family:var(--serif);font-size:clamp(1.8rem,3.5vw,2.9rem)!important;font-style:italic;line-height:1.5;max-width:850px;margin:0 auto 32px;text-wrap:balance}
.closing .closing-copy{max-width:650px;margin:0 auto;font-size:16px!important;line-height:1.95;text-wrap:pretty}
.closing .closing-thanks{margin-top:30px;white-space:pre-line}
.choosing-language,.viewing-photo{overflow:hidden}
.language-gate{min-height:100svh;display:grid;place-items:center;padding:54px 26px;position:relative;text-align:center;background:radial-gradient(ellipse at 50% 35%,#fffcf7 20%,#f0e4d5 100%);transition:opacity .45s;z-index:30}
.gate-frame{position:absolute;inset:18px;border:1px solid #b9966b66;pointer-events:none}.gate-content{max-width:560px;width:100%;animation:arrive 1s both}
.gate-monogram{font:64px/1 var(--serif);color:var(--gold);margin-bottom:36px}.gate-monogram span{font-size:24px;color:var(--terracotta);vertical-align:top}
.gate-family{font-family:Sylfaen,Georgia,serif;color:var(--muted);font-size:15px;margin-top:8px}.language-gate .ornament{margin-block:30px}
.language-gate h1{font-size:clamp(2.5rem,6vw,3.5rem)}.gate-subtitle{font-family:Sylfaen,Georgia,serif;color:var(--muted);font-size:21px;margin-top:10px}
.language-choices{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:36px auto 0;max-width:390px}
.language-choices button{border:1px solid var(--line);background:#fffcf7a8;padding:23px 12px;color:var(--ink);font-size:15px;transition:background .25s,border-color .25s,transform .25s}
.language-choices button span{display:block;font:30px/1.4 Georgia,serif;letter-spacing:.06em;margin-bottom:8px;color:var(--gold)}
.language-choices button:hover,.language-choices button[aria-pressed=true]{border-color:var(--gold);background:#f2e7d7}.language-choices button:hover{transform:translateY(-3px)}
.gate-date{font-size:11px;letter-spacing:.25em;color:var(--muted);margin-top:45px}
.family-portrait{padding:94px 24px 28px;background:linear-gradient(150deg,#fffaf3,#f2e5d5);text-align:center}
.family-portrait .hero-photo{position:static;display:block;width:auto;max-width:100%;height:auto;aspect-ratio:1122/1402;max-height:calc(100svh - 122px);margin:auto;object-fit:contain;object-position:50% 50%;z-index:auto;box-shadow:0 14px 45px #54321d13}
.welcome h1{font-size:clamp(2.2rem,4.5vw,4rem);text-wrap:balance;max-width:760px;margin:22px auto}
.welcome{padding-top:65px;padding-bottom:85px}
@media(max-width:700px){.family-portrait{padding:70px 0 0}.family-portrait .hero-photo{width:100%;max-height:none;box-shadow:none}.welcome{padding-top:58px;padding-bottom:65px}html[lang=hy] .welcome h1{font-size:clamp(1.9rem,7.8vw,2.6rem)}}
.language-gate.leaving{position:fixed;inset:0;opacity:0;pointer-events:none}.invitation-arrive{animation:arrive .65s both}
.gallery-section{background:var(--ivory);text-align:center}.gallery-intro{max-width:520px;margin:22px auto 45px;color:var(--muted)}
.gallery-grid{max-width:1040px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.gallery-item{position:relative;display:block;border:0;padding:0;width:100%;background:#eadcca;overflow:hidden;box-shadow:0 7px 25px #49392f0a}
.gallery-item:nth-child(even){margin-top:26px}.gallery-item img{display:block;width:100%;height:auto;object-fit:cover;transition:transform .6s}
.gallery-item:hover img{transform:scale(1.015)}.photo-expand{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:30px;height:30px;border:1px solid #ffffff85;color:white;background:#49392f55;font-size:17px}
@media(min-width:901px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gallery-item:nth-child(even){margin-top:0}.gallery-item:nth-child(2){margin-top:38px}.gallery-item:nth-child(4){grid-column:2;margin-top:0}}
.lightbox{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100%;max-height:none;padding:64px 56px 70px;border:0;background:rgba(29,22,18,.94);color:#fff;overflow:hidden}
.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox::backdrop{background:rgba(29,22,18,.85);backdrop-filter:blur(8px)}
#lightbox-image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;user-select:none}
.lightbox button{position:absolute;z-index:1;background:#ffffff0d;color:#fff;border:1px solid #ffffff40;width:46px;height:46px;display:grid;place-items:center;line-height:1;padding:0;font-family:Georgia,serif}
.lightbox-close{right:max(18px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top));font-size:30px}.lightbox-nav{top:50%;transform:translateY(-50%);font-size:36px}.lightbox-prev{left:8px}.lightbox-next{right:8px}
#lightbox-counter{position:absolute;pointer-events:none;bottom:max(20px,env(safe-area-inset-bottom));left:0;right:0;text-align:center;font-size:12px;letter-spacing:.2em;color:#ede1d2}
@media(max-width:700px){.gallery-grid{gap:12px}.gallery-intro{font-size:14px;margin-bottom:30px}.lightbox{padding:76px 12px 90px}.lightbox-nav{top:auto;bottom:15px;transform:none}.lightbox-prev{left:22px}.lightbox-next{right:22px}.story-copy .story-quote{padding-left:17px}.gate-frame{inset:12px}}

/* October dinner: ivory surfaces with terracotta, caramel and antique gold details. */
:root{--paper:#faf4ec;--ivory:#fffcf7;--ink:#4b3327;--muted:#806552;--gold:#ac7942;--line:#dec5a4;--terracotta:#ac5637;--caramel:#bc874b}
.language-gate{background:radial-gradient(ellipse at 14% 85%,#d6a56d24,transparent 52%),radial-gradient(ellipse at 90% 15%,#b55b3820,transparent 52%),linear-gradient(145deg,#fffcf7,#f3e6d4)}
.gate-monogram,.language-choices button span{color:var(--terracotta)}
.gate-frame{border-color:#b97a4b80}.ornament:before,.ornament:after{background:linear-gradient(90deg,var(--caramel),var(--terracotta))}
.eyebrow{color:#985735}.timeline:before{background:linear-gradient(var(--line),#be754a,var(--line))}.timeline li:after{background:var(--terracotta)}
.timeline time,.countdown small,.location-icon{color:#995332}.countdown span{color:#825036}.countdown>div+div{border-color:#c792665e}
.story-copy .story-quote{color:#9c5036;border-left-color:#b96c4770}.event-section{background:linear-gradient(135deg,#f1e5d4,#f7eee3 55%,#eed9c7)}
.event-card{border-color:#b88753;outline-color:#d7b590}.button{border-color:#b07849}.button:hover{background:#f0dcc6;border-color:var(--terracotta)}
.send-button{background:#975536;border-color:#975536}.send-button:hover{background:#7d432b;color:#fff}.choices label:has(input:checked){background:#f2e4d2;border-color:#b07849}.choices input{accent-color:#a15c3b}
.closing{background:linear-gradient(145deg,#f1e5d5,#ead5c0)}.closing .ornament,.closing .with-love{color:var(--terracotta)}
.gallery-section{background:radial-gradient(ellipse at 0% 45%,#c98b4920,transparent 52%),radial-gradient(ellipse at 100% 80%,#b25d3715,transparent 50%),var(--ivory)}
.gallery-section h2:after{content:'';display:block;width:44px;height:2px;background:linear-gradient(90deg,var(--caramel),var(--terracotta));margin:23px auto 0}
.carousel{max-width:540px;margin:auto;position:relative}
.carousel-stage{position:relative;aspect-ratio:3/4;background:#f1e6d8;border:1px solid #b88958;border-radius:3px;box-shadow:0 18px 45px #673b2117;overflow:hidden;touch-action:pan-y pinch-zoom}
.carousel .gallery-item{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:5px;opacity:0;visibility:hidden;pointer-events:none;background:transparent;box-shadow:none;transition:opacity 1s ease,visibility 1s;}
.carousel .gallery-item.active{opacity:1;visibility:visible;pointer-events:auto}
.carousel .gallery-item img{width:100%;height:100%;object-fit:contain;object-position:center;transform:none;filter:none;border-radius:1px}
.carousel .photo-expand{bottom:14px;right:14px}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}
.carousel-arrow{width:44px;height:44px;border:1px solid #b889585c;border-radius:50%;background:#fffaf380;color:#965437;font:30px/1 Georgia,serif;transition:background .25s,border-color .25s}
.carousel-arrow:hover{background:#efdbc4;border-color:#ab603e}.carousel-dots{display:flex;align-items:center;gap:0}.carousel-dot{display:grid;place-items:center;width:32px;height:44px;padding:0;border:0;background:transparent}
.carousel-dot span{width:7px;height:7px;border:1px solid #b47d4a;border-radius:50%;transition:background .3s,transform .3s}.carousel-dot[aria-current=true] span{background:var(--terracotta);border-color:var(--terracotta);transform:scale(1.2)}
.carousel-pause{font-size:11px;letter-spacing:.04em;color:#806552;min-height:44px;border:0;background:transparent;text-decoration:underline;text-underline-offset:4px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:700px){.gallery-section{padding-inline:16px}.carousel{max-width:480px}.carousel .gallery-item{padding:3px}.gallery-intro{padding-inline:8px}.carousel-controls{margin-top:12px}}
