/* Wedding albums: photographic editorial, warm paper, native navigation. */
.brides-page,.brides-lightbox{--brides-red:#a6292e;--brides-muted:#655e56;--brides-line:#d1c6b8;--brides-ease:cubic-bezier(.16,1,.3,1);color:var(--ink)}
.brides-shell{width:min(100% - 100px,1410px);margin-inline:auto}
.brides-page :is(h1,h2,h3,p,figure){margin:0}
.brides-page h2{font:400 clamp(38px,4vw,64px)/1.1 var(--serif);letter-spacing:-.04em}
.brides-page :is(h1,h2) em{font-weight:400;color:var(--brides-red)}
.brides-page p{font:400 16px/1.85 var(--sans);color:var(--brides-muted)}
.brides-page .brides-kicker{font:600 10px/1.7 var(--sans);text-transform:uppercase;letter-spacing:.13em;color:var(--brides-muted);margin-bottom:23px}
.brides-page img{display:block;max-width:100%;height:auto}
.brides-page a:focus-visible,.brides-page button:focus-visible,.brides-page :is(input,select):focus-visible,.brides-lightbox :is(a,button):focus-visible{outline:2px solid var(--brides-red);outline-offset:5px}
.brides-page [hidden],.brides-lightbox [hidden]{display:none!important}
.brides-page ::selection{background:#a6292e;color:#faf6ee}
.brides-text-link,.brides-button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:46px;font:600 12px/1.6 var(--sans);width:fit-content}
.brides-text-link{border-bottom:1px solid #ab9a87;padding:10px 0}
.brides-page a svg{display:block;width:24px;height:20px;flex-shrink:0}
.brides-text-link:hover{color:var(--brides-red);border-color:var(--brides-red)}
.brides-button{background:var(--brides-red);color:#faf6ee;padding:19px 26px;min-height:60px;font-size:11px;letter-spacing:.07em;text-transform:uppercase}
.brides-button:hover{background:#841c23}
.brides-cover{display:grid;grid-template-columns:1fr 1.2fr;gap:55px;position:relative;padding-block:64px 85px}
.brides-cover-copy{padding:15px 0 20px 25px}
.brides-cover h1{font:400 clamp(92px,10.6vw,158px)/.96 var(--serif);letter-spacing:-.04em;margin:30px 0 27px}
.brides-cover-copy>p:not(.brides-kicker){font-size:17px;line-height:1.8}
.brides-cover-copy>.brides-text-link{margin-top:24px}
.brides-cover-art{position:relative;padding:22px 0 135px;align-self:center}
.brides-cover-art>a{display:block;position:relative;overflow:hidden}
.brides-cover-art a>span{position:absolute;bottom:16px;left:20px;right:20px;display:flex;justify-content:space-between;color:#fff9ee;font:400 29px/1.2 var(--serif);text-shadow:0 1px 5px #211710}
.brides-cover-art a>span span{font-family:var(--sans);font-size:20px}
.brides-cover-wide{width:100%;aspect-ratio:1.5}
.brides-cover-wide img{width:100%;height:100%;object-fit:cover}
.brides-cover-art .brides-cover-wide>span{left:auto;gap:30px}
.brides-cover-art .brides-cover-small{position:absolute;width:30%;bottom:0;left:5%;border:7px solid var(--paper);aspect-ratio:2/3}
.brides-cover-small img{width:100%;height:100%;object-fit:cover}
.brides-cover-art .brides-cover-small>span{font-size:22px;left:10px;right:10px;bottom:12px}
.brides-cover-art .brides-cover-note{position:absolute;bottom:18px;right:13%;font:400 30px/1.15 var(--serif);letter-spacing:-.025em;color:var(--ink)}
.brides-cover-note em{color:var(--brides-red)}
.brides-thread{position:absolute;left:27%;top:3%;width:36%;height:auto;pointer-events:none;color:var(--brides-red)}
.brides-directory{padding-bottom:65px;scroll-margin-top:120px}
.brides-directory-head{border-top:1px solid var(--brides-line);padding-top:42px;display:flex;justify-content:space-between;align-items:end;gap:40px}
.brides-directory-head h2{font-size:50px}
.brides-directory-head .brides-kicker{margin-bottom:14px}
.brides-directory-head>p{font-size:14px}
.brides-tools{margin:32px 0 18px;display:grid;grid-template-columns:minmax(300px,1fr) minmax(145px,.34fr) minmax(170px,.4fr) auto auto;align-items:stretch;gap:0;padding:0;border-block:1px solid var(--brides-line);background:transparent}
.brides-tools label{display:block;font:600 9px/1.6 var(--sans);letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;color:#514940}
.brides-search-field{min-width:0;padding:17px 28px 15px 0}
.brides-search-field>div{position:relative}
.brides-search-field svg{position:absolute;width:19px;height:19px;left:0;top:12px;color:#756b60;pointer-events:none}
.brides-tools :is(input,select){height:43px;border:0;border-bottom:1px solid #a99d8f;background:transparent;color:var(--ink);width:100%;border-radius:0;font:400 16px/1.5 var(--sans);padding:9px 2px;min-width:0;transition:border-color .25s ease,background-color .25s ease}
.brides-tools :is(input,select):hover{border-color:#74685b}
.brides-tools :is(input,select):focus{border-color:var(--brides-red);background:#fff9f233;outline:0}
.brides-tools input{padding-left:31px}
.brides-tools input::placeholder{color:#746d65;opacity:1}
.brides-sort-field{min-width:0;padding:17px 24px 15px;border-left:1px solid var(--brides-line)}
.brides-search-submit{background:var(--brides-red);color:#faf6ee;min-width:142px;min-height:76px;display:flex;align-items:center;justify-content:space-between;align-self:stretch;gap:22px;padding:14px 20px;margin-left:24px;font:600 11px/1.5 var(--sans);border:0;cursor:pointer;white-space:nowrap;transition:background-color .25s ease,transform .2s ease}
.brides-search-submit:hover{background:#841c23}
.brides-search-submit:active{transform:translateY(1px)}
.brides-search-submit svg{display:block;flex:none;width:23px;height:19px}
.brides-reset{font:500 10px/1.5 var(--sans);min-height:44px;display:inline-flex;align-items:center;align-self:center;text-decoration:none;border-bottom:1px solid #a99d8f;margin-left:20px;white-space:nowrap}
.brides-reset:hover{color:var(--brides-red);border-color:var(--brides-red)}
.brides-reset[hidden]{display:none!important}
.brides-directory-meta{display:flex;justify-content:space-between;align-items:center;padding:6px 0 24px}
.brides-directory-meta p,.brides-directory-meta>span{font:500 10px/1.5 var(--sans);letter-spacing:.06em;color:var(--brides-muted)}
.brides-directory-meta>span{text-transform:uppercase;font-size:9px}
.brides-grid{columns:4;column-gap:25px}
.bride-card{break-inside:avoid;page-break-inside:avoid;margin-bottom:35px;display:inline-block;width:100%;vertical-align:top}
.bride-card>a{display:block}
.bride-card-photo{position:relative;overflow:hidden;background:#e7dfd3}
.bride-card-photo img{width:100%;transition:transform .65s var(--brides-ease)}
.bride-card-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 2px 0;min-width:0}
.bride-card-caption>div{min-width:0}
.bride-card h3{font:400 36px/1.1 var(--serif);letter-spacing:-.035em}
.bride-card-caption div>span{display:block;font:400 9px/1.7 var(--sans);color:var(--brides-muted);margin-top:7px;letter-spacing:.015em}
.bride-card-arrow{display:grid;place-items:center;flex:none;width:28px;height:28px;font:400 22px/1 var(--sans);color:var(--brides-red);transition:transform .45s var(--brides-ease);overflow:hidden}
.bride-card-arrow svg{display:block;width:24px;height:24px}
.bride-card-open{display:flex;align-items:center;justify-content:space-between;position:absolute;bottom:12px;left:12px;right:12px;padding:13px 15px;background:#f7f4eff0;font:500 10px/1.5 var(--sans);transform:translateY(70px);transition:transform .5s var(--brides-ease)}
@media(hover:hover){.bride-card>a:hover img{transform:scale(1.035)}.bride-card>a:hover .bride-card-open{transform:translateY(0)}.bride-card>a:hover .bride-card-arrow{transform:translate(3px,-3px)}}
.bride-card>a:focus-visible .bride-card-open{transform:translateY(0)}
.brides-empty{padding:70px 25px;text-align:center;background:#eee9e0}
.brides-empty h3{font:400 38px/1.2 var(--serif);margin-bottom:20px}
.brides-empty .brides-text-link{margin-top:22px}
.brides-closing{background:#e9d8cd;padding:70px 0;text-align:center}
.brides-closing h2{font-size:clamp(45px,5.5vw,82px)}
.brides-closing .brides-shell>p:not(.brides-kicker){margin-top:27px}
.brides-closing-links{display:flex;align-items:center;justify-content:center;gap:40px;margin-top:30px}
.brides-closing .brides-source-note{font-size:10px!important;line-height:1.8!important;max-width:65ch;margin:42px auto 0!important}
.brides-source-note a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.album-breadcrumb{display:flex;align-items:center;gap:17px;font-size:10px;color:var(--brides-muted);padding-block:15px}
.album-breadcrumb a{display:flex;align-items:center;min-height:44px}
.album-cover{display:grid;grid-template-columns:1fr 1.25fr;gap:60px;padding-bottom:65px;align-items:center}
.album-cover-copy{padding:35px 0 35px 30px}
.album-cover-copy{container-type:inline-size;min-width:0}
.album-cover h1{font:400 clamp(75px,8.6vw,130px)/1.12 var(--serif);letter-spacing:-.04em;margin:35px 0 27px;overflow-wrap:anywhere}
.album-cover-copy>p:not(.brides-kicker){font:400 27px/1.35 var(--serif);color:var(--ink)}
.album-cover-copy>p em{color:var(--brides-muted)}
.album-facts{display:flex;flex-direction:column;gap:8px;margin:35px 0 25px;font:400 11px/1.7 var(--sans);color:var(--brides-muted)}
.album-cover-photo{position:relative;display:block;background:#e9e3d9;height:640px}
.album-cover-photo img{width:100%;height:100%;object-fit:contain}
.album-zoom{position:absolute;bottom:18px;right:18px;display:flex;align-items:center;gap:22px;min-height:44px;padding:10px 15px;background:#f7f4efed;color:var(--ink);font:500 10px/1.5 var(--sans)}
.album-zoom>span{font-size:19px}
.album-photos{padding-block:65px 35px;border-top:1px solid var(--brides-line);scroll-margin-top:110px}
.album-photo-heading{display:grid;grid-template-columns:1fr 1.6fr 1fr;gap:45px;align-items:start;margin-bottom:55px}
.album-photo-heading>p:not(.brides-kicker){font-size:13px;max-width:25ch;align-self:end;justify-self:end}
.album-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 35px;align-items:start;width:min(100%,1120px);margin:auto}
.album-photo-grid .album-photo:nth-child(even){padding-top:80px}
.album-photo-grid .album-photo-wide{grid-column:1/-1;padding-top:0}
.album-photo a{display:block;position:relative;background:#e9e3d9}
.album-photo img{width:100%;height:auto;object-fit:contain}
.album-photo figcaption{display:flex;gap:15px;padding:15px 0;font:400 10px/1.6 var(--sans);color:var(--brides-muted)}
.album-photo-credit{border-top:1px solid var(--brides-line);margin-top:50px;padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.album-photo-credit p{font-size:11px}
.album-photo-credit a{display:flex;align-items:center;gap:22px;min-height:44px;font-size:11px}
.album-next{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:40px 100px 80px;align-items:center}
.album-next .brides-text-link{margin-top:25px}
.album-next-photo{height:340px;display:block;overflow:hidden}
.album-next-photo img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
.album-back{display:block;width:fit-content;min-height:44px;padding-top:20px;font-size:11px;color:var(--brides-muted)}
.album-invitation{padding:65px 25px;background:#ece1d5;text-align:center}
.album-invitation .brides-button{margin-top:32px}
.brides-lightbox{border:0;padding:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;background:#1e201c;color:#f7f4ef;overflow:hidden}
.brides-lightbox[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.brides-lightbox::backdrop{background:#1e201ce8}
.brides-lightbox :is(a,button):focus-visible{outline-color:#f1c4af}
.lightbox-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 30px;border-bottom:1px solid #ffffff25}
.lightbox-top h2{font:400 13px/1.7 var(--sans);margin:0;max-width:65ch}
.lightbox-top button{display:flex;align-items:center;gap:20px;background:transparent;border:0;color:inherit;min-width:90px;min-height:48px;padding:10px;font:500 11px/1.5 var(--sans);cursor:pointer}
.lightbox-top button span{font-size:30px;line-height:1}
.lightbox-stage{position:relative;min-height:0;display:grid;place-items:center;padding:20px 55px}
.lightbox-stage img{width:100%;height:100%;min-height:0;object-fit:contain}
.lightbox-stage>p{position:absolute;inset:auto 20px;text-align:center;font:400 14px/1.8 var(--sans);margin:0}
.lightbox-bottom{padding:12px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #ffffff25}
.lightbox-bottom>a{min-height:48px;display:flex;align-items:center;gap:9px;font:400 11px/1.5 var(--sans)}
.lightbox-bottom>div{display:flex;align-items:center;gap:20px}
.lightbox-bottom p{font:400 12px/1.5 var(--sans);min-width:55px;text-align:center;margin:0}
.lightbox-bottom button{width:52px;height:48px;border:1px solid #ffffff45;background:transparent;color:inherit;font-size:23px;cursor:pointer}
.lightbox-bottom button:hover{background:#ffffff15}
.brides-missing{padding-block:90px}
@media(max-width:1200px){.brides-shell{width:calc(100% - 64px)}.brides-cover{gap:30px;padding-block:55px 70px}.brides-cover-copy{padding-left:0}.brides-cover h1{font-size:110px}.brides-grid{columns:3}.brides-cover-art .brides-cover-note{right:8%;font-size:27px}.brides-tools{gap:18px;padding-inline:20px}.brides-sort-field{width:175px}.album-cover{gap:35px}.album-cover-copy{padding-left:0}.album-cover-photo{height:590px}.album-photo-heading{gap:30px}.album-next{padding-inline:55px;gap:45px}}
@media(max-width:850px){.brides-cover{grid-template-columns:.9fr 1.1fr;gap:25px}.brides-cover h1{font-size:88px}.brides-cover .brides-kicker{max-width:22ch;font-size:9px}.brides-cover-art{padding-bottom:95px}.brides-cover-art .brides-cover-note{font-size:22px;right:5%;bottom:0}.brides-cover-art .brides-cover-small{width:32%;left:0}.brides-thread{display:none}.brides-directory-head{align-items:start}.brides-directory-head h2{font-size:42px}.brides-directory-head>p{max-width:25ch;font-size:13px}.brides-grid{columns:2;column-gap:22px}.brides-tools{flex-wrap:wrap}.brides-search-field{flex:1;max-width:none}.brides-sort-field{width:190px}.brides-search-submit{width:145px;justify-content:space-between}.brides-reset{margin-left:0}.album-cover{grid-template-columns:.8fr 1.2fr;gap:25px}.album-cover h1{font-size:82px}.album-cover-photo{height:510px}.album-cover-copy>p:not(.brides-kicker){font-size:24px}.album-photo-heading{grid-template-columns:1fr 1fr}.album-photo-heading>.brides-kicker{grid-column:1/-1;margin-bottom:0}.album-next{padding-inline:15px}.album-next-photo{height:300px}}
@media(max-width:600px){.brides-shell{width:calc(100% - 40px)}.brides-page .brides-kicker{font-size:9px;margin-bottom:18px}.brides-cover{grid-template-columns:1fr;gap:27px;padding:32px 0 45px}.brides-cover-copy{padding:0;position:relative}.brides-cover .brides-kicker{max-width:none}.brides-cover h1{font-size:96px;margin:23px 0 25px}.brides-cover-copy>p:not(.brides-kicker){font-size:15px;max-width:27ch}.brides-cover-copy>.brides-text-link{margin-top:20px}.brides-cover-art{padding:0 0 90px;margin-top:5px}.brides-cover-art .brides-cover-small{width:30%;border-width:5px;left:6%}.brides-cover-art .brides-cover-note{font-size:25px;right:15%;bottom:5px}.brides-cover-art .brides-cover-small>span{font-size:17px;left:7px;bottom:7px}.brides-cover-art .brides-cover-small>span span{font-size:15px}.brides-directory{padding-bottom:35px;scroll-margin-top:95px}.brides-directory-head{display:block;padding-top:32px}.brides-directory-head h2{font-size:43px}.brides-directory-head>p{max-width:36ch;font-size:14px;margin-top:20px}.brides-tools{padding:18px 16px;gap:15px;margin-top:25px}.brides-search-field{flex:auto;width:100%}.brides-sort-field{width:100%}.brides-tools :is(input,select){font-size:16px}.brides-search-submit{width:135px}.brides-reset{margin-left:auto}.brides-directory-meta>span{display:none}.brides-directory-meta{padding-bottom:18px}.brides-grid{column-gap:17px}.bride-card{margin-bottom:25px}.bride-card h3{font-size:27px}.bride-card-caption{padding-top:12px;gap:5px}.bride-card-arrow{font-size:17px}.bride-card-caption div>span{font-size:9px;line-height:1.5;max-width:16ch}.bride-card-open{display:none}.brides-empty{padding:40px 20px}.brides-empty h3{font-size:32px}.brides-closing{padding:48px 0 40px}.brides-closing h2{font-size:42px}.brides-closing h2 br{display:none}.brides-closing p br{display:none}.brides-closing-links{flex-direction:column;gap:15px;margin-top:25px}.brides-closing .brides-source-note{margin-top:28px!important}.album-breadcrumb{padding-block:10px}.album-cover{grid-template-columns:1fr;gap:27px;padding-bottom:35px}.album-cover-copy{padding:15px 3px 0}.album-cover h1{font-size:96px;margin:28px 0 20px}.album-facts{margin-block:23px 15px}.album-cover-photo{height:510px}.album-cover-photo img{object-fit:contain}.album-photos{padding-top:37px;scroll-margin-top:95px}.album-photo-heading{display:block;margin-bottom:30px}.album-photo-heading h2{font-size:42px}.album-photo-heading>p:not(.brides-kicker){margin-top:20px;font-size:13px;max-width:none}.album-photo-grid{grid-template-columns:1fr;gap:25px}.album-photo-grid .album-photo:nth-child(even){padding-top:0}.album-photo-grid .album-photo-wide{grid-column:auto}.album-zoom{bottom:12px;right:12px}.album-photo-credit{display:block;margin-top:22px}.album-photo-credit a{margin-top:10px}.album-next{padding:25px 0 45px;gap:25px;grid-template-columns:1fr}.album-next h2{font-size:43px}.album-next-photo{height:340px}.album-invitation{padding:45px 20px}.album-invitation h2{font-size:43px}.album-invitation .brides-button{font-size:10px;gap:20px;padding-inline:18px}.lightbox-top{padding:9px 13px;gap:8px}.lightbox-top h2{font-size:10px;max-width:24ch}.lightbox-top button{gap:10px;min-width:75px;padding-right:0}.lightbox-stage{padding:12px 5px}.lightbox-bottom{padding:9px 12px;gap:8px}.lightbox-bottom>div{gap:8px}.lightbox-bottom button{width:44px;min-width:44px}.lightbox-bottom>a{font-size:9px;max-width:11ch}.lightbox-bottom p{min-width:40px}.lightbox-stage>p{font-size:13px}}
@media(max-width:360px){.brides-cover h1{font-size:85px}.bride-card h3{font-size:23px}.brides-cover-art .brides-cover-note{right:8%}.album-cover h1{font-size:77px}.album-cover-photo{height:435px}.brides-button{gap:20px}.brides-grid{column-gap:14px}}
@supports(font-size:1cqw){.album-cover h1{font-size:min(130px,25cqw);white-space:nowrap;overflow-wrap:normal}}

.bride-album .album-cover-photo,.bride-album .album-next-photo{height:auto;background:transparent;padding:0;border:0;align-self:center}
.bride-album .album-cover-photo img,.bride-album .album-next-photo img,.bride-album .album-photo img{display:block;width:100%;height:auto;object-fit:contain;transform:none}
.bride-album .album-photo a{background:transparent;padding:0;border:0}
.album-models{padding-block:0 48px}
.album-models h2{font:400 30px/1.3 var(--serif);letter-spacing:0;margin:0 0 18px}
.album-model-link{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--brides-line);padding-block:20px;min-height:64px}
.album-model-link>span:first-child{min-width:0}
.album-model-link>span:last-child{flex-shrink:0;color:var(--brides-red)}
.album-model-id{display:block;font:400 11px/1.5 var(--sans);letter-spacing:0;color:var(--brides-muted);margin-bottom:6px}
.album-model-name{display:block;font:400 23px/1.4 var(--serif);letter-spacing:0;overflow-wrap:anywhere}
.album-model-link:hover .album-model-name{color:var(--brides-red)}
.album-model-link:focus-visible{outline:2px solid var(--brides-red);outline-offset:4px}
@media(max-width:600px){.album-models{padding-bottom:30px}.album-models h2{font-size:26px}.album-model-name{font-size:21px}}
@media(prefers-reduced-motion:reduce){.brides-page *,.brides-lightbox *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Gallery finder: editorial controls without a boxed form treatment. */
body.dyona-site .brides-page .brides-tools{display:grid;gap:0;padding:0;background:transparent}
body.dyona-site .brides-page .brides-search-field,
body.dyona-site .brides-page .brides-sort-field{min-width:0;max-width:none;flex:none}
@media(max-width:1000px){
 body.dyona-site .brides-page .brides-tools{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}
 body.dyona-site .brides-page .brides-search-field{grid-column:1/-1;padding:17px 0 15px;border-bottom:1px solid var(--brides-line)}
 body.dyona-site .brides-page .brides-sort-field{width:auto;padding:15px 22px}
 body.dyona-site .brides-page .brides-search-field+.brides-sort-field{padding-left:0;border-left:0}
 body.dyona-site .brides-page .brides-search-submit{width:auto;min-height:70px;margin-left:20px}
 body.dyona-site .brides-page .brides-reset{grid-column:1/-1;justify-self:end;margin:0 0 13px}
}
@media(max-width:600px){
 body.dyona-site .brides-page .brides-tools{grid-template-columns:1fr;margin-top:25px;padding:0;gap:0}
 body.dyona-site .brides-page .brides-search-field{grid-column:auto;width:auto;padding:16px 0}
 body.dyona-site .brides-page .brides-sort-field{width:auto;padding:15px 0;border-left:0;border-bottom:1px solid var(--brides-line)}
 body.dyona-site .brides-page .brides-search-submit{width:100%;min-height:54px;margin:16px 0 0;padding:14px 18px}
 body.dyona-site .brides-page .brides-reset{grid-column:auto;justify-self:center;margin:8px 0 13px}
}
