/* Shared reading scale, loaded last on all JA/EN routes and 404. */
:root{--lol-reading-body:1rem;--lol-reading-note:.8125rem;--lol-reading-title:clamp(2rem,1.25rem + 2.8vw,4rem)}
main :is(section,article,form,figure,.form-grid)>*{min-width:0}
main p,main li{overflow-wrap:break-word}
main :is(h1,h2,h3){text-wrap:pretty}
.intro h2,.ed-intro h2,.ed-profile-work h2,.ed-moments-title h2,#pricing h2,.faq-layout h2,.inquiry-intro h2{
 font-size:var(--lol-reading-title);line-height:1.4;letter-spacing:-.025em}
.intro p,.intro .lead,.ed-intro p,.ed-profile-title p,.ed-profile-work p,.ed-moments-title p,
.ed-hero-description,.ed-proposal-copy p,.numbered p,.preparation li,.include-list li,
.inquiry-intro p,.faq details p,.xp-panel-detail p,.ed-service-row p,.ed-included-list p{
 font-size:var(--lol-reading-body);line-height:1.9}
.lead,.pricing-note{font-size:var(--lol-reading-body);line-height:1.9}
.small,.ed-profile-work .small,.inquiry-intro .small,.price-box .small,#pricing .small,
.ed-equipment .small,.ed-delivery .small,.ed-delivery-values small,.ed-work-note{
 font-size:var(--lol-reading-note);line-height:1.8}
.ed-kicker,.eyebrow{font-size:.75rem;line-height:1.6}
.ed-button,.ed-profile-title .ed-button,.ed-proposal-copy .ed-button,.button{
 font-size:.9375rem;line-height:1.65;min-height:56px;white-space:normal}
.ed-link{font-size:.875rem;line-height:1.7}
.ed-actions,.actions{flex-wrap:wrap}
.ed-hero-bottom p{font-size:.9375rem;line-height:1.8}
.ed-hero-price>span,.ed-hero-price small{font-size:.8125rem;line-height:1.7}
.ed-hero-price{gap:8px 24px}
.ed-hero-price strong{letter-spacing:-.025em}
.ed-hero-head>span{font-size:.8125rem;line-height:1.6}
.ed-profile-title{padding-bottom:0}
.ed-profile-title h1{font-size:clamp(3rem,1.15rem + 4.5vw,5.5rem)}
.ed-profile-title .ed-kicker{font-size:.75rem}
.ed-profile-hero{min-height:0;gap:6%;padding-block:64px 96px}
.ed-profile-work{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 8%;padding:64px 0 96px}
.ed-profile-work>div{grid-column:1/-1;padding-top:0;max-width:900px}
.ed-profile-work h2{margin:24px 0}
.ed-profile-work p{max-width:42em}
.ed-profile-work .small{margin-top:24px}
.ed-profile-work img{height:auto;aspect-ratio:4/5}
.ed-profile-work figure:last-of-type{padding-top:88px}
.ed-profile-hero figcaption,.ed-profile-work figcaption,.ed-moments figcaption,
.ed-home-photo figcaption,.ed-equipment figcaption,.ed-photographer-photo figcaption{
 font-size:.75rem;line-height:1.7;letter-spacing:.04em}
.ed-photographer-details>div{grid-template-columns:minmax(100px,.65fr) minmax(0,1fr);gap:20px}
.ed-photographer-details dt{font-size:.75rem;line-height:1.7}
.ed-photographer-details dd{font-size:.875rem;line-height:1.8}
.ed-proposal-hero{height:auto;min-height:0}
.ed-proposal-copy{height:auto;min-height:710px;padding-top:88px;padding-bottom:24px}
.ed-proposal-copy .ed-kicker{font-size:.75rem}
.ed-proposal-copy p{max-width:32em}
.ed-proposal-location{position:static;font-size:.75rem;line-height:1.7;margin-top:40px}
.ed-proposal-caption{display:block;position:relative;inset:auto;text-align:right;font-size:.75rem;line-height:1.7;padding:20px 32px 24px}
.ed-moments-title{padding:32px 0}
.ed-moments-title p{max-width:34em}
.ed-delivery-values span{font-size:.875rem;line-height:1.7}
.ed-delivery-values p{min-width:0}
.price-formula{font-size:1rem;line-height:2.1}
.price-box>label{font-size:.9375rem;line-height:1.7}
.include-list li{padding-block:12px}
.profile-check h3,.preparation h3,.numbered h3{font-size:1.375rem;line-height:1.5}
.numbered{gap:40px}
.numbered article{padding-top:28px}
.numbered h3{margin-top:8px;margin-bottom:16px}
.preparation{gap:32px;padding:32px}
.faq-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:7%}
.faq details{padding:24px 0}
.faq summary{font-size:1.125rem;line-height:1.7;font-weight:550}
.faq details p{padding-top:16px;max-width:42em}
.inquiry-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:7%}
.inquiry-intro p{max-width:36em}
.field{font-size:.9375rem;line-height:1.7;gap:10px}
.field input,.field select,.field textarea{font-size:1rem;line-height:1.6;min-width:0;max-width:100%}
.field select{white-space:normal}
.field textarea{min-height:144px}
.form-grid{gap:24px}
.check{font-size:.875rem;line-height:1.8}
.form-message{font-size:1rem;line-height:1.8}
.privacy-content{max-width:1080px}
.privacy-content h1,.not-found h1{font-size:var(--lol-reading-title);line-height:1.4;letter-spacing:-.025em}
.privacy-copy{margin-top:48px;max-width:44em}
.privacy-copy p,.not-found p{font-size:1rem;line-height:1.95;margin-top:24px}
.not-found{min-height:55vh}
.footer .small{font-size:.8125rem;line-height:1.8}
.footer-links a{font-size:.875rem;line-height:1.7}
.footer-inner{gap:40px}
.xp-chapters a{font-size:.8125rem;line-height:1.6}
.xp-chapters span{font-size:.6875rem}
.xp-viewer-top>span,.xp-viewer button,.xp-viewer figcaption p{font-size:.875rem;line-height:1.6}
.xp-viewer figcaption span,.xp-viewer figcaption small{font-size:.75rem;line-height:1.6}
@media(max-width:1100px){
 .faq-layout,.inquiry-layout{grid-template-columns:minmax(0,1fr);gap:40px}
 .inquiry-intro{position:static;max-width:760px;margin-bottom:0}
 .team .numbered{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ed-profile-hero{gap:5%}
}
@media(max-width:700px){
 :root{--lol-reading-title:clamp(2rem,1.15rem + 3.5vw,2.625rem)}
 .ed-kicker,.eyebrow{font-size:.6875rem}
 .ed-company-stage{display:flex;flex-direction:column;min-height:0;overflow:visible}
 .ed-company-copy{order:0;padding-top:36px;padding-bottom:24px}
 .ed-studio-image{order:1;position:relative;inset:auto;height:auto;aspect-ratio:1.2;object-position:78% center}
 .ed-image-caption{order:2;position:static;padding:12px 20px 16px;font-size:.6875rem;text-align:right}
 .ed-hero-description{max-width:100%}
 .ed-hero-description br{display:none}
 .ed-hero-head>span{font-size:.75rem}
 .ed-hero-price{gap:8px 16px}
 .ed-hero-price small{font-size:.75rem;white-space:normal}
 .ed-profile-hero{padding-block:40px 64px}
 .ed-profile-title h1{font-size:clamp(2.7rem,.8rem + 8vw,3.75rem);margin:24px 0}
 html[lang=en] .ed-profile-title h1{font-size:clamp(2.8rem,1rem + 7.5vw,3.75rem)}
 .ed-profile-title .ed-kicker{font-size:.6875rem}
 .ed-profile-title p{margin-bottom:28px}
 .ed-profile-hero figure{margin:40px 0 0}
 .ed-profile-work{padding-block:24px 64px;gap:28px 16px}
 .ed-profile-work h2{margin-block:20px}
 .ed-profile-work .small{margin-top:20px}
 .ed-profile-work figure:last-of-type{padding-top:48px}
 .ed-profile-work img{height:auto;aspect-ratio:3/4}
 .ed-profile-work figcaption,.ed-moments figcaption{font-size:.6875rem;letter-spacing:.02em}
 .ed-photographer-details>div{grid-template-columns:minmax(0,1fr);gap:6px}
 .ed-proposal-copy{min-height:640px;padding-top:72px;padding-bottom:16px;justify-content:flex-end}
 .ed-proposal-copy h1{font-size:clamp(2.8rem,1rem + 7.5vw,3.8rem);margin-block:24px}
 html[lang=en] .ed-proposal-copy h1{font-size:clamp(2.6rem,.8rem + 7.5vw,3.5rem)}
 .ed-proposal-copy .ed-kicker{font-size:.6875rem}
 .ed-proposal-copy p{margin-bottom:28px}
 .ed-proposal-location{margin-top:32px;font-size:.6875rem}
 .ed-proposal-caption{padding:12px 20px 24px;font-size:.6875rem;text-align:left}
 .ed-moments-title{padding:16px 0 8px}
 .ed-moments-title h2{margin:20px 0}
 .numbered,.team .numbered{grid-template-columns:minmax(0,1fr);gap:32px}
 .numbered article{grid-template-columns:2.5rem minmax(0,1fr);gap:8px 16px}
 .numbered h3{margin:0}
 .numbered p{margin:0}
 .preparation{padding:24px;gap:24px}
 .ed-delivery-values{grid-template-columns:minmax(0,1fr);gap:24px}
 .ed-delivery-values small{font-size:.8125rem}
 .faq summary{font-size:1rem;padding-right:12px}
 .inquiry-layout,.faq-layout{gap:32px}
 .field{font-size:.875rem}
 .form-grid{grid-template-columns:minmax(0,1fr)}
 .field.full{grid-column:1}
 .footer-inner{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
 .footer-links{margin:0;gap:4px 24px}
 .xp-chapters{left:16px;right:16px;bottom:64px}
 .xp-chapters a{font-size:.75rem;padding:12px 8px}
 .xp-viewer{padding:16px 12px}
 .xp-viewer-top>span{font-size:.75rem}
 .xp-viewer button{font-size:.8125rem;padding:10px}
 .xp-viewer figcaption p{font-size:.8125rem}
 .xp-viewer figcaption span,.xp-viewer figcaption small{font-size:.6875rem}
 .privacy-copy{margin-top:32px}
}
@media(max-width:360px){
 .ed-hero-price{grid-template-columns:minmax(0,1fr)}
 .ed-hero-price small{grid-column:1}
}
/* Long names and enlarged English headings may wrap instead of overflowing. */
.ed-photographer-copy h2{white-space:normal;overflow-wrap:anywhere}
.ed-company-copy h1,.ed-profile-title h1,.ed-proposal-copy h1{overflow-wrap:anywhere}


/* Keep important phrases intact while allowing enlarged text to reflow. */
.text-phrase{display:inline-block;max-width:100%;white-space:normal}
@media(max-width:700px){
 main h1,main h2,main h3{text-wrap:balance;line-break:strict}
 .ed-home-copy>p,.ed-hero-description,.ed-profile-title>p,.ed-proposal-copy>p{text-wrap:pretty}
 .ed-hero-description br{display:initial}
 html[lang=en] .ed-company-copy h1{font-size:clamp(2.25rem,.75rem + 7vw,3.375rem);line-height:1.15}
 .ed-actions .ed-button,.ed-profile-title .ed-button,.ed-proposal-copy>.ed-button{justify-content:center;text-align:center}
 .ed-delivery h2{line-height:1.45}
 .preparation h3{font-size:1.25rem;line-height:1.6}
 .xp-panel h3 br{display:initial}
}
@media(max-width:360px){
 .ed-home-copy h1{font-size:2.375rem}
 .ed-profile-title h1{font-size:2.5rem}
 html[lang=en] .ed-home-copy h1{font-size:2.125rem}
 .ed-company-copy h1{font-size:2.625rem}
}

@media(max-width:700px){.footer-links a{display:inline-flex;align-items:center;min-height:44px}.ed-link{min-height:44px;align-items:center}}

/* The proposal FAQ title fits on one line; enlarged text can still reflow. */
.proposal .proposal-faq-heading{font-size:clamp(1.5rem,.5rem + 4.5vw,3.5rem);line-height:1.5;letter-spacing:-.03em;text-wrap:initial}

/* Keep the policy readable on phones, with clear topic boundaries. */
.privacy-topic + .privacy-topic{margin-top:48px}
.privacy-topic h3{font-family:var(--font-sans, sans-serif);font-size:1.2rem;line-height:1.65;letter-spacing:0}
.privacy-copy .privacy-topic p{margin-top:16px;overflow-wrap:anywhere}
.policy-date{margin-top:16px;font-size:.88rem;color:#626259}
