@layer reset,base,components,responsive;
@font-face{font-family:"LOL Inter";src:url("/assets/fonts/inter.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:"LOL Sans";src:url("/assets/fonts/noto-sans-jp.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:"LOL Serif";src:url("/assets/fonts/noto-serif-jp.woff2") format("woff2");font-style:normal;font-weight:200 900;font-display:swap}
@layer reset{*{box-sizing:border-box}body,h1,h2,h3,p,figure{margin:0}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}a{color:inherit}button{cursor:pointer}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}}
@layer base{
:root{--blue-50:#f0f5fc;--blue-100:#e2ebf8;--blue-200:#c8d8ef;--blue-300:#a2bce2;--blue-400:#7198d6;--blue-500:#4576ca;--blue-600:#2b56b3;--blue-700:#21458f;--blue-800:#1c386f;--blue-900:#192e52;--ink:#1c2c42;--paper:#fff;--surface:#fff;--muted:#536174;--line:#d7dfe9;--accent:var(--blue-600);--accent-hover:var(--blue-700);--accent-soft:var(--blue-50);--sans:"LOL Inter","LOL Sans","Hiragino Kaku Gothic ProN",sans-serif;--serif:"LOL Serif","Hiragino Mincho ProN",serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-24:96px;--radius-sm:6px;--radius-md:12px;--duration:180ms;--ease:cubic-bezier(.2,0,0,1)}
html{scroll-behavior:smooth;scroll-padding-top:112px}
body{font-family:var(--sans);font-size:1rem;line-height:1.85;color:var(--ink);background:var(--paper);line-break:strict;hanging-punctuation:allow-end}
body:lang(en){line-height:1.65}
body.profile{--accent:#315f69;--accent-hover:#254b54;--accent-soft:#eef5f5}
body.proposal{--accent:#7c3a49;--accent-hover:#612c38;--accent-soft:#f8f0f2;--paper:#fdfbf9;--line:#dfd7d5;--ink:#342b2e;--muted:#67585e}
.wrap{width:min(1248px,calc(100% - 96px));margin-inline:auto}
a{text-decoration-thickness:1px;text-underline-offset:5px}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
h1,h2,h3{font-weight:500;line-height:1.4;letter-spacing:.025em;font-feature-settings:"palt" 1;text-wrap:balance}
h1{font-size:clamp(2rem,1.3rem + 2.4vw,3.25rem)}
h2{font-size:clamp(1.75rem,1.15rem + 1.6vw,2.5rem)}
h3{font-size:1.25rem}
h1:lang(en),h2:lang(en),h3:lang(en){letter-spacing:-.025em;line-height:1.2}
p{max-width:40em}
p+p{margin-top:16px}
.section{padding-block:96px}
.eyebrow{display:block;font-size:.8125rem;font-weight:500;letter-spacing:.12em;line-height:1.6;margin-bottom:20px}
.eyebrow:lang(en){text-transform:uppercase}
.small,figcaption{font-size:.875rem;color:var(--muted);line-height:1.75}
.lead{font-size:1.0625rem;line-height:1.9}
.lead:lang(en){line-height:1.7}
.rule{border-top:1px solid var(--line)}
.skip{position:absolute;left:16px;top:-100px;z-index:200;background:var(--paper);padding:16px}.skip:focus{top:8px}
}
@layer components{
.preview-bar{background:#e9eef6;color:#344563;font-size:.8125rem;line-height:1.6;padding:8px 20px;text-align:center}
.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}
.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.logo{font-family:"LOL Inter",sans-serif;font-size:2rem;font-weight:700;letter-spacing:-.075em;line-height:1;text-decoration:none;flex:none}
.logo span{display:block;letter-spacing:.17em;font-size:.625rem;font-weight:500;margin-top:9px}
.nav{display:flex;align-items:center;gap:24px;margin-left:auto;flex-wrap:wrap}
.nav>a{font-size:.875rem;font-weight:500;padding-block:12px;min-height:44px;text-decoration:none}
.nav>a[aria-current]{text-decoration:underline;text-underline-offset:8px}
.nav .nav-cta{padding:10px 18px;color:#fff;background:var(--accent);border-radius:var(--radius-sm)}
.header-controls{display:flex;align-items:center;gap:12px}
.language-switch{display:flex;gap:2px;white-space:nowrap}
.language-switch a{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;padding:8px;font-size:.8125rem;color:var(--muted);text-decoration:none}
.language-switch a[aria-current]{color:var(--ink);text-decoration:underline;text-underline-offset:6px}
.menu-button{display:none;width:44px;height:44px;padding:12px;border:0;background:transparent}
.menu-button span{height:1px;width:20px;background:var(--ink);display:block;margin:6px 0;transition:transform var(--duration)}
.menu-button[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-button[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:16px 24px;border:1px solid var(--accent);border-radius:var(--radius-sm);font-size:.9375rem;font-weight:500;line-height:1.5;text-align:center;text-decoration:none;color:#fff;background:var(--accent);transition:background var(--duration)}
.button:hover{background:var(--accent-hover)}
.button.secondary{background:transparent;color:var(--accent)}
.button.secondary:hover{background:var(--accent-soft)}
.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:32px}
.text-link{display:inline-block;padding-block:12px;margin-top:16px;font-size:.9375rem;font-weight:500}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:64px;align-items:center;padding-block:56px}
.hero h1:lang(en){font-size:clamp(2.25rem,1rem + 3.4vw,4rem);line-height:1.12}
.hero-copy .lead{margin-top:24px}
.hero-image img{width:100%;height:570px;object-fit:cover;object-position:center 32%;border-radius:var(--radius-md)}
.hero-image figcaption{margin-top:12px}
.hero-meta{display:flex;flex-direction:column;gap:8px;margin-top:24px;font-size:.875rem;color:var(--muted)}
.hero-meta span:first-child{border-top:1px solid var(--line);padding-top:16px}
.intro{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:80px}
.intro .lead{margin-top:24px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:48px}
.section-heading>p{max-width:27em;color:var(--muted)}
.section-heading .eyebrow{color:var(--accent)}
.business-hero{background:var(--accent-soft);padding:64px 0}
.business-hero-grid{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(0,.9fr);gap:64px;align-items:center}
.service-label{font-size:.875rem;font-weight:500;color:var(--accent);letter-spacing:.04em;margin-bottom:24px}
.business-hero h1{font-size:clamp(2rem,1.3rem + 1.65vw,2.875rem);font-weight:500;line-height:1.5;letter-spacing:.015em}
.business-hero h1 span{display:block}
.business-hero h1:lang(en){font-size:clamp(2.25rem,1.4rem + 2.1vw,3.375rem);line-height:1.17;letter-spacing:-.03em}
.business-hero .lead{margin-top:24px}
.hero-footnote{font-size:.875rem;color:var(--muted);margin-top:20px}
.plan-summary{border-radius:var(--radius-md);padding:32px;background:#fff;border:1px solid var(--blue-200);box-shadow:0 8px 32px rgb(25 46 82 / .045)}
.summary-top{display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:24px;flex-wrap:wrap}
.summary-top .eyebrow{font-size:.75rem;margin:0;color:var(--accent)}
.summary-tag{font-size:.8125rem;color:var(--muted)}
.summary-count{font-size:.9375rem}
.summary-price{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap;font-family:"LOL Inter",var(--sans);font-size:clamp(2.75rem,2rem + 1.3vw,3.75rem);font-weight:500;letter-spacing:-.04em;line-height:1.2;font-variant-numeric:tabular-nums;margin-top:8px}
.summary-price .currency{font-size:1.75rem;margin-right:4px}
.summary-price .tax{font-size:.8125rem;font-weight:400;letter-spacing:0;margin-left:8px;color:var(--muted)}
.summary-formula{font-size:.8125rem;color:var(--muted);margin-top:12px}
.check-list{list-style:none;padding:0;margin:24px 0}
.check-list li{position:relative;padding-left:24px;margin-top:12px;font-size:.875rem;line-height:1.7}
.check-list li:before{content:"✓";position:absolute;left:0;font-weight:700;color:var(--accent)}
.summary-link{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.875rem;font-weight:500;color:var(--accent);padding:16px 0;border-top:1px solid var(--line);text-decoration:none}
.plan-summary>.small{font-size:.8125rem}
.section-nav{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;padding-block:20px;border-bottom:1px solid var(--line)}
.section-nav a{font-size:.875rem;text-decoration:none;min-height:44px;padding-block:10px}
.section-nav a:hover{text-decoration:underline}
.use-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.use-grid article{border-top:2px solid var(--blue-200);padding-top:24px}
.use-number{display:block;color:var(--accent);font-size:.875rem;font-weight:500;margin-bottom:16px}
.use-grid h3{margin-bottom:16px}
.use-grid p{color:var(--muted);font-size:.9375rem}
.included-section{background:#f5f7fa}
.included-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.included-grid article{padding:32px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md)}
.included-top{display:flex;align-items:center;gap:16px;margin-bottom:24px;color:var(--accent);font-size:.8125rem}
.included-top span:first-child{font-size:1rem;font-weight:500}
.included-grid h3{margin-bottom:16px}
.included-grid p{color:var(--muted);font-size:.9375rem}
.section-note{margin-top:24px;max-width:64em}
.price-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:80px;align-items:start}
.price-layout .eyebrow{color:var(--accent)}
.price-box{padding:40px;background:var(--accent-soft);border:1px solid var(--line);border-radius:var(--radius-md)}
.price-formula{font-size:1rem;line-height:1.8;margin:24px 0 12px}
.price-formula strong{font-size:1.75rem;font-weight:500}
.include-list{padding-left:1.2em;margin-top:24px}
.include-list li{padding-block:4px;font-size:.9375rem}
.price-total{display:block;font-size:clamp(2.5rem,1.5rem + 2.2vw,3.75rem);line-height:1.2;letter-spacing:-.04em;font-weight:500;font-variant-numeric:tabular-nums;margin:16px 0;overflow-wrap:break-word}
.price-total.is-error{font-size:1rem;line-height:1.6;letter-spacing:0}
.price-caption{margin-top:32px}
.pricing-note{margin-top:24px}
.counter{display:flex;align-items:center;gap:16px;margin-top:20px}
.counter input{width:104px;text-align:center;background:#fff}
.counter button{width:48px;min-height:48px;flex:none;border:1px solid #8091a8;background:#fff;border-radius:var(--radius-sm);color:var(--ink)}
.counter>span{font-size:.875rem}
.price-examples{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.price-examples button{min-height:44px;border:1px solid #8a9bb0;background:transparent;padding:8px 16px;border-radius:var(--radius-sm);font-size:.875rem;color:var(--ink)}
.price-examples button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}
.numbered{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.team .numbered{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.numbered article{padding-top:24px;border-top:1px solid var(--line)}
.numbered b{display:inline-block;color:var(--accent);font-size:.875rem;font-weight:500;margin-bottom:24px}
.numbered h3{font-size:1.125rem;margin-bottom:16px}
.numbered p{font-size:.9375rem;color:var(--muted)}
.preparation{margin-top:48px;background:var(--accent-soft);border-radius:var(--radius-md);padding:32px;display:grid;grid-template-columns:1fr 1.2fr;gap:40px}
.preparation .eyebrow{color:var(--accent);margin-bottom:12px}
.preparation ul{margin:0;padding-left:1.25em;font-size:.9375rem}
.preparation li{padding-block:4px}
.faq-section{background:#f5f7fa}
.faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:64px}
.faq{width:100%;max-width:900px;margin-inline:auto}
.faq details{border-bottom:1px solid var(--line);padding:20px 0}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{font-size:1rem;font-weight:500;cursor:pointer;min-height:44px;align-content:center;padding-right:24px}
.faq details p{padding-top:16px;color:var(--muted);font-size:.9375rem}
.inquiry-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:80px}
.inquiry-intro p{margin-top:24px}
.inquiry-intro .eyebrow{color:var(--accent)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.field{display:flex;flex-direction:column;gap:8px;font-size:.875rem;font-weight:500}
.field.full{grid-column:1/-1}
input,select,textarea{width:100%;min-width:0;min-height:48px;padding:12px 16px;border:1px solid #8290a2;border-radius:var(--radius-sm);background:#fff;color:var(--ink);font-size:1rem;font-weight:400}
textarea{min-height:128px;resize:vertical}
.check{display:flex;align-items:flex-start;gap:12px;margin:24px 0;font-size:.875rem}
.check input{width:20px;height:20px;min-height:20px;flex:none;margin-top:4px;accent-color:var(--accent)}
.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.form-message{padding:20px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--accent-soft);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:24px;font-size:.875rem}
.form-message:empty{display:none}
.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.photographer-section{border-top:1px solid var(--line)}
.photographer{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:64px;max-width:960px;align-items:center}
.photographer img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:var(--radius-md)}
.photographer figcaption{margin-top:12px;font-size:.8125rem}
.photographer .eyebrow{color:var(--accent)}
.photographer h2{font-size:2rem;letter-spacing:-.035em}
.photographer h2 span{display:block;font-size:.8125rem;font-weight:400;letter-spacing:.025em;color:var(--muted);margin-top:12px}
.photographer p{margin-top:20px}
.photographer .small{font-size:.8125rem}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gallery img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-md)}
.gallery figcaption{margin-top:12px}
.dark-section{background:var(--accent-soft)}
.dark-section .section-heading .small{max-width:31em}
.profile-price{font-size:clamp(2.5rem,2rem + 2vw,3.75rem);line-height:1.3;font-weight:500;letter-spacing:-.04em;margin:32px 0 16px;font-variant-numeric:tabular-nums}
.profile-price span{font-size:.9375rem;letter-spacing:0;margin-left:8px;white-space:nowrap}
.profile-check{border-top:2px solid var(--accent);padding-top:32px}
.profile .hero{padding-block:48px}
.profile .hero h1{font-size:clamp(2.25rem,1.4rem + 2.1vw,3.25rem)}
.profile .hero-image img{border-radius:40% 40% 8px 8px;height:560px;object-position:center}
.profile .gallery figure:nth-child(2){padding-top:32px}
.proposal h1,.proposal h2{font-family:var(--serif);font-weight:400}
.proposal .hero{padding-block:64px;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:64px}
.proposal .hero h1{font-size:clamp(2.125rem,1.3rem + 2vw,3.375rem);line-height:1.5;letter-spacing:.02em}
.proposal .hero h1:lang(en){font-size:clamp(3rem,1.9rem + 3.2vw,4.75rem);line-height:1.12;letter-spacing:-.04em}
.proposal .hero-image img{height:610px;object-position:55% center;border-radius:4px}
.proposal .gallery{grid-template-columns:1.2fr .85fr .85fr;align-items:start}
.proposal .gallery img{aspect-ratio:3/4;border-radius:4px}
.proposal .gallery figure:nth-child(2){padding-top:48px}
.proposal .gallery figure:nth-child(3){padding-top:96px}
.proposal .price-box{background:#fff}
.portal-hero{padding-block:64px 48px}
.portal-hero>.eyebrow{color:var(--muted)}
.portal-title{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:64px}
.portal-title h1{font-size:clamp(2rem,1.4rem + 2.5vw,3.5rem);line-height:1.45}
.portal-title h1:lang(en){line-height:1.15}
.portal-title .lead{font-size:1rem;color:var(--muted)}
.portal-services{padding-bottom:80px}
.portal-business{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center;padding:48px;background:var(--accent-soft);border-radius:var(--radius-md);border:1px solid var(--blue-200)}
.portal-business .eyebrow{color:var(--accent)}
.portal-business h2{font-size:1.5rem}
.portal-statement{font-size:1.75rem;font-weight:500;line-height:1.55;letter-spacing:.02em;margin:20px 0 16px}
.portal-statement:lang(en){line-height:1.3;letter-spacing:-.02em}
.portal-business>div>p:not(.portal-statement):not(.portal-number){font-size:.9375rem}
.portal-business-summary{padding:32px 0 32px 40px;border-left:1px solid var(--blue-200)}
.portal-number{font-size:clamp(2.25rem,1.7rem + 1.5vw,3rem);line-height:1.3;letter-spacing:-.04em;margin:12px 0 20px;font-weight:500;font-variant-numeric:tabular-nums}
.portal-number span{font-size:.8125rem;letter-spacing:0;font-weight:400;white-space:nowrap}
.portal-service-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.portal-service-tags span{font-size:.8125rem;color:var(--accent);border:1px solid var(--blue-200);border-radius:4px;padding:4px 10px}
.portal-personal-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:32px}
.portal-personal{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;padding:24px;border:1px solid var(--line);border-radius:var(--radius-md);align-items:center}
.portal-personal .eyebrow{font-size:.75rem;letter-spacing:.06em;margin-bottom:12px;color:var(--muted)}
.portal-image{display:block;overflow:hidden;border-radius:8px}
.portal-image img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.portal-personal.proposal .portal-image img{object-position:55% center}
.portal-personal h2{font-size:1.25rem;font-family:var(--sans);font-weight:500;line-height:1.5;letter-spacing:.01em;margin-bottom:16px}
.portal-personal p{font-size:.875rem;color:var(--muted)}
.portal-personal .text-link{font-size:.875rem;margin-top:8px}
.portfolio-note{font-size:.8125rem;margin-top:24px}
.approach-section{background:#f5f7fa}
.privacy-content{max-width:900px}
.privacy-content h1{font-size:clamp(2rem,1.2rem + 2vw,3rem)}
.privacy-copy{max-width:42em;margin-top:40px}
.footer{border-top:1px solid var(--line);padding-block:48px;background:var(--paper)}
.footer-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:32px}
.footer p{margin-top:24px}
.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 24px;max-width:650px;font-size:.8125rem}
.footer-links>a{min-height:44px;padding-block:10px}
.footer-links .nav-cta{display:none}
}
@layer responsive{
@media(max-width:1200px){.nav{gap:16px}.nav .nav-cta{display:none}.header-inner{gap:24px}.business-hero-grid,.hero,.proposal .hero{gap:40px}.business-hero h1{font-size:2.375rem}.business-hero h1:lang(en){font-size:2.75rem}.plan-summary{padding:28px}.portal-business{gap:32px}.portal-personal{grid-template-columns:1fr}.portal-image img{aspect-ratio:5/3}.portal-card-copy{padding-top:4px}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px 32px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:8px;margin:0}.nav.open{display:flex}.nav .nav-cta{display:block;align-self:flex-start}.menu-button{display:block}.header-controls{margin-left:auto}.business-hero-grid{gap:32px;grid-template-columns:1.05fr 1fr}.business-hero h1{font-size:2rem}.business-hero h1:lang(en){font-size:2.375rem}.summary-price{font-size:2.75rem}.business-hero .lead{font-size:1rem}.team .numbered{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.price-layout,.inquiry-layout,.intro,.faq-layout{gap:40px}.hero-image img,.profile .hero-image img{height:500px}.proposal .hero-image img{height:560px}.portal-title{gap:32px}.portal-business{padding:32px}.portal-business-summary{padding-left:24px}.portal-statement{font-size:1.5rem}.portal-personal-grid{gap:24px}.photographer{gap:40px}.section-nav{gap:24px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header-inner{min-height:76px;gap:12px}.logo{font-size:1.875rem}.logo span{font-size:.625rem}.header-controls{gap:8px}.preview-bar{font-size:.75rem}.section{padding-block:64px}.eyebrow{margin-bottom:16px}.hero,.proposal .hero,.business-hero-grid{grid-template-columns:minmax(0,1fr);gap:32px}.business-hero{padding-block:36px 40px}.service-label{font-size:.8125rem;margin-bottom:20px}.business-hero h1{font-size:2rem;line-height:1.5}.business-hero h1:lang(en){font-size:2.625rem;line-height:1.15}.business-hero h1 span{display:block}.business-hero .lead{margin-top:20px}.desktop-break{display:none}.business-hero .actions{margin-top:24px}.actions{gap:12px;margin-top:24px}.actions .button{flex-grow:1}.hero-footnote{font-size:.8125rem}.plan-summary{padding:24px}.summary-price{font-size:3.25rem}.summary-top{margin-bottom:20px}.summary-formula{font-size:.8125rem}.section-nav{gap:4px 16px;justify-content:flex-start;padding-block:12px}.section-nav a{font-size:.8125rem}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:24px;font-size:.9375rem}.use-grid,.included-grid{grid-template-columns:1fr;gap:24px}.use-grid article{padding-top:20px}.use-number{margin-bottom:12px}.use-grid h3{margin-bottom:12px}.included-grid article{padding:24px}.included-top{margin-bottom:16px}.intro,.price-layout,.inquiry-layout,.faq-layout,.preparation{grid-template-columns:minmax(0,1fr);gap:32px}.price-box{padding:24px}.price-total{font-size:2.625rem}.counter{gap:12px;justify-content:space-between}.counter input{width:80px;padding-inline:8px}.counter span{font-size:.8125rem}.price-examples button{padding:8px 12px}.team .numbered,.numbered{grid-template-columns:minmax(0,1fr);gap:24px}.numbered b{margin-bottom:16px}.numbered h3{margin-bottom:12px}.preparation{padding:24px;margin-top:32px;gap:24px}.photographer{grid-template-columns:1fr;gap:28px}.photographer figure{max-width:240px}.photographer h2{font-size:1.75rem}.form-grid{grid-template-columns:minmax(0,1fr)}.field.full{grid-column:auto}.footer-inner{flex-direction:column}.footer-links{justify-content:flex-start;gap:8px 20px}.hero,.profile .hero,.proposal .hero{padding-block:36px}.hero h1,.profile .hero h1{font-size:2.375rem}.hero h1:lang(en){font-size:2.875rem}.hero-copy .lead{font-size:1rem;margin-top:20px}.hero-image img,.profile .hero-image img{height:auto;aspect-ratio:4/5}.profile .hero-image img{border-radius:38% 38% 8px 8px}.proposal .hero h1{font-size:2.25rem;line-height:1.5}.proposal .hero h1:lang(en){font-size:3.25rem;line-height:1.15}.proposal .hero-image img{height:auto;aspect-ratio:5/4}.gallery{grid-template-columns:1fr 1fr;gap:16px}.gallery figure:last-child{grid-column:2}.gallery figure:last-child img{aspect-ratio:1/1}.profile .gallery figure:nth-child(2){padding-top:32px}.proposal .gallery{grid-template-columns:1fr 1fr;gap:16px}.proposal .gallery figure:nth-child(2){padding-top:32px}.proposal .gallery figure:nth-child(3){grid-column:1/-1;padding-top:0}.proposal .gallery figure:nth-child(3) img{aspect-ratio:3/2}.portal-hero{padding-block:40px 32px}.portal-title{grid-template-columns:1fr;gap:24px}.portal-title h1{font-size:2.25rem}.portal-title h1:lang(en){font-size:2.75rem}.portal-title .lead{font-size:.9375rem}.portal-services{padding-bottom:56px}.portal-business{grid-template-columns:1fr;gap:28px;padding:24px}.portal-business h2{font-size:1.25rem}.portal-statement{font-size:1.5rem}.portal-business-summary{padding:24px 0 0;border-left:0;border-top:1px solid var(--blue-200)}.portal-number{font-size:2.75rem}.portal-personal-grid{grid-template-columns:1fr;gap:24px;margin-top:24px}.portal-personal{padding:24px}.portal-image img{aspect-ratio:3/2}.portal-personal h2{font-size:1.375rem}.portal-personal .eyebrow{font-size:.75rem}.portal-card-copy{padding-top:0}}
@media(max-width:370px){.wrap{width:calc(100% - 32px)}.header-controls{gap:2px}.business-hero h1{font-size:1.75rem}.summary-price{font-size:2.875rem}.counter{gap:8px}.counter input{width:68px}.counter button{width:44px}.price-box{padding:20px}.portal-business{padding:20px}.portal-statement{font-size:1.375rem}.portal-number{font-size:2.25rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
}

/* Action visibility must override button layout styles during review and submission. */
[data-inquiry] [hidden]{display:none!important}
[data-inquiry] button:disabled{opacity:.55;cursor:wait}
[data-inquiry] .form-message{overflow-wrap:anywhere}

.operator-info{max-width:760px;margin:32px 0 64px}
.operator-info dl{margin:24px 0}
.operator-info dl>div{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,3fr);gap:24px;border-bottom:1px solid #d5d8ce;padding:18px 0}
.operator-info dt{font-weight:600}
.operator-info dd{margin:0;overflow-wrap:anywhere}
.operator-info a{overflow-wrap:anywhere}
@media(max-width:600px){.operator-info dl>div{grid-template-columns:1fr;gap:6px}}
