@media(min-width:1700px){.hero-media{left:44%}.hero-content{max-width:700px}}
@media(max-width:1200px){.desktop-nav{gap:15px}.header-actions{gap:10px}.header-actions .text-link{display:none}.header-inner{gap:20px}.header-actions .btn{padding:10px 14px}.home-intro{grid-template-columns:1.2fr 1fr}.home-intro .stats{grid-column:1/-1}.experience{grid-template-columns:1.4fr 1fr}.experience-cards{grid-template-columns:repeat(2,1fr)}.hero .script{display:none}.partners{grid-template-columns:1fr 100px 1fr;gap:12px}.partner .partner-copy{padding:20px 14px}.partner h2{font-size:34px}.partner blockquote{font-size:17px}.studio-grid{grid-template-columns:175px minmax(0,1fr)}.studio-grid>.sidebar:last-child{grid-column:1/-1}.studio-grid .tool-grid{grid-template-columns:repeat(6,1fr)}.wizard-shell{grid-template-columns:190px minmax(0,1fr)}.wizard-shell>.sidebar{grid-column:2}.editor-layout{grid-template-columns:240px minmax(0,1fr)}.editor-layout>.sidebar{grid-column:1/-1}.mini-articles{grid-template-columns:repeat(2,1fr)}.g6{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.desktop-nav{display:none}.menu-toggle{display:inline-grid}.header-actions .demo-badge{display:none}.mobile-nav.open{display:flex;position:fixed;left:0;right:0;top:78px;background:var(--surface);padding:22px var(--gutter);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;max-height:calc(100dvh - 145px);overflow:auto}.mobile-nav a{padding:12px 15px;border-radius:8px;font-size:14px;border:1px solid var(--line)}.hero .hero-content{max-width:56%}.hero h1{font-size:47px}.hero p{font-size:14px}.feature-strip{padding:18px}.feature{padding-inline:10px;gap:10px}.feature .icon-circle{width:37px;height:37px}.feature h3{font-size:17px}.feature p{font-size:10px}.sidebar-layout{grid-template-columns:minmax(0,1fr) 270px}.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.partners{grid-template-columns:1fr}.partner{grid-template-columns:32% 1fr}.partner>img{min-height:240px;height:260px}.partner .partner-copy{padding:30px}.partner blockquote{font-size:22px}.love-divider{min-height:100px;background-size:auto 140px}.love-divider b{font-size:40px;line-height:1;letter-spacing:.12em}.love-divider b br{display:none}.love-divider span{margin-top:0}.story-intro{grid-template-columns:1fr}.rsvp-callout{grid-template-columns:1fr 1fr}.rsvp-callout>img{display:none}.profile-grid{grid-template-columns:1fr 1fr}.profile-grid>.stack:last-child{grid-column:1/-1}.personal-profile{grid-template-columns:140px 1fr 205px;gap:22px}.personal-profile .profile-photo{width:140px;height:140px}.personal-profile h1{font-size:43px}.personal-profile p{font-size:20px}.auth-visual{padding:35px}.auth-visual h1{font-size:40px}.auth-panel{padding:36px}.studio-options{grid-template-columns:1fr}.studio-option{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.studio-option .mini-invite{grid-column:2;grid-row:1/span 4;min-height:155px}.studio-option .btn{grid-column:1}.studio-option ul{margin:10px 0}.studio-option>.row{align-self:start}.invitation-layout{grid-template-columns:1fr}.invitation-paper{max-width:490px}.g3{gap:15px}.g3 .card-photo img{height:140px}.trust-row{grid-template-columns:1fr 1fr}.trust-row .logos{grid-column:1/-1}.footer-grid{gap:24px}.search-row select{width:120px}.mosaic{grid-auto-rows:150px}.mosaic .album h3{font-size:22px}.mosaic .album-title{left:12px;bottom:14px;right:12px}.help-links{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){:root{--gutter:20px}body{font-size:14px;padding-bottom:68px}.site-header{height:68px}.brand{min-width:108px}.brand b{font-size:33px}.brand small{font-size:7px}.header-actions>.btn{display:none}.header-actions{gap:10px}.header-actions .demo-badge{display:block}.mobile-nav.open{top:68px}.section{padding-block:29px}.section-lg{padding-block:36px}.section-head{gap:12px;align-items:center}.section-head h2{font-size:31px}.section-head .text-link{font-size:10px;flex-shrink:0;max-width:105px}.hero{min-height:560px;display:flex;flex-direction:column;justify-content:flex-end}.hero-media{inset:0 0 40% 0}.hero-media img{object-position:50% 25%;height:100%}.hero:before{background:linear-gradient(0deg,#30251d 0%,#30251d 32%,rgb(48 37 29/.3) 61%,transparent 80%)}.hero-content,.hero .hero-content,.hero-home .hero-content{max-width:none;min-height:0;padding:220px 0 35px}.hero h1{font-size:43px;max-width:450px}.hero p{font-size:14px;max-width:450px;margin-top:13px}.hero .eyebrow{margin-bottom:10px}.hero .row{margin-top:18px;gap:10px}.hero .btn{font-size:12px;padding:11px 16px}.hero-light:before{background:linear-gradient(0deg,var(--paper) 0%,var(--paper) 32%,rgb(251 248 243/.5) 62%,transparent 90%)}.hero-small{min-height:410px}.hero-small .hero-content{padding-top:170px}.hero-small .hero-media{bottom:35%}.hero-small h1{font-size:38px}.feature-strip{grid-template-columns:repeat(2,1fr);margin-top:-10px;padding:16px 10px;gap:18px 0}.feature{padding-inline:8px;gap:9px}.feature:nth-child(2){border:0}.feature h3{font-size:17px}.feature p{font-size:10px}.feature .icon-circle{width:33px;height:33px}.feature .icon{width:18px;height:18px}.home-intro{grid-template-columns:1fr;gap:20px}.home-intro h2{font-size:34px}.home-intro p{font-size:13px}.home-intro .stats{gap:10px;padding-top:10px}.home-intro .stats .stat b{font-size:29px}.g2,.g3{grid-template-columns:1fr}.g4,.g6{grid-template-columns:repeat(2,minmax(0,1fr))}.g3 .card-photo img,.card-photo img{height:190px}.card-body h3{font-size:26px}.card-body{padding:18px}.card .meta{font-size:11px}.experience{grid-template-columns:1fr;gap:25px}.experience-cards{gap:10px;margin-top:18px}.experience-cards article{padding:16px}.experience-cards h3{font-size:22px}.experience-cards p{font-size:12px}.devices{min-height:300px;max-width:400px;width:100%;margin-inline:auto}.trust-row{grid-template-columns:1fr 100px;gap:12px}.trust-row .quote{padding:18px}.trust-row .quote p{font-size:18px}.trust-row .logos{padding:18px 10px;gap:10px}.trust-row .logos span{font-size:17px}.mini-articles{grid-template-columns:1fr}.mini-article img{height:135px}.mini-article div{padding:16px}.mini-article h3{font-size:22px}.cta-banner .container{align-items:flex-start;flex-direction:column;gap:21px}.cta-banner .script{display:none}.cta-banner h2{font-size:35px}.cta-banner>img{object-position:65%}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:last-child{grid-column:1/-1}.footer-grid p{max-width:none;font-size:12px}.footer-grid h3{font-size:13px}.footer-grid li{font-size:12px}.footer-bottom{flex-direction:column;font-size:11px;gap:8px;padding-bottom:18px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:35;display:flex;background:rgb(255 253 250/.97);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:8px 9px max(9px,env(safe-area-inset-bottom));justify-content:space-around;transition:transform .2s}.bottom-nav a{font-size:9px;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--muted)}.bottom-nav a.active{color:var(--brand)}.bottom-nav a.center-item .icon{background:var(--brand);color:white;border-radius:50%;box-sizing:content-box;padding:8px;margin-top:-13px;border:4px solid var(--paper)}.bottom-nav.is-hidden:not(:focus-within){transform:translateY(100%)}.toast{bottom:80px}.sidebar-layout,.sidebar-layout.sidebar-left{grid-template-columns:1fr}.sidebar-layout>.sidebar{order:2}.sidebar-left>.sidebar{order:0}.sidebar-left>.sidebar .side-menu{display:flex;overflow:auto;padding:8px}.side-menu button,.side-menu a{width:auto;white-space:nowrap;border:0}.filter-bar{padding:14px;margin-top:-10px}.search-row{flex-wrap:wrap;gap:10px}.search-input{min-width:100%}.search-row select{flex:1;width:auto;min-width:0}.chips{flex-wrap:nowrap;overflow:auto;padding-bottom:7px;gap:7px}.chip{white-space:nowrap;flex-shrink:0;font-size:11px;padding:8px 13px}.feature-story{grid-template-columns:1fr;gap:20px;padding:14px}.feature-story>img{height:200px}.feature-story>div{padding:5px 6px 10px}.feature-story h2{font-size:34px}.tabs{margin-block:18px;padding:4px}.tabs a,.tabs button{font-size:11px;flex:none;padding:11px 14px}.tabs .icon{width:17px}.status-strip{gap:15px;margin:0;border-radius:0;padding:15px}.status-strip>div{gap:7px;font-size:10px}.status-strip>.extra{display:none}.partner{grid-template-columns:42% 58%}.partner>img{min-height:300px;height:100%;object-position:50% 25%}.partner .partner-copy{padding:22px 13px}.partner h2{font-size:31px}.partner blockquote{font-size:18px;line-height:1.4}.partner .eyebrow{font-size:7px;letter-spacing:.12em}.love-divider{min-height:100px}.story-intro{gap:24px}.timeline-cards{grid-template-columns:1fr;gap:18px}.timeline-cards article{display:grid;grid-template-columns:1fr 110px;gap:6px 14px}.timeline-cards article>h3,.timeline-cards article>small,.timeline-cards article>p{grid-column:1}.timeline-cards article>img{grid-column:2;grid-row:1/span 3;height:105px;margin:0}.timeline-cards h3{font-size:25px}.timeline-cards p{font-size:12px}.book-closed{gap:16px;padding:17px}.book-closed .book-cover{flex-shrink:0}.book-closed .btn{padding:9px 12px;font-size:11px}.countdown-band .container{flex-direction:column;align-items:flex-start;gap:20px}.countdown-band h2{font-size:30px}.countdown{width:100%;gap:8px}.countdown div{padding:13px 7px;min-width:0;flex:1}.countdown b{font-size:31px}.program-grid{grid-template-columns:1fr 1fr}.program-grid .card{display:block}.program-grid img{width:100%;height:100px;min-height:0}.program-grid .card-body{padding:13px}.program-grid h3{font-size:23px}.rsvp-callout{grid-template-columns:1fr;padding:22px;gap:20px}.preview-gallery{grid-template-columns:1fr 1fr}.preview-gallery img{height:135px}.preview-gallery a:first-child{grid-column:1/-1}.mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:150px;gap:10px}.mosaic .album:nth-child(4){grid-column:auto;grid-row:auto}.album.tall{grid-row:span 2}.album.wide{grid-column:span 2}.album h3,.mosaic .album h3{font-size:22px}.album .round-btn{width:28px;height:28px;bottom:5px}.album .round-btn .icon{width:15px}.album .album-title{left:13px;right:13px;bottom:14px}.upload-banner{padding:30px 20px}.upload-banner h2{font-size:30px}.steps-bar{gap:6px;padding:12px 8px}.step-indicator{gap:5px;flex-direction:column;text-align:center}.step-indicator strong{font-size:16px}.step-indicator small{display:none}.form-section{padding:18px}.form-section-head h2{font-size:27px}.presence-options{grid-template-columns:1fr}.presence-option{flex-direction:row;gap:12px;padding:18px 18px 18px 45px;text-align:left;flex-wrap:wrap;justify-content:flex-start}.presence-option input{top:23px}.presence-option small{width:100%;padding-left:31px}.presence-option b{font-size:22px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.form-section-head p{font-size:11px}.invitation-paper{padding:30px 22px;aspect-ratio:auto}.invitation-names{font-size:43px}.invitation-date{font-size:15px}.invitation-details{grid-template-columns:1fr}.invitation-details .qr{width:145px;height:145px}.panel{padding:20px}.personal-profile{grid-template-columns:100px 1fr;gap:20px;padding-block:30px}.personal-profile .profile-photo{width:100px;height:100px}.personal-profile h1{font-size:35px}.personal-profile p{font-size:18px;grid-column:1/-1}.personal-profile .qr-card{grid-column:1/-1;display:grid;grid-template-columns:1fr 120px;align-items:center;gap:8px 20px}.personal-profile .qr-card>.qr{grid-column:2;grid-row:1/span 3}.personal-profile .qr-card h3{grid-column:1}.personal-profile .qr-card .btn{grid-column:1;grid-row:2;font-size:11px}.profile-grid{grid-template-columns:1fr}.profile-grid>.stack:last-child{grid-column:auto}.auth-layout{grid-template-columns:1fr}.auth-visual{min-height:290px;padding:30px 22px}.auth-visual h1{font-size:37px}.auth-visual .script{display:none}.auth-visual img{object-position:50% 37%}.auth-panel{padding:32px 22px}.auth-panel h1{font-size:37px}.social-row{grid-template-columns:1fr}.wizard-shell{grid-template-columns:1fr;padding-top:20px;gap:22px}.wizard-shell>nav{overflow:auto}.wizard-nav{display:flex;gap:6px}.wizard-nav li{flex:0 0 auto;margin:0}.wizard-nav button{flex-direction:column;gap:7px;padding:10px;font-size:10px;max-width:95px;text-align:center}.wizard-nav button b{width:29px;height:29px;font-size:18px}.wizard-shell>.sidebar{grid-column:auto}.wizard-main h2{font-size:31px}.selection-grid{grid-template-columns:1fr 1fr;gap:10px}.selection{padding:23px 13px 13px;min-height:140px}.selection b{font-size:23px}.studio-grid{grid-template-columns:1fr}.studio-grid>.sidebar:first-child .side-menu{display:flex;overflow:auto;padding:10px}.studio-grid>.sidebar:first-child{overflow:auto}.studio-option{grid-template-columns:1.2fr 1fr;column-gap:15px;padding:18px}.studio-option h3{font-size:24px}.studio-option ul{font-size:10px}.studio-grid .tool-grid{grid-template-columns:repeat(3,1fr)}.editor-toolbar{flex-direction:column;align-items:flex-start}.editor-toolbar .row{gap:8px}.editor-layout{grid-template-columns:1fr;padding-top:20px}.editor-fields{order:1}.editor-canvas{padding:15px;order:0}.editor-layout>.sidebar{order:2;grid-column:auto}.editor-canvas .invitation-paper{padding:28px 18px;max-width:370px}.book-dialog{padding:20px}.book-spread{grid-template-columns:1fr}.book-spread .book-image{height:350px}.book-copy{border-left:0;font-size:21px;padding:23px;height:350px}.book-controls{gap:10px}.book-controls .btn{padding:10px 13px;font-size:11px}.error-layout{grid-template-columns:1fr;gap:35px;padding-block:40px;text-align:center;min-height:0}.error-layout p{margin-inline:auto;font-size:21px}.error-layout .row{justify-content:center}.error-layout .error-art{height:250px;max-width:310px;width:100%;margin:auto}.error-code{font-size:128px}.error-layout h1{font-size:37px}.error-art>.icon{width:90px;height:90px}.error-art .script{bottom:22px;font-size:25px}.catalog-item{padding:15px;gap:15px}.catalog-item h2{font-size:23px}.help-links{grid-template-columns:1fr 1fr}.program-timeline article{grid-template-columns:50px 1fr;gap:13px}.program-timeline img{display:none}.desktop-only{display:none!important}dialog{padding:20px}.lightbox{padding:12px}.article-body{font-size:15px}.article-body h2{font-size:31px}}
@media(min-width:701px){.bottom-nav{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{body{padding:0;background:white}.site-header,.site-footer,.bottom-nav,.hero,.no-print,.toast{display:none!important}.invitation-layout{display:block}.invitation-layout>div:last-child{display:none}.invitation-layout .panel{border:0;padding:0}.invitation-paper{box-shadow:none;max-width:none;width:148mm;min-height:210mm;break-inside:avoid;margin:0 auto}.invitation-paper:before,.invitation-paper:after{print-color-adjust:exact}.container{width:100%}main{padding:0}.invitation-layout .section-head{display:none}}

.mosaic.is-filtered{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:220px}.mosaic.is-filtered>*{grid-column:auto!important;grid-row:auto!important}@media(max-width:760px){.mosaic.is-filtered{grid-template-columns:1fr;grid-auto-rows:260px}}

.sidebar-layout>*{min-width:0}.side-menu{max-width:100%}.wizard-shell>nav{min-width:0}

/* Mobile portrait composition. Photo, name and message stay in DOM order.
   Desktop/tablet rules above remain untouched; no additional media request. */
@media (max-width: 700px) {
  body[data-page="couple"] .partners { gap: 0; }
  body[data-page="couple"] .partner {
    --portrait-diameter: min(80vw, 320px);
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: visible;
    padding: 26px 14px 30px;
    border: 0;
    border-radius: 0;
    background: transparent;
    text-align: center;
  }
  body[data-page="couple"] .partner > .partner-photo {
    position: relative;
    z-index: 1;
    display: block;
    flex: 0 0 auto;
    width: var(--portrait-diameter);
    max-width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 1;
    border-radius: 50%;
    object-fit: cover;
    object-position: 50% 0%;
    border: 6px solid var(--paper);
    outline: 1px solid var(--gold);
    outline-offset: 6px;
    box-shadow: 0 0 0 1px var(--line), 0 0 0 10px var(--paper),
                0 12px 28px rgb(75 39 23 / .12);
  }
  body[data-page="couple"] .partner > .partner-photo--bride {
    object-position: 50% 0%;
  }
  /* Decorative branches are behind the opaque photo, never over the face.
     Pseudo-elements are decorative, non-interactive and absent from the AT tree. */
  body[data-page="couple"] .partner::before,
  body[data-page="couple"] .partner::after {
    content: "";
    position: absolute;
    z-index: 0;
    pointer-events: none;
    width: clamp(84px, 26vw, 108px);
    height: clamp(140px, 46vw, 180px);
    background: url("../assets/decorations/botanical.3fe5b9b18850.svg") center / contain no-repeat;
    opacity: .8;
  }
  body[data-page="couple"] .partner::before {
    left: max(0px, calc((100% - var(--portrait-diameter)) / 2 - 7px));
    top: calc(26px + var(--portrait-diameter) * .54);
    transform: rotate(-24deg);
  }
  body[data-page="couple"] .partner::after {
    right: max(0px, calc((100% - var(--portrait-diameter)) / 2 - 7px));
    top: 12px;
    transform: rotate(24deg) scaleX(-1);
    opacity: .65;
  }
  body[data-page="couple"] .partner .partner-copy {
    position: relative;
    z-index: 1;
    width: 100%;
    min-width: 0;
    padding: 32px 0 0;
    overflow-wrap: anywhere;
  }
  body[data-page="couple"] .partner h2 {
    font-size: clamp(38px, 10.5vw, 45px);
    line-height: 1.16;
    margin-bottom: 12px;
    color: var(--brand);
  }
  body[data-page="couple"] .partner .eyebrow {
    font-size: 10px;
    line-height: 1.6;
    letter-spacing: .14em;
    color: var(--copper);
    margin-bottom: 14px;
  }
  body[data-page="couple"] .partner blockquote {
    font-size: clamp(20px, 5.4vw, 22px);
    line-height: 1.6;
    margin: 0 auto;
    max-width: 29ch;
    color: var(--ink);
  }
  body[data-page="couple"] .partner .icon { margin-top: 18px; }
  body[data-page="couple"] .love-divider { margin: 8px 0; min-height: 132px; }
}
