/* True Love Fotos — manual v1.0. Supplied logos retain their full canvas. */
@font-face{font-family:Montserrat;src:url('/brand/Montserrat-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url('/brand/Montserrat-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'DM Sans';src:url('/brand/DM-Sans-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'DM Sans';src:url('/brand/DM-Sans-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
:root,body,body.home,body.family,body.quince{--paper:#fff;--ink:#202020;--accent:#202020;--muted:#505050;--line:#d6d3d0;--tint:#F7F3EE;--red:#ED1524;--serif:Montserrat,Arial,sans-serif;--sans:'DM Sans',Arial,sans-serif;background:var(--paper)}
body{font-size:18px;line-height:1.6;font-synthesis:none}strong,b{font-weight:500}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.025em;overflow-wrap:normal}h1{line-height:1.17}h2{font-weight:500;line-height:1.27}h3{font-weight:500;line-height:1.36}em{font-style:normal}p{line-height:1.65}.eyebrow,.hero .eyebrow,.quince-journey .eyebrow{font-family:var(--sans);font-size:14px;letter-spacing:.08em;font-weight:500;color:var(--ink)}.eyebrow:before{content:'';display:inline-block;width:22px;height:2px;background:var(--red);vertical-align:middle;margin-right:12px}.hero h1,.q-hero h1{font-size:clamp(36px,4.2vw,56px)}.hero h1 br{display:none}
.button,.header-row .button,.hero-actions .button{background:var(--ink);border-color:var(--ink);color:#fff;border-radius:8px;font-size:16px;font-weight:500;min-height:48px;padding:13px 22px}.button:hover{background:#383838;transform:none}.button.secondary{background:transparent;color:var(--ink)}.button.secondary:hover{background:var(--tint)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:4px}.text-link{font-size:16px}button{border-radius:8px}.header-row{height:auto;min-height:160px;gap:25px;padding-block:12px}.header-row nav{gap:22px}.header-row nav a,.home-header nav a{font-size:14px;letter-spacing:.02em;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}.brand,.home-header .brand,.footer-row>.brand{display:block;width:400px;flex:0 0 400px;max-width:none;line-height:0;letter-spacing:normal}.brand picture{display:block}.brand img{width:100%;height:auto;object-fit:contain}.home-header .brand{margin:auto}.home-header{padding-top:12px}.home-header nav{padding:18px 0 24px}.brand-symbol{width:120px;height:auto;flex:0 0 120px;object-fit:contain}.footer-row{flex-wrap:wrap}.footer-row p,.footer-row p span,.footer-row>a:last-child{font-size:14px}.home-footer nav a{font-size:14px}
.hero-photo{height:auto;background:transparent;overflow:visible}.hero-photo>img{height:620px}.hero-photo figcaption,.q-hero figcaption{position:static;background:none;color:var(--muted);padding:14px 0 0;display:block;font-family:var(--sans);font-size:14px}.hero-photo figcaption>span:first-child{font-family:var(--sans);font-size:14px}.hero-photo figcaption small{display:inline;font-size:14px;letter-spacing:0;margin-left:12px}.hero-side{display:none}.hero{gap:56px;padding-top:44px}.q-hero img{height:620px}.q-hero{gap:56px}.hero .micro,.q-hero .micro{font-size:14px}.editor-note{font-size:22px;font-style:normal;border-left-color:var(--red)}.index,.offer-list li:before,.home-process li>span{font-style:normal;font-weight:400}.guide-card,.q-timeline li{border-top-color:var(--red)}.timing-note,.location-note{border-left-color:var(--red)}.feature{background:var(--tint);color:var(--ink)}.feature-copy .eyebrow,.feature-copy p{color:var(--ink)}.feature-copy .button{background:var(--ink);color:#fff;border-color:var(--ink)}.feature-copy .button:hover{background:#383838}.q-ribbon{background:var(--tint);color:var(--ink);border-block:1px solid var(--line)}.q-emotion{background:var(--tint)}.q-emotion h2,.q-emotion p,.q-emotion .eyebrow{color:var(--ink)}.q-option-grid article{border-color:var(--line);border-radius:8px}.q-option-grid article.q-option-main{border-color:var(--ink)}.q-day-copy h3,.q-option-grid h3{font-size:28px}.q-day-grid article{border-radius:8px;overflow:hidden}.form-shell{border-radius:10px;box-shadow:none}.form-help{font-size:14px}.mobile-cta{background:#fff}.mobile-cta>span{font-family:var(--sans)}.mobile-cta small{font-size:13px}.lightbox{background:#202020f5}.lightbox::backdrop{background:#202020}.gallery-section{background:#fff;border-block:1px solid var(--line)}.carousel-track .gallery-image{background:var(--tint)}.carousel-dots button[aria-current=true]{background:var(--red)}.enlarge{background:#202020cc}.carousel-controls button{font-family:var(--sans);font-weight:500}.gallery-caption>span{font-size:14px}
/* Homepage: the promise and photography occupy separate, equally weighted spaces. */
.home-hero{width:min(1240px,calc(100% - 96px));margin:24px auto 0;display:grid;grid-template-columns:1fr 1.12fr;align-items:center;gap:60px;height:auto;min-height:0;background:#fff;overflow:visible}.home-hero>img{grid-column:2;grid-row:1;height:570px;object-position:46% center}.home-hero-shade{display:none}.home-hero-copy{position:static;grid-column:1;grid-row:1;transform:none;color:var(--ink);max-width:none;text-align:left}.home-hero-copy h1{font-size:clamp(36px,4vw,52px);line-height:1.18}.home-hero-copy .eyebrow{color:var(--ink)}.home-hero-copy .button{background:var(--ink);color:#fff;border-color:var(--ink)}.home-hero-copy .brand-promise{margin-top:24px;font-size:18px;line-height:1.65}.home-intro{padding-block:90px;text-align:left;max-width:850px}.home-intro h2{font-size:36px}.home-intro p:not(.eyebrow){line-height:1.65}.home-section-heading h2,.connection-grid h2,.home-oscar h2{font-size:36px}.service-picture{height:auto;overflow:visible;text-decoration:none}.service-picture img{height:540px}.service-picture span{display:block;position:static;background:none;color:var(--ink);padding:20px 0 0;font-size:14px;letter-spacing:.08em}.service-copy{text-align:left;padding-inline:0}.service-copy h3{font-size:28px}.service-copy p{max-width:none}.home-guide-grid h3,.home-oscar aside h3{font-size:28px}.home-contact{background:var(--tint);color:var(--ink)}.home-contact .eyebrow,.home-contact p{color:var(--ink)}.home-contact h2{font-size:40px}.home-contact .button{background:var(--ink);color:#fff;border-color:var(--ink)}.home-contact .button.secondary{background:transparent;color:var(--ink)}.home-contact .micro{font-size:14px}.home-process li>span{font-size:26px;color:var(--red)}
@media(max-width:1100px){.header-row nav{display:none}.home-hero{gap:35px;width:calc(100% - 64px)}.hero,.q-hero{gap:32px}.hero-photo>img,.q-hero img{height:540px}.home-hero>img{height:530px}}
@media(max-width:700px){.brand,.home-header .brand,.footer-row>.brand{width:120px;flex-basis:120px}.header-row{min-height:140px;padding-block:8px;gap:18px}.header-row .button{font-size:14px;padding:12px 16px;max-width:175px}.home-header{padding-top:8px}.home-header nav{padding:10px 0 20px}.home-header nav a{font-size:14px}.hero,.q-hero{display:grid;grid-template-columns:1fr;gap:30px;padding-top:28px}.hero-copy{display:block;padding:0}.hero h1,.q-hero h1{font-size:32px;line-height:1.2;margin-bottom:0}.hero h1 br{display:initial}.hero .intro,.q-hero .intro{font-size:18px;margin:24px 0}.hero .eyebrow{margin-bottom:18px}.hero .micro{font-size:14px;margin-top:18px;max-width:none}.hero-photo,.family .hero-photo{height:auto}.hero-photo>img{height:460px}.family .hero-photo>img{height:320px}.q-hero img{height:460px}.hero-photo figcaption,.q-hero figcaption{padding:12px 0 0}.hero-photo figcaption>span:first-child{font-size:14px}h2,.desire h2,.planning h2,.consult-copy h2,.feature-copy h2,.packing-grid h2,.author-grid h2{font-size:30px;line-height:1.27}.guide-card h3,.plan-item h3,.essentials-grid h3,.q-timeline h3{font-size:22px}.q-day-copy h3,.q-option-grid h3{font-size:25px}.eyebrow,.hero .eyebrow,.quince-journey .eyebrow{font-size:14px;letter-spacing:.045em}.hero-actions .button{font-size:16px}.brand-symbol{width:120px;flex-basis:120px}.author-label{gap:16px}.author-label em{font-size:30px}.home-hero{width:calc(100% - 40px);grid-template-columns:1fr;gap:30px;margin-top:25px}.home-hero-copy{grid-column:1;grid-row:1}.home-hero>img{grid-column:1;grid-row:2;height:360px;object-position:42% center}.home-hero-copy h1{font-size:32px;line-height:1.2}.home-hero-copy .eyebrow{font-size:14px}.home-hero-copy .button{font-size:16px;padding:14px 20px}.home-intro h2,.home-section-heading h2,.connection-grid h2,.home-oscar h2,.home-contact h2{font-size:30px}.home-intro p:not(.eyebrow),.service-copy p,.connection-grid>div>p:not(.eyebrow),.home-contact p{font-size:18px}.home-intro{padding-block:65px}.service-picture{height:auto}.service-picture img{height:440px}.service-copy h3{font-size:26px}.home-footer .footer-row{justify-content:center}.footer-row .brand{margin-inline:auto}.footer-row p{font-size:14px}.home-hero-copy br{display:none}.home-process ol{grid-template-columns:1fr}.q-hero h1 br{display:none}}
/* Premium refinement: brand-red actions, accessible contrast, consistent proportions. */
:root{--action:#d31322;--action-hover:#b70f1c;--space:clamp(64px,7vw,104px)}
h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}
h2{font-size:clamp(30px,3.1vw,44px)}
a.button,.header-row a.button,.hero-actions a.button,.home-hero-copy a.button,.feature-copy a.button,.home-contact a.button,.mobile-cta a.button{background:var(--action);border:1px solid var(--action);color:#fff;font:500 17px/1.4 var(--sans);padding:14px 24px;min-height:52px;max-width:100%;border-radius:6px;transition:background .18s,border-color .18s}
a.button:hover,.header-row a.button:hover,.hero-actions a.button:hover,.home-hero-copy a.button:hover,.feature-copy a.button:hover,.home-contact a.button:hover,.mobile-cta a.button:hover{background:var(--action-hover);border-color:var(--action-hover);color:#fff}
a.button.secondary,.feature-copy a.button.secondary,.home-contact a.button.secondary{background:transparent;border-color:var(--action);color:var(--action)}
a.button.secondary:hover,.feature-copy a.button.secondary:hover,.home-contact a.button.secondary:hover{background:var(--action);color:#fff}
.header-row{flex-wrap:nowrap;min-height:150px}.header-row nav{gap:20px}.header-row a.button{max-width:240px;flex-shrink:0;font-size:16px;padding:13px 20px}
.header-row nav a,.home-header nav a{text-decoration:none;border-bottom:1px solid transparent;padding-bottom:4px}.header-row nav a:hover,.home-header nav a:hover{border-bottom-color:var(--red)}
.hero,.q-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.03fr);gap:clamp(32px,4vw,60px);padding-block:40px 56px}
.hero h1,.q-hero h1{font-size:clamp(36px,3.6vw,52px);line-height:1.18;letter-spacing:-.035em}.hero h1 br,.q-hero h1 br{display:none}
.hero-photo>img,.q-hero img{height:auto;aspect-ratio:3/4;object-position:center top}.family .hero-photo>img{aspect-ratio:4/3;object-position:center}.hero-photo{height:auto!important}
.home-hero>img{height:auto;aspect-ratio:1.12;object-position:20% center}.home-hero-copy h1{font-size:clamp(34px,3.4vw,50px)}
.service-picture img{height:auto;aspect-ratio:3/4;object-position:center top}.service-picture:hover img{transform:none}
.text-link,.home-guide-grid a,.home-oscar aside a{text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:6px}
.hero-actions{gap:20px}.hero .micro,.q-hero .micro{max-width:480px}.hero .intro{max-width:510px}
.form-shell{border-color:#d8d3ce;border-radius:12px;padding:12px;box-shadow:0 10px 36px #20202006}
.q-option-grid article.q-option-main{border-color:var(--red)}.q-option-grid article{border-radius:6px}.q-day-grid article{border-radius:6px}.q-timeline li>span:before{color:var(--action)}
.carousel-controls>button,.lightbox button{border-color:var(--red);border-radius:6px;min-height:44px}.carousel-controls>button{color:var(--action);background:#fff}.carousel-controls>button:hover{background:#fff3f4}
.carousel-dots button[aria-current=true]{background:transparent}.carousel-dots button:after,.carousel-dots button[aria-current=true]:after{background:var(--red)}.carousel-dots button:after{opacity:.45}.carousel-dots button[aria-current=true]:after{opacity:1;transform:scale(1.6)}
.carousel-track .enlarge{background:var(--action);border-radius:4px}.gallery-card{border-radius:0}.gallery-caption strong{font-weight:400}.gallery-caption>span{max-width:52ch;margin-inline:auto}
.faq-symbol:before,.faq-symbol:after{background:var(--red)}
.mobile-cta{gap:16px}.mobile-cta a.button{font-size:16px;min-height:46px;padding:11px 20px;flex-shrink:0}.mobile-cta>span{font-size:14px}.mobile-cta small{font-size:12px}
@media(max-width:1100px){.header-row nav{display:none}.header-row{justify-content:space-between}.hero,.q-hero{gap:32px}.home-hero{gap:32px}.home-hero>img{aspect-ratio:4/5}.hero-photo>img,.q-hero img{height:auto}}
@media(min-width:701px) and (max-width:900px){.hero,.q-hero{align-items:start}.hero h1,.q-hero h1{font-size:36px}.hero-copy{padding:0}.hero .eyebrow,.q-hero .eyebrow{font-size:12px}.home-hero{align-items:start}.home-hero-copy h1{font-size:36px}}
@media(max-width:700px){
.header-row{min-height:132px;gap:12px;padding-block:6px}.header-row a.button{max-width:calc(100% - 132px);font-size:15px;padding:12px 14px;min-height:48px}
.hero,.q-hero{grid-template-columns:1fr;gap:26px;padding-block:28px 40px}.hero h1,.q-hero h1{font-size:34px;line-height:1.18}.hero .eyebrow,.q-hero .eyebrow{font-size:12px;letter-spacing:.06em;margin-bottom:18px}.hero .intro,.q-hero .intro{font-size:17px;line-height:1.65;margin:22px 0}.hero .micro,.q-hero .micro{font-size:13px}
.hero-actions a.button,.q-hero a.button{width:100%;font-size:17px;padding:14px 18px}.hero-actions{gap:16px}.hero-photo>img,.q-hero img{height:auto;aspect-ratio:3/4}.family .hero-photo>img{height:auto;aspect-ratio:3/2}
.home-hero{gap:28px;margin-top:22px}.home-hero-copy h1{font-size:34px}.home-hero-copy .brand-promise{font-size:17px}.home-hero>img{height:auto;aspect-ratio:4/3;object-position:20% center}.home-hero-copy a.button{font-size:17px}.home-contact-choices{max-width:350px}
.service-picture img{height:auto;aspect-ratio:3/4}.home-header nav{gap:20px}.home-header nav a{font-size:13px}
.carousel-track{--slide-height:400px}.carousel-track .gallery-image{height:var(--slide-height)}.carousel-track .gallery-caption strong{font-size:21px}.carousel-controls{gap:16px}.carousel-controls>button{font-size:14px;min-width:124px}
.form-shell{padding:4px}.lightbox-controls>span{font-size:11px}.q-day-copy{padding:24px}.q-option-grid article{padding:24px}.q-option-grid a.button{font-size:16px}.q-day-grid img{height:auto;aspect-ratio:4/5}.q-day-grid article+article img{aspect-ratio:4/3}
}
@media(max-width:360px){.header-row a.button{font-size:14px;padding:10px}.hero h1,.q-hero h1,.home-hero-copy h1{font-size:31px}.home-header nav{gap:15px}.home-header nav a{font-size:12px}.carousel-track{--slide-height:360px}.mobile-cta{padding-inline:16px}.mobile-cta a.button{padding-inline:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
