/* Round two: three distinct compositions sharing the approved logo colours. */
body {
  --paper:#fffdfd; --ink:#083e52; --muted:#4a6571; --accent:#ad4169;
  --soft:#e3f6fc; --line:#cee1e8; --pink:#dd7c9b; --cyan:#09afdf;
  --blush:#fbe7ef; --ice:#def5fc; --heading:'Cormorant',Georgia,serif;
}
body[data-theme="loud"] { --heading:'DM Sans','Segoe UI',sans-serif; }
button { -webkit-appearance:none; }
.concept-bar { background:#153b4c; }
.view-toggle { background:#345665; }
.view-toggle button[aria-pressed=true] { background:#fbe7ef; color:#083e52; }
.nwrap { width:min(1280px,calc(100% - 96px)); margin-inline:auto; }
.nheader { display:flex; align-items:center; justify-content:space-between; gap:30px; min-height:102px; }
.brand { font:750 25px/.94 var(--sans); letter-spacing:-.065em; gap:9px; }
.brand > span:not(.brand-symbol) { color:#c75c83; }
.brand .brand-second { display:inline; margin-left:4px; color:#008db5; }
.brand .brand-dot { color:#008db5; }
.brand-symbol { color:var(--pink); width:29px; height:29px; }
.nheader nav { display:flex; gap:30px; align-items:center; font-size:12px; }
.nheader nav button { border:0; background:none; padding:8px 0; font-size:12px; }
.nheader .button { padding:13px 20px; min-height:46px; font-size:11px; }
.button { color:white; background:var(--ink); border-color:var(--ink); border-radius:0; }
.button:hover { background:#8c3256; border-color:#8c3256; }
.nfooter { display:flex; align-items:center; justify-content:space-between; gap:35px; padding:40px 0; }
.nfooter > span { font-size:8px; letter-spacing:.13em; }
.nfooter > a:last-child { font-size:10px; }
.nsection-top { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:45px; }
.nsection-top h2 { font-size:66px; line-height:1.02; margin-top:18px; }
.nsection-top > p { color:var(--muted); font-size:13px; line-height:1.8; }
.nsection-top h2 em { color:var(--accent); }
.new-templates { padding:85px 0 90px; }
.n-template-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.ntile-window { height:330px; position:relative; overflow:hidden; }
.ntile-window img { width:100%; height:100%; }
.ntile-label { display:flex; justify-content:space-between; align-items:center; gap:15px; font-size:12px; margin-top:16px; }
.ntile-label > span:last-child { font-size:10px; }
.ntile-loud .ntile-window { display:flex; flex-direction:column; justify-content:space-between; background:var(--cyan); padding:27px; }
.ntile-top,.ntile-bottom { font-size:7px; letter-spacing:.11em; }
.ntile-loud strong { font:850 67px/.88 var(--sans); letter-spacing:-.085em; }
.ntile-loud strong i { font-style:normal; background:var(--pink); padding-inline:7px; }
.ntile-wishlist .ntile-window { display:grid; grid-template-columns:1fr 1fr; background:var(--blush); border-radius:18px; }
.ntile-wishlist .ntile-window img { min-width:0; object-position:55% center; }
.ntile-wishlist .ntile-window > div { display:flex; flex-direction:column; justify-content:center; padding:20px; }
.ntile-wishlist small { font-size:7px; letter-spacing:.12em; }
.ntile-wishlist strong { font:500 42px/.95 'Cormorant',Georgia,serif; margin-top:18px; }
.ntile-wishlist strong em { color:var(--accent); }
.ntile-bluehour .ntile-window > div { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; color:white; background:#12364040; }
.ntile-bluehour small,.ntile-bluehour span:not(.ntile-label span) { font-size:8px; letter-spacing:.14em; }
.ntile-bluehour strong { font:400 44px/1.1 'Cormorant',Georgia,serif; margin:20px 0; }
.ntile-bluehour strong em { color:#f8cedd; }
.nfaq { display:grid; grid-template-columns:1fr 1.4fr; gap:90px; padding:70px 0 85px; border-top:1px solid var(--line); }
.nfaq h2 { font-size:65px; margin-top:18px; }
.nfaq h2 em { color:var(--accent); }
.nfaq summary { font-size:13px; }
.nfaq details p { font-size:12px; }

/* 04 — LOVE OUT LOUD: oversized type and uninterrupted, full-bleed sections. */
.loud-hero { background:var(--cyan); padding:36px 48px 50px; overflow:hidden; }
.loud-kicker { display:flex; align-items:center; justify-content:center; gap:30px; }
.loud-kicker .eyebrow { font-size:10px; font-weight:600; letter-spacing:.16em; }
.loud-spark { font-size:31px; line-height:1; }
.loud-hero h1 { font:850 clamp(52px,13.1vw,190px)/.87 var(--sans); letter-spacing:-.085em; text-align:center; margin:36px 0 44px; }
.loud-hero h1 > span { background:var(--pink); display:inline-block; padding:0 22px 14px 8px; transform:rotate(-1.5deg); }
.loud-hero-bottom { max-width:1135px; margin:auto; display:grid; grid-template-columns:1fr 1fr 125px; align-items:center; gap:70px; }
.loud-hero-bottom > p { font-size:15px; line-height:1.8; }
.loud-hero-bottom > div { text-align:center; }
.loud-hero-bottom .button { font-size:14px; min-height:59px; padding:19px 33px; }
.loud-free { display:block; font-size:8px; letter-spacing:.12em; margin-top:12px; }
.loud-round-link { width:108px; height:108px; border:1px solid var(--ink); border-radius:50%; background:none; font-size:10px; font-weight:600; letter-spacing:.08em; line-height:1.3; transform:rotate(12deg); }
.loud-round-link > span { display:block; font-size:28px; line-height:1; margin-top:6px; }
.loud-photo { width:100%; height:590px; position:relative; color:white; isolation:isolate; }
.loud-photo > img { width:100%; height:100%; position:absolute; inset:0; z-index:-2; object-position:center 55%; }
.loud-photo::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#0733429c,transparent 85%); z-index:-1; }
.loud-photo-caption { position:absolute; left:6%; bottom:65px; }
.loud-photo-caption h2 { font:800 clamp(55px,6.4vw,95px)/.95 var(--sans); letter-spacing:-.065em; margin:23px 0; }
.loud-photo-caption h2 em { font-family:'Cormorant',Georgia,serif; font-weight:600; color:#ffd5e4; }
.loud-photo-caption .text-link { font-size:13px; }
.photo-coordinate { position:absolute; right:6%; bottom:56px; text-align:right; font-size:8px; line-height:1.8; letter-spacing:.1em; }
.loud-how { background:var(--pink); padding:80px 0 85px; }
.loud-how h2 { font:800 clamp(43px,5.3vw,78px)/.98 var(--sans); letter-spacing:-.065em; margin-top:22px; }
.loud-how h2 em { font-family:'Cormorant',Georgia,serif; font-weight:600; }
.loud-how h2 em { margin-right:.08em; }
.loud-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:70px; margin-top:50px; }
.loud-steps article { border-top:1px solid #083e5250; padding-top:25px; }
.loud-steps article > span { font:800 88px/1 var(--sans); letter-spacing:-.08em; }
.loud-steps h3 { font:700 29px/1.1 var(--sans); letter-spacing:-.05em; margin:20px 0 12px; }
.loud-steps p { max-width:310px; font-size:13px; line-height:1.8; }
.loud-gifts { padding:85px 0; }
.loud-gifts h2 { font:800 66px/.97 var(--sans); letter-spacing:-.065em; }
.loud-gifts h2 em { font-family:'Cormorant',Georgia,serif; font-weight:500; }
.loud-gift-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.loud-gift-grid > button { padding:0; border:0; background:var(--blush); text-align:left; }
.loud-gift-grid > button:nth-child(2) { background:var(--ice); }
.loud-gift-grid img { width:100%; height:350px; }
.loud-gift-grid > button > span { display:block; padding:28px 32px; position:relative; }
.loud-gift-grid small { font-size:8px; letter-spacing:.14em; }
.loud-gift-grid strong { font:750 41px/1.03 var(--sans); letter-spacing:-.055em; display:block; margin-top:14px; }
.loud-gift-grid i { font-size:33px; font-style:normal; position:absolute; right:30px; bottom:30px; }
body[data-theme=loud] .new-templates { border-top:1px solid var(--line); }
body[data-theme=loud] .nsection-top h2 { font:750 56px/1.05 var(--sans); letter-spacing:-.055em; }
body[data-theme=loud] .nsection-top h2 em,body[data-theme=loud] .nfaq h2 em { font-family:'Cormorant',Georgia,serif; font-weight:500; }
body[data-theme=loud] .nfaq h2 { font:750 61px/1 var(--sans); letter-spacing:-.05em; }
.loud-final { background:var(--cyan); text-align:center; padding:70px 25px 80px; }
.loud-final h2 { font:850 clamp(53px,7.5vw,110px)/.95 var(--sans); letter-spacing:-.075em; margin:30px 0 35px; }
.loud-final h2 em { font-style:normal; background:var(--pink); }
.loud-final .button { font-size:14px; padding:20px 32px; }

/* 05 — THE WISH LIST: a modular, tactile, browsable composition. */
body[data-theme=wishlist] .button { border-radius:40px; }
body[data-theme=wishlist] .nheader { min-height:100px; }
.wish-hero { display:grid; grid-template-columns:.9fr 1.3fr; gap:20px; padding-top:14px; }
.wish-intro { background:var(--blush); border-radius:24px; padding:39px 37px 32px; position:relative; min-height:655px; }
.wish-intro .eyebrow { font-size:8px; letter-spacing:.14em; }
.wish-intro h1 { font:500 79px/.86 'Cormorant',Georgia,serif; letter-spacing:-.055em; margin:29px 0 24px; }
.wish-intro h1 em { color:#007c9f; }
.wish-intro > p:not(.eyebrow) { font-size:13px; line-height:1.85; max-width:300px; }
.wish-intro .button { margin-top:25px; font-size:11px; padding:15px 22px; gap:28px; }
.wish-handnote { font:italic 18px/1.3 'Cormorant',Georgia,serif; display:block; margin-top:19px; color:#8c4260; }
.wish-corner { width:90px; height:90px; border-radius:50%; background:var(--pink); display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; position:absolute; right:23px; bottom:22px; transform:rotate(13deg); font-size:8px; line-height:1.1; letter-spacing:.08em; }
.wish-corner em { font:italic 23px/1 'Cormorant',Georgia,serif; margin-top:4px; letter-spacing:-.03em; }
.wish-mosaic { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:350px 285px; gap:20px; }
.wish-mosaic > * { border-radius:24px; overflow:hidden; }
.wish-feature { grid-column:1/-1; position:relative; border:0; padding:0; text-align:left; color:white; isolation:isolate; }
.wish-feature > img { position:absolute; inset:0; height:100%; width:100%; z-index:-2; }
.wish-feature::before { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#07374cbb,transparent 90%); z-index:-1; }
.wish-card-tag { position:absolute; top:21px; right:21px; color:var(--ink); background:var(--ice); padding:8px 12px; border-radius:30px; font-size:7px; letter-spacing:.12em; }
.wish-feature > div { padding:30px; position:absolute; bottom:0; left:0; right:0; }
.wish-feature small { font-size:7px; letter-spacing:.13em; }
.wish-feature strong { display:block; font:500 53px/.97 'Cormorant',Georgia,serif; margin:12px 0; letter-spacing:-.03em; }
.wish-feature strong em { color:#fbd2e1; }
.wish-feature > div > span { display:flex; justify-content:space-between; align-items:center; font-size:11px; }
.wish-feature b { font-size:25px; font-weight:400; }
.wish-dinner { padding:0; border:0; background:#eaf7fc; text-align:left; }
.wish-dinner img { width:100%; height:164px; object-position:center 65%; }
.wish-dinner > div { padding:18px 21px; }
.wish-dinner small { display:block; font-size:6px; letter-spacing:.1em; }
.wish-dinner strong { display:block; font:500 29px/1.1 'Cormorant',Georgia,serif; margin:8px 0 5px; }
.wish-dinner > div > span { font-size:9px; }
.wish-love { background:var(--cyan); padding:22px 25px; position:relative; }
.wish-love > span { position:absolute; right:21px; top:17px; font-size:38px; transform:rotate(15deg); line-height:1; }
.wish-love p { font:500 39px/.94 'Cormorant',Georgia,serif; letter-spacing:-.04em; margin-top:10px; }
.wish-love p em { color:#063b50; }
.wish-love .text-link { font-size:9px; margin-top:17px; }
.wish-label-row { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:27px 15px; font-size:8px; letter-spacing:.12em; border-bottom:1px solid var(--line); }
.wish-label-row > span:nth-child(even) { color:#a54168; font-size:17px; }
.wish-how { display:grid; grid-template-columns:1fr 1.1fr; gap:100px; padding:82px 0 88px; }
.wish-how h2 { font-size:69px; margin:20px 0; }
.wish-how h2 em { color:var(--accent); }
.wish-how > div > p:last-child { font-size:13px; color:var(--muted); line-height:1.8; }
.wish-step-list article { display:flex; gap:30px; padding:26px 0; border-bottom:1px solid var(--line); }
.wish-step-list article:first-child { padding-top:0; }
.wish-step-list article > span { font:italic 29px/1 'Cormorant',Georgia,serif; color:var(--accent); white-space:nowrap; }
.wish-step-list h3 { font-size:30px; margin-bottom:11px; }
.wish-step-list p { font-size:12px; color:var(--muted); }
.wish-story { background:var(--ice); padding:75px 0; }
.wish-story > div { display:grid; grid-template-columns:1.1fr 1fr; gap:100px; align-items:center; }
.wish-couple-photo { background:white; padding:14px 14px 21px; transform:rotate(-3deg); margin:0 20px; }
.wish-couple-photo img { width:100%; height:420px; object-position:57% center; }
.wish-couple-photo > span { display:block; font:italic 24px/1.2 'Cormorant',Georgia,serif; margin-top:16px; text-align:center; }
.wish-story h2 { font-size:76px; line-height:.96; margin:22px 0; }
.wish-story h2 em { color:var(--accent); }
.wish-story p:not(.eyebrow) { font-size:13px; line-height:1.85; max-width:360px; margin-bottom:25px; }
.wish-final { position:relative; background:var(--blush); border-radius:30px; padding:55px; display:flex; align-items:center; justify-content:space-between; gap:40px; margin-bottom:50px; }
.wish-final h2 { font-size:65px; margin-top:17px; }
.wish-final h2 em { color:var(--accent); }
.wish-final .eyebrow { font-size:8px; }
.wish-final .button { position:relative; z-index:1; }
.wish-final-heart { position:absolute; right:60px; top:5px; color:#dd7c9b55; font:250px/1 Georgia,serif; transform:rotate(15deg); pointer-events:none; }

/* 06 — THE BLUE HOUR: cinematic imagery and refined, spacious typography. */
.blue-hero { position:relative; height:850px; color:white; isolation:isolate; }
.blue-cover { position:absolute; inset:0; width:100%; height:100%; object-position:center 55%; z-index:-2; }
.blue-hero::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#073042b0,#07304230 85%),linear-gradient(0deg,#07304255,transparent 55%); z-index:-1; }
.blue-hero .nheader { border-bottom:1px solid #ffffff40; }
.blue-hero .brand > span:not(.brand-symbol) { color:#ffd5e4; }
.blue-hero .brand .brand-second,.blue-hero .brand .brand-dot { color:#a3e8ff; }
.blue-hero .brand-symbol { color:#f1a5c0; }
.blue-hero .nheader .button { background:transparent; border-color:#ffffff80; color:white; font-size:10px; text-transform:uppercase; letter-spacing:.06em; }
.blue-hero .nheader .button:hover { background:white; color:var(--ink); }
.blue-hero-content { padding-top:126px; }
.blue-hero-content .eyebrow { font-size:10px; letter-spacing:.25em; }
.blue-hero h1 { font:400 143px/.88 'Cormorant',Georgia,serif; letter-spacing:-.045em; margin:29px 0 40px; }
.blue-hero h1 em { color:#ffd5e4; }
.blue-hero-bottom { display:flex; justify-content:space-between; align-items:center; gap:40px; max-width:950px; }
.blue-hero-bottom p { font-size:14px; line-height:1.8; }
.blue-hero-bottom .button { background:var(--cyan); color:#053246; border-color:var(--cyan); padding:17px 25px; font-size:10px; letter-spacing:.06em; text-transform:uppercase; }
.blue-photo-footer { display:flex; align-items:center; justify-content:space-between; gap:35px; position:absolute; left:0; right:0; bottom:28px; font-size:7px; letter-spacing:.15em; }
.blue-photo-footer button { border:0; padding:12px 0; border-bottom:1px solid #ffffff70; background:none; font-size:10px; }
.blue-photo-footer button span { margin-left:40px; }
.blue-statement { padding:95px 0; }
.blue-statement > div { display:grid; grid-template-columns:1.3fr 1fr; gap:100px; align-items:center; margin-top:30px; }
.blue-statement h2 { font-size:93px; line-height:.93; }
.blue-statement h2 em { color:var(--accent); }
.blue-statement > div > div { padding-top:10px; max-width:330px; }
.blue-statement p:not(.eyebrow) { font-size:13px; line-height:1.95; margin:0 0 20px; color:var(--muted); }
.blue-small-heart { display:block; font:40px/1 'Cormorant',Georgia,serif; color:#bd5a7e; margin-bottom:25px; }
.blue-experiences { display:grid; grid-template-columns:1.15fr 1fr; }
.blue-experience-main { height:740px; position:relative; }
.blue-experience-main > img { width:100%; height:100%; object-position:50% 64%; }
.blue-experience-main > span { position:absolute; left:40px; bottom:25px; color:white; font-size:8px; letter-spacing:.15em; text-shadow:0 1px 5px #0008; }
.blue-experience-side { background:var(--ice); padding:45px 50px 25px; }
.blue-experience-side h2 { font-size:78px; margin:20px 0; }
.blue-experience-side h2 em { color:var(--accent); }
.blue-experience-side p:not(.eyebrow) { max-width:350px; font-size:13px; line-height:1.9; margin-bottom:10px; }
.blue-experience-side > img { height:250px; width:100%; margin-top:30px; }
.blue-experience-side > span { display:block; font-size:7px; letter-spacing:.15em; margin-top:14px; }
.blue-how { padding:90px 0; }
.blue-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:60px; margin-top:60px; }
.blue-steps article { padding-top:25px; border-top:1px solid var(--line); }
.blue-steps article > span { font:italic 32px/1 'Cormorant',Georgia,serif; color:var(--accent); }
.blue-steps h3 { font-size:32px; margin:23px 0 15px; }
.blue-steps p { font-size:12px; line-height:1.85; color:var(--muted); }
body[data-theme=bluehour] .new-templates { border-top:1px solid var(--line); }
.blue-final { text-align:center; background:var(--blush); padding:75px 25px 85px; }
.blue-final h2 { font-size:96px; line-height:.98; margin:25px 0 35px; }
.blue-final h2 em { color:var(--accent); }
.blue-final .button { background:var(--cyan); border-color:var(--cyan); color:#053246; text-transform:uppercase; letter-spacing:.08em; font-size:10px; padding:18px 28px; }
.blue-final > span { display:block; font:italic 23px/1.3 'Cormorant',Georgia,serif; color:#95516a; margin-top:25px; }

/* Matching couple-facing registry previews. */
.registry-header { min-height:100px; }
.registry-progress .progress-track > span,.gift-card .progress-track > span { background:var(--pink); }
.gift-card { background:#fffdfd; }
.gift-image > span { background:#fff7fbeb; }
.filter-tabs button[aria-pressed=true] { background:var(--ink); color:white; }
.registry-thanks { background:var(--blush); }
.wedding-grid > div + div { border-left-color:#95bfd24d; }
.sample-badge { background:#153b4cbb; }
.registry-hero::after { background:#11384955; }
.registry-title .button { color:var(--ink); background:white; border-color:white; }
.registry-title h1 em { color:#ffd5e4; }
body[data-theme=loud] .registry-hero { height:600px; background:var(--cyan); color:var(--ink); }
body[data-theme=loud] .registry-cover { left:auto; right:0; width:42%; object-position:56% center; }
body[data-theme=loud] .registry-hero::after { display:none; }
body[data-theme=loud] .registry-title { text-align:left; width:100%; padding:0 5%; }
body[data-theme=loud] .registry-title h1 { font:850 112px/.95 var(--sans); letter-spacing:-.08em; position:relative; max-width:850px; }
body[data-theme=loud] .registry-title h1 em { color:var(--ink); background:var(--pink); font-style:normal; }
body[data-theme=loud] .registry-title .button { background:var(--ink); color:white; border-color:var(--ink); }
body[data-theme=loud] .story-section h2 { font:700 42px/1.1 var(--sans); letter-spacing:-.05em; }
body[data-theme=loud] .story-section h2 em { font:italic 1.25em/1 'Cormorant',Georgia,serif; color:var(--accent); }
body[data-theme=loud] .wedding-grid h3 { font:600 16px/1.4 var(--sans); }
body[data-theme=loud] .gifts-section h2 { font:750 53px/1.05 var(--sans); letter-spacing:-.055em; }
body[data-theme=loud] .gift-content h3 { font:650 24px/1.05 var(--sans); letter-spacing:-.04em; }
body[data-theme=loud] .open-gift h3 { font:650 26px/1.1 var(--sans); }
body[data-theme=loud] .registry-thanks { background:var(--pink); }
body[data-theme=loud] .registry-thanks h2 { font:750 57px/1.04 var(--sans); letter-spacing:-.06em; }
body[data-theme=loud] .registry-thanks h2 em { font-style:normal; }
body[data-theme=wishlist] .registry-hero { width:min(1280px,calc(100% - 96px)); margin:auto; height:570px; border-radius:28px; overflow:hidden; background:var(--blush); color:var(--ink); }
body[data-theme=wishlist] .registry-cover { width:45%; object-position:57% center; }
body[data-theme=wishlist] .registry-hero::after { display:none; }
body[data-theme=wishlist] .registry-title { width:55%; margin-left:45%; padding:20px; }
body[data-theme=wishlist] .registry-title h1 { font-size:87px; }
body[data-theme=wishlist] .registry-title h1 em { color:var(--accent); }
body[data-theme=wishlist] .registry-title .button { border-radius:40px; background:var(--ink); color:white; border-color:var(--ink); }
body[data-theme=wishlist] .gift-card { border-radius:18px; overflow:hidden; }
body[data-theme=bluehour] .registry-hero { height:680px; }
body[data-theme=bluehour] .registry-title h1 { font-size:135px; }
body[data-theme=bluehour] .registry-title .eyebrow { letter-spacing:.25em; }
body[data-theme=bluehour] .registry-thanks h2 { font-size:70px; }
dialog::backdrop { background:#123c5080; }
dialog input,dialog textarea { background:white; }
body[data-theme=loud] dialog h2 { font:700 37px/1.05 var(--sans); letter-spacing:-.04em; }

@media (max-width:1100px) {
  .nwrap { width:calc(100% - 64px); }
  .nheader { gap:20px; }
  .nheader nav { gap:18px; font-size:11px; }
  .nheader nav button { font-size:11px; }
  .brand { font-size:22px; }
  .loud-hero-bottom { gap:35px; }
  .loud-steps { gap:35px; }
  .loud-gift-grid strong { font-size:35px; }
  .wish-intro { padding:30px; }
  .wish-intro h1 { font-size:68px; }
  .wish-intro .eyebrow { font-size:7px; }
  .wish-intro > p:not(.eyebrow) { font-size:12px; }
  .wish-corner { width:74px; height:74px; right:18px; bottom:20px; }
  .wish-handnote { max-width:200px; }
  .wish-love { padding:20px; }
  .wish-love p { font-size:35px; }
  .wish-love .text-link { font-size:8px; }
  .wish-feature strong { font-size:47px; }
  .wish-dinner > div { padding:18px; }
  .wish-dinner strong { font-size:27px; }
  .wish-how,.wish-story > div { gap:65px; }
  .wish-story h2 { font-size:65px; }
  .wish-final { padding:40px; }
  .wish-final h2 { font-size:58px; }
  .blue-hero h1 { font-size:128px; }
  .blue-statement > div { gap:70px; }
  .blue-statement h2 { font-size:82px; }
  .blue-experience-main { height:700px; }
  .blue-experience-side { padding:35px 35px 25px; }
  .blue-experience-side h2 { font-size:68px; }
  .blue-experience-side > img { height:230px; }
  .blue-steps { gap:35px; }
  .nsection-top h2 { font-size:59px; }
  .ntile-loud strong { font-size:58px; }
  .ntile-wishlist .ntile-window > div { padding:13px; }
  .ntile-wishlist strong { font-size:35px; }
  .ntile-bluehour strong { font-size:35px; }
  .ntile-window { height:290px; }
  .n-template-grid { gap:22px; }
  .nfaq { gap:65px; }
  body[data-theme=wishlist] .registry-hero { width:calc(100% - 64px); }
  body[data-theme=wishlist] .registry-title h1 { font-size:66px; }
  body[data-theme=loud] .registry-title h1 { font-size:90px; }
}
@media (max-width:800px) {
  .nwrap { width:calc(100% - 44px); }
  .nheader { min-height:90px; gap:15px; }
  .nheader nav { display:none; }
  .nheader .button { font-size:10px; }
  .loud-hero { padding:30px 22px 37px; }
  .loud-kicker { gap:20px; }
  .loud-kicker .eyebrow { font-size:8px; }
  .loud-spark { font-size:25px; }
  .loud-hero h1 { margin:32px 0 38px; }
  .loud-hero-bottom { grid-template-columns:1fr 1fr 88px; gap:24px; }
  .loud-hero-bottom > p { font-size:12px; }
  .loud-hero-bottom .button { font-size:11px; padding:16px 20px; min-height:50px; gap:15px; }
  .loud-round-link { width:86px; height:86px; font-size:8px; }
  .loud-free { font-size:6px; }
  .loud-photo { height:490px; }
  .loud-photo-caption { bottom:45px; }
  .loud-photo-caption h2 { font-size:58px; }
  .photo-coordinate { display:none; }
  .loud-how,.loud-gifts { padding:60px 0; }
  .loud-how h2 { font-size:48px; }
  .loud-steps { gap:27px; margin-top:35px; }
  .loud-steps article > span { font-size:68px; }
  .loud-steps h3 { font-size:23px; }
  .loud-steps p { font-size:11px; }
  .loud-gift-grid { gap:22px; }
  .loud-gift-grid img { height:270px; }
  .loud-gift-grid > button > span { padding:22px; }
  .loud-gift-grid strong { font-size:29px; }
  .loud-gift-grid small { font-size:7px; }
  body[data-theme=loud] .nsection-top h2 { font-size:43px; }
  .nsection-top { gap:25px; }
  .nsection-top h2 { font-size:48px; }
  .nsection-top > p { font-size:11px; }
  .new-templates { padding:60px 0; }
  .ntile-window { height:245px; }
  .ntile-loud .ntile-window { padding:17px; }
  .ntile-loud strong { font-size:47px; }
  .ntile-top,.ntile-bottom { font-size:6px; }
  .ntile-wishlist .ntile-window { grid-template-columns:1fr; }
  .ntile-wishlist .ntile-window img { height:120px; }
  .ntile-wishlist .ntile-window > div { padding:13px; position:absolute; left:15px; right:15px; bottom:15px; background:#fbe7efed; }
  .ntile-wishlist strong { font-size:31px; margin-top:7px; }
  .ntile-wishlist strong br { display:none; }
  .ntile-bluehour strong { font-size:29px; }
  .ntile-label { display:block; margin-top:12px; font-size:11px; }
  .ntile-label > span:last-child { display:block; font-size:9px; margin-top:3px; }
  .nfaq { gap:45px; padding:55px 0 65px; }
  .nfaq h2 { font-size:54px; }
  .nfooter { padding:30px 0; gap:20px; }
  .nfooter > span { display:none; }
  .wish-hero { grid-template-columns:1fr 1.1fr; gap:16px; }
  .wish-intro { padding:28px 23px; min-height:610px; }
  .wish-intro h1 { font-size:60px; }
  .wish-intro > p:not(.eyebrow) { font-size:11px; }
  .wish-intro .button { font-size:10px; padding:14px 18px; gap:15px; }
  .wish-handnote { font-size:16px; max-width:190px; }
  .wish-corner { width:65px; height:65px; font-size:6px; }
  .wish-corner em { font-size:19px; }
  .wish-mosaic { gap:16px; grid-template-rows:310px 284px; }
  .wish-feature > div { padding:24px; }
  .wish-feature strong { font-size:41px; }
  .wish-feature small { font-size:6px; }
  .wish-feature > div > span { font-size:9px; }
  .wish-card-tag { font-size:6px; right:15px; top:15px; }
  .wish-dinner img { height:155px; }
  .wish-dinner > div { padding:16px 13px; }
  .wish-dinner strong { font-size:27px; }
  .wish-dinner small { font-size:5px; }
  .wish-dinner > div > span { font-size:8px; }
  .wish-love { padding:20px 16px; }
  .wish-love p { font-size:30px; margin-top:24px; }
  .wish-love > span { top:10px; right:13px; font-size:28px; }
  .wish-love .text-link { font-size:7px; line-height:1.5; }
  .wish-label-row { font-size:6px; gap:10px; }
  .wish-label-row > span:nth-last-child(-n+2) { display:none; }
  .wish-how { gap:45px; padding:60px 0; }
  .wish-how h2 { font-size:53px; }
  .wish-step-list article { gap:20px; }
  .wish-step-list h3 { font-size:27px; }
  .wish-step-list p { font-size:11px; }
  .wish-story { padding:55px 0; }
  .wish-story > div { gap:45px; }
  .wish-couple-photo { margin:0 10px; padding:10px 10px 16px; }
  .wish-couple-photo img { height:350px; }
  .wish-couple-photo > span { font-size:18px; }
  .wish-story h2 { font-size:58px; }
  .wish-story p:not(.eyebrow) { font-size:12px; }
  .wish-final { padding:32px; gap:25px; }
  .wish-final h2 { font-size:51px; }
  .wish-final .button { font-size:10px; padding:15px 20px; gap:15px; }
  .wish-final .eyebrow { font-size:7px; }
  .blue-hero { height:760px; }
  .blue-hero-content { padding-top:135px; }
  .blue-hero h1 { font-size:106px; }
  .blue-hero-bottom p { font-size:12px; }
  .blue-hero-bottom .button { font-size:8px; gap:20px; padding:17px 20px; }
  .blue-photo-footer > span { font-size:6px; }
  .blue-statement { padding:65px 0; }
  .blue-statement > div { gap:50px; }
  .blue-statement h2 { font-size:66px; }
  .blue-statement p:not(.eyebrow) { font-size:12px; }
  .blue-experience-main { height:625px; }
  .blue-experience-side { padding:30px 28px 22px; }
  .blue-experience-side h2 { font-size:59px; }
  .blue-experience-side p:not(.eyebrow) { font-size:11px; }
  .blue-experience-side .eyebrow { font-size:8px; }
  .blue-experience-side .text-link { font-size:10px; }
  .blue-experience-side > img { height:200px; margin-top:25px; }
  .blue-experience-main > span { left:25px; font-size:7px; }
  .blue-how { padding:65px 0; }
  .blue-steps { gap:28px; margin-top:40px; }
  .blue-steps h3 { font-size:29px; }
  .blue-steps p { font-size:11px; }
  .blue-final h2 { font-size:75px; }
  body[data-theme=loud] .registry-title h1 { font-size:76px; }
  body[data-theme=loud] .registry-title > p:not(.eyebrow) { font-size:10px; }
  body[data-theme=loud] .registry-hero { height:500px; }
  body[data-theme=loud] .registry-cover { width:38%; }
  body[data-theme=loud] .story-section h2 { font-size:34px; }
  body[data-theme=loud] .gifts-section h2 { font-size:44px; }
  body[data-theme=wishlist] .registry-hero { width:calc(100% - 44px); height:500px; }
  body[data-theme=wishlist] .registry-title h1 { font-size:58px; }
  body[data-theme=wishlist] .registry-title > p:not(.eyebrow) { font-size:9px; }
  body[data-theme=wishlist] .registry-title .button { font-size:9px; padding:15px; gap:12px; }
  body[data-theme=bluehour] .registry-title h1 { font-size:110px; }
}
@media (max-width:600px) {
  .nwrap { width:calc(100% - 40px); }
  .nheader { min-height:83px; }
  .brand { font-size:21px; gap:7px; }
  .brand-symbol { width:23px; height:23px; }
  .brand .brand-second { display:block; margin-left:0; }
  .nheader .button { font-size:9px; min-height:41px; padding:12px 14px; gap:15px; }
  .eyebrow { font-size:8px; }
  .nfooter .brand { font-size:20px; }
  .nfooter > a:last-child { font-size:9px; max-width:145px; text-align:right; }
  .loud-hero { padding:28px 18px 35px; }
  .loud-kicker { gap:14px; }
  .loud-kicker .eyebrow { font-size:6px; letter-spacing:.1em; max-width:210px; text-align:center; }
  .loud-spark { font-size:22px; }
  .loud-hero h1 { font-size:clamp(52px,13.1vw,79px); margin:31px 0 32px; line-height:.94; }
  .loud-hero h1 > span { padding:0 7px 5px 2px; }
  .loud-hero-bottom { grid-template-columns:1fr 80px; gap:19px 20px; }
  .loud-hero-bottom > p { grid-column:1; font-size:12px; }
  .loud-hero-bottom > div { grid-row:2; grid-column:1; text-align:left; }
  .loud-hero-bottom .button { font-size:10px; padding:15px 20px; min-height:48px; gap:18px; }
  .loud-round-link { grid-column:2; grid-row:1/3; width:78px; height:78px; font-size:7px; }
  .loud-round-link > span { font-size:25px; }
  .loud-free { font-size:6px; letter-spacing:.06em; }
  .loud-photo { height:440px; }
  .loud-photo > img { object-position:58% center; }
  .loud-photo-caption { left:20px; right:20px; bottom:38px; }
  .loud-photo-caption h2 { font-size:47px; line-height:.98; margin:19px 0; }
  .loud-photo-caption .eyebrow { font-size:7px; }
  .loud-photo-caption .text-link { font-size:10px; }
  .loud-how { padding:45px 0; }
  .loud-how h2 { font-size:38px; }
  .loud-steps { grid-template-columns:1fr; gap:30px; margin-top:32px; }
  .loud-steps article { position:relative; padding:22px 0 0 75px; min-height:110px; }
  .loud-steps article > span { position:absolute; left:0; top:20px; font-size:51px; }
  .loud-steps h3 { font-size:24px; margin:0 0 10px; }
  .loud-steps p { font-size:12px; }
  .loud-gifts { padding:45px 0; }
  .nsection-top { display:block; margin-bottom:30px; }
  .nsection-top > p { margin-top:18px; font-size:12px; }
  .nsection-top h2 { font-size:46px; }
  body[data-theme=loud] .nsection-top h2 { font-size:38px; }
  .loud-gifts .nsection-top .text-link { margin-top:20px; font-size:11px; }
  .loud-gift-grid { grid-template-columns:1fr; gap:25px; }
  .loud-gift-grid img { height:250px; }
  .loud-gift-grid strong { font-size:34px; }
  .new-templates { padding:45px 0 50px; }
  .n-template-grid { grid-template-columns:1fr; gap:29px; }
  .ntile-window { height:320px; }
  .ntile-loud .ntile-window { padding:25px; }
  .ntile-loud strong { font-size:75px; }
  .ntile-top,.ntile-bottom { font-size:8px; }
  .ntile-wishlist .ntile-window { display:grid; grid-template-columns:1fr 1fr; }
  .ntile-wishlist .ntile-window img { height:100%; }
  .ntile-wishlist .ntile-window > div { position:static; background:none; padding:20px; }
  .ntile-wishlist strong { font-size:40px; margin-top:15px; }
  .ntile-wishlist strong br { display:initial; }
  .ntile-bluehour strong { font-size:42px; }
  .ntile-label { display:flex; font-size:12px; }
  .ntile-label > span:last-child { margin-top:0; font-size:10px; }
  .nfaq { grid-template-columns:1fr; gap:15px; padding:45px 0 50px; }
  .nfaq h2 { font-size:47px; }
  .nfaq h2 br { display:none; }
  .nfaq h2 em { margin-left:.14em; }
  .nfaq summary { font-size:12px; }
  body[data-theme=loud] .nfaq h2 { font-size:43px; }
  .loud-final { padding:45px 20px 55px; }
  .loud-final h2 { font-size:clamp(38px,9.6vw,56px); margin:25px 0 30px; }
  .loud-final .button { font-size:11px; padding:17px 22px; }
  .wish-hero { grid-template-columns:1fr; gap:18px; padding-top:8px; }
  .wish-intro { padding:31px 27px; min-height:0; border-radius:22px; }
  .wish-intro .eyebrow { font-size:7px; }
  .wish-intro h1 { font-size:76px; margin:25px 0; }
  .wish-intro > p:not(.eyebrow) { font-size:12px; }
  .wish-intro .button { font-size:11px; padding:15px 20px; gap:25px; }
  .wish-handnote { font-size:16px; max-width:190px; }
  .wish-corner { width:68px; height:68px; right:17px; bottom:19px; }
  .wish-mosaic { grid-template-rows:330px 275px; gap:16px; }
  .wish-mosaic > * { border-radius:20px; }
  .wish-feature > div { padding:24px; }
  .wish-feature strong { font-size:45px; }
  .wish-feature small { font-size:6px; }
  .wish-feature > div > span { font-size:10px; }
  .wish-card-tag { font-size:6px; }
  .wish-dinner img { height:150px; }
  .wish-dinner > div { padding:15px; }
  .wish-dinner strong { font-size:26px; }
  .wish-love { padding:16px; }
  .wish-love p { font-size:32px; margin-top:26px; }
  .wish-love .text-link { font-size:8px; margin-top:14px; }
  .wish-label-row { padding:23px 0; font-size:6px; gap:10px; }
  .wish-label-row > span:nth-child(even) { font-size:13px; }
  .wish-how { grid-template-columns:1fr; gap:35px; padding:45px 0; }
  .wish-how h2 { font-size:53px; }
  .wish-how > div > p:last-child { font-size:12px; }
  .wish-step-list article { padding:23px 0; gap:24px; }
  .wish-step-list h3 { font-size:29px; }
  .wish-step-list p { font-size:12px; }
  .wish-story { padding:45px 0; }
  .wish-story > div { grid-template-columns:1fr; gap:40px; }
  .wish-couple-photo { margin:0 12px; }
  .wish-couple-photo img { height:335px; }
  .wish-couple-photo > span { font-size:23px; }
  .wish-story h2 { font-size:65px; }
  .wish-story p:not(.eyebrow) { font-size:13px; }
  .wish-final { padding:30px 25px; display:block; margin-bottom:25px; }
  .wish-final h2 { font-size:49px; }
  .wish-final .button { margin-top:27px; font-size:11px; }
  .wish-final-heart { right:8px; top:80px; font-size:180px; }
  .blue-hero { height:740px; }
  .blue-cover { object-position:58% center; }
  .blue-hero::before { background:linear-gradient(90deg,#073042a6,#07304230),linear-gradient(0deg,#07304277,transparent 60%); }
  .blue-hero .nheader .button { font-size:7px; padding:12px; gap:10px; }
  .blue-hero-content { padding-top:156px; }
  .blue-hero-content .eyebrow { font-size:7px; letter-spacing:.17em; }
  .blue-hero h1 { font-size:clamp(68px,17.5vw,95px); line-height:.93; margin:24px 0 29px; }
  .blue-hero h1 em { display:block; }
  .blue-hero-bottom { display:block; }
  .blue-hero-bottom p { font-size:12px; }
  .blue-hero-bottom .button { font-size:9px; margin-top:25px; padding:15px 19px; }
  .blue-photo-footer { bottom:22px; gap:20px; }
  .blue-photo-footer > span:first-child { display:none; }
  .blue-photo-footer > span:last-child { font-size:6px; max-width:90px; text-align:right; }
  .blue-photo-footer button { font-size:9px; }
  .blue-photo-footer button span { margin-left:17px; }
  .blue-statement { padding:50px 0; }
  .blue-statement > div { grid-template-columns:1fr; gap:28px; margin-top:23px; }
  .blue-statement h2 { font-size:clamp(47px,13.3vw,60px); }
  .blue-small-heart { font-size:32px; margin-bottom:18px; }
  .blue-statement > div > div { max-width:none; padding:0; }
  .blue-statement p:not(.eyebrow) { font-size:13px; }
  .blue-experiences { grid-template-columns:1fr; }
  .blue-experience-main { height:470px; }
  .blue-experience-main > span { left:22px; font-size:7px; }
  .blue-experience-side { padding:35px 22px 28px; }
  .blue-experience-side h2 { font-size:68px; }
  .blue-experience-side p:not(.eyebrow) { font-size:13px; }
  .blue-experience-side .text-link { font-size:11px; }
  .blue-experience-side > img { height:245px; }
  .blue-how { padding:50px 0; }
  .blue-steps { grid-template-columns:1fr; gap:27px; margin-top:30px; }
  .blue-steps article { position:relative; padding:23px 0 0 43px; }
  .blue-steps article > span { position:absolute; top:25px; left:0; font-size:27px; }
  .blue-steps h3 { margin:0 0 12px; font-size:30px; }
  .blue-steps p { font-size:12px; }
  .blue-final { padding:50px 20px 60px; }
  .blue-final h2 { font-size:clamp(52px,14vw,74px); }
  .blue-final .button { font-size:9px; }
  .blue-final > span { font-size:23px; }
  .registry-header .brand .brand-second { display:block; }
  .registry-header nav { font-size:9px; gap:14px; }
  body[data-theme=loud] .registry-hero { height:565px; display:block; }
  body[data-theme=loud] .registry-cover { width:100%; height:220px; bottom:0; top:auto; object-position:50% 45%; }
  body[data-theme=loud] .registry-title { padding:33px 20px 0; text-align:left; }
  body[data-theme=loud] .registry-title h1 { font-size:clamp(53px,14.3vw,77px); margin:20px 0; }
  body[data-theme=loud] .registry-title > p:not(.eyebrow) { margin:0; max-width:300px; font-size:10px; }
  body[data-theme=loud] .registry-title .button { margin-top:20px; }
  body[data-theme=loud] .story-section h2 { font-size:29px; }
  body[data-theme=loud] .gifts-section h2 { font-size:34px; }
  body[data-theme=loud] .wedding-grid h3 { font-size:16px; }
  body[data-theme=loud] .gift-content h3 { font-size:27px; }
  body[data-theme=loud] .registry-thanks h2 { font-size:37px; }
  body[data-theme=wishlist] .registry-hero { width:calc(100% - 32px); height:auto; padding-top:280px; border-radius:22px; }
  body[data-theme=wishlist] .registry-cover { width:100%; height:280px; object-position:55% 40%; }
  body[data-theme=wishlist] .registry-title { width:100%; margin-left:0; padding:30px 20px 35px; }
  body[data-theme=wishlist] .registry-title h1 { font-size:clamp(53px,14.2vw,74px); margin:18px 0; }
  body[data-theme=wishlist] .registry-title .button { font-size:10px; margin-top:24px; }
  body[data-theme=bluehour] .registry-hero { height:570px; }
  body[data-theme=bluehour] .registry-title h1 { font-size:clamp(63px,16.3vw,88px); }
  body[data-theme=bluehour] .registry-thanks h2 { font-size:48px; }
}
