/* Photography-led page compositions. Shared controls live in components.css. */
.page-photo{position:relative}
.inner-hero .page-photo img{height:490px;object-position:center}
.page-photo figcaption{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--gray-200);padding-top:.8rem;line-height:1.5}
.page-photo figcaption small{white-space:nowrap;font-size:.6rem}
.inner-hero--text .inner-hero__grid{grid-template-columns:1fr}
.inner-hero--text h1{max-width:25ch}
.card__photo{aspect-ratio:4/3;overflow:hidden;margin-bottom:1.5rem}
.card__photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.card:hover .card__photo img{transform:scale(1.035)}
.card:has(.card__photo) .card__index{margin-bottom:1rem}
.visual-explainer,.package-visual{padding:clamp(1.5rem,4vw,3rem);min-width:0}
.visual-explainer{background:var(--navy-900);color:white}
.visual-explainer h2,.package-visual h2{font-size:1.55rem;line-height:1.35;max-width:24ch}
.visual-explainer ol{padding:0;margin:2rem 0;list-style:none}
.visual-explainer li{display:grid;grid-template-columns:28px 1fr;gap:1rem;border-top:1px solid #ffffff30;padding:1.2rem 0}
.visual-explainer li>span{font-size:.7rem;color:var(--cyan-500)}
.visual-explainer li h3{font-size:1rem;letter-spacing:0;line-height:1.4;margin:0 0 .4rem}
.visual-explainer li p{font-size:.82rem;color:#c5d8e2;margin:0}
.visual-footnote{font-size:.65rem!important;line-height:1.7;margin:1.5rem 0 0;color:var(--gray-500)}
.visual-explainer .visual-footnote{color:#b7ccd5;border-top:1px solid #ffffff30;padding-top:1rem}
.package-visual{background:var(--white);border:1px solid var(--gray-200);border-top:4px solid var(--blue-600)}
.package-visual__value{font-size:clamp(2.6rem,6vw,5rem);line-height:1.1;letter-spacing:-.06em;color:var(--navy-900);overflow-wrap:anywhere}
.package-visual__unit{font-size:.9rem;color:var(--blue-600);margin:.75rem 0 2.5rem}
.package-visual ul{list-style:none;padding:0;font-size:.8rem}
.package-visual li{padding:.75rem 0;border-top:1px solid var(--gray-200)}
@media(max-width:700px){.inner-hero .page-photo img{height:320px}.page-photo figcaption{flex-direction:column;gap:.3rem}.package-visual__value{font-size:3rem}}
.hero--home{position:relative;isolation:isolate;min-height:690px;display:flex;flex-direction:column;justify-content:center;background:var(--navy-900);color:var(--white)}
.hero__backdrop{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero__backdrop img{width:100%;height:100%;object-fit:cover;object-position:center 65%}
.hero--home::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,23,32,.87),rgba(5,23,32,.52) 56%,rgba(5,23,32,.13))}
.hero__content{padding-block:100px 75px}
.hero .eyebrow{font-size:.68rem;letter-spacing:.17em;color:#e6f5f9}
.hero .eyebrow span{margin-inline:1rem;color:var(--cyan-500)}
.hero h1{max-width:100%;font-size:clamp(2.7rem,5.1vw,4.75rem);font-weight:500;line-height:1.13;letter-spacing:-.055em;margin-bottom:1.6rem}
.hero h1 span{color:#b8e5ec}
.hero__lead{max-width:46ch;font-size:1.05rem;line-height:1.8}
.hero--home .hero__lead{color:#e0e9eb}
.hero .button{min-height:54px;font-size:.85rem;padding-inline:1.4rem;gap:2rem}
.hero .button--primary{background:#087cac}
.hero .button--ghost{border-color:transparent}
.hero .button--ghost:hover{background:rgba(255,255,255,.1)}
.hero__bottom{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:1.5rem 2rem;border-top:1px solid #ffffff40;font-size:.61rem;letter-spacing:.1em}
.hero__bottom strong{font-size:.85rem;font-weight:500;letter-spacing:0;line-height:2.3}
.hero__bottom a{display:flex;align-items:center;gap:1.5rem}
.hero__bottom a span{font-size:1.4rem}
.photo-note{font-size:.62rem;letter-spacing:0;color:#d5e3e7}
.trust-strip{border-bottom:1px solid var(--gray-200)}
.trust-strip__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:1.8rem;font-size:.77rem;color:var(--gray-500)}
.trust-strip strong{color:var(--navy-900);font-size:.95rem}
.trust-strip__inner>span::before{content:"";display:inline-block;width:4px;height:4px;background:var(--blue-600);margin-right:1rem}
.section-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:5rem;align-items:end;margin-bottom:3.2rem}
.section-heading h2{margin-bottom:0}
.section-heading>p,.section-heading>div>p:not(.eyebrow){font-size:.93rem;max-width:47ch}
.solution-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.4rem}
.solution-card__image{position:relative;overflow:hidden;aspect-ratio:4/5;margin-bottom:1.35rem;background:var(--gray-100)}
.solution-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.solution-card:nth-child(even){padding-top:2.6rem}
.solution-card:hover img{transform:scale(1.045)}
.solution-card__number{position:absolute;left:1rem;top:1rem;background:var(--white);color:var(--navy-900);padding:.3rem .6rem;font-size:.7rem}
.solution-card__arrow{position:absolute;bottom:1rem;right:1rem;background:var(--white);width:40px;height:40px;display:grid;place-items:center;font-size:1.2rem}
.solution-card h3{font-size:1.25rem;margin-bottom:.65rem}
.solution-card p{font-size:.82rem;line-height:1.75;max-width:30ch}
.image-disclosure{font-size:.65rem;color:var(--gray-500);margin:1.5rem 0 0}
.expertise-section{background:var(--gray-50)}
.expertise-grid{display:grid;grid-template-columns:1fr 1fr;gap:7rem}
.expertise-intro>p:not(.eyebrow){max-width:46ch;font-size:.93rem}
.expertise-image{margin:2.5rem 0 0}
.expertise-image img{width:100%;height:250px;object-fit:cover}
.expertise-image figcaption{font-size:.65rem;margin-top:.7rem;color:var(--gray-500)}
.service-list{padding-top:2.2rem}
.service-row{display:grid;grid-template-columns:30px 1fr 28px;gap:1rem;padding:2.4rem 0;border-top:1px solid var(--gray-200);transition:color .2s}
.service-row:last-child{border-bottom:1px solid var(--gray-200)}
.service-row__number{font-size:.7rem;color:var(--blue-600);padding-top:.3rem}
.service-row h3{font-size:1.55rem;font-weight:500;margin-bottom:.8rem}
.service-row p{font-size:.88rem;margin:0;max-width:28ch}
.service-row__arrow{font-size:1.5rem}
.service-row:hover{color:var(--blue-600)}
.package-section{background:var(--navy-900);color:var(--white)}
.package-section h2{font-weight:500}
.package-section p{color:#c1d2d8;font-size:.93rem;max-width:44ch}
.package-options>a{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid #ffffff35;padding:1rem 0;transition:color .2s}
.package-options>a:hover{color:var(--cyan-500)}
.package-options>a>span:first-child{color:#9fb7c1;font-size:.7rem}
.package-options strong{font-size:3rem;font-weight:400;line-height:1.3;letter-spacing:-.06em;flex:1;padding-left:1.5rem}
.package-options small{font-size:1rem;letter-spacing:0;color:#c1d2d8}
.package-options .package-custom{border-bottom:1px solid #ffffff35;padding:1.5rem 0}
.package-options .package-custom strong{font-size:1rem;padding:0;letter-spacing:0}
.package-options>p{font-size:.65rem;margin-top:1rem}
.process{gap:1.8rem}
.process li{border-top-width:1px;padding-top:1.5rem}
.process li>span{font-size:1.8rem;font-weight:400;color:var(--blue-600)}
.process h3{font-size:1rem;margin-top:1.5rem;line-height:1.45}
.process p{font-size:.8rem}
.process-link{margin-top:2.5rem}
.knowledge-section{background:var(--gray-50)}
.knowledge-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:6rem}
.knowledge-grid>div>p:not(.eyebrow){font-size:.9rem}
.knowledge-grid .faq-list{margin:0 0 1.5rem}
.system-links{display:flex;gap:2rem;margin-top:3rem}
.system-links>a{border-top:1px solid var(--gray-200);padding-top:.8rem;flex:1}
.system-links>a>span{font-size:.65rem;color:var(--gray-500)}
.system-links strong{display:flex;justify-content:space-between;gap:.5rem;font-size:1.05rem;font-weight:600}
.closing-section{background:var(--navy-900);color:var(--white);position:relative;overflow:hidden}
.closing-section::after{content:"";position:absolute;inset:0 0 0 62%;border-left:1px solid #ffffff12;transform:skewX(-28deg);background:#ffffff04;pointer-events:none}
.closing-content{position:relative;z-index:1}
.closing-section h2{font-size:clamp(2.5rem,5vw,4.4rem);font-weight:500;max-width:24ch}
.closing-section h2 span{color:#9ebbc8}
.closing-bottom{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-top:2.5rem}
.closing-bottom p{color:#c1d2d8;font-size:.93rem;margin:0}
.closing-bottom .button{gap:3rem}
.inner-hero{padding:clamp(3rem,6vw,6rem) 0;background:var(--gray-50)}
.inner-hero h1{max-width:16ch;font-size:clamp(2.5rem,4.8vw,4.4rem);font-weight:500;line-height:1.1;color:var(--navy-900)}
.inner-hero__grid{gap:5rem;grid-template-columns:1.1fr 1fr}
.inner-hero figure{margin:0}
.inner-hero img{width:100%;height:440px;object-fit:cover}
.inner-hero figcaption{font-size:.65rem;margin-top:.65rem;color:var(--gray-500)}
.check-list,.article-points{padding:0;list-style:none}
.check-list li,.article-points li{position:relative;padding:1rem 0 1rem 2rem;border-bottom:1px solid var(--gray-200)}
.check-list li::before,.article-points li::before{content:"↗";position:absolute;left:0;color:var(--blue-600)}
.prose{max-width:70ch}
.article-points{max-width:800px}
.empty-state{padding:clamp(2rem,6vw,5rem);border:1px solid var(--gray-200);background:var(--gray-50);text-align:center}
.empty-state h3{font-size:2rem}
.empty-state p{max-width:60ch;margin-inline:auto}
@media(max-width:1100px){
 .expertise-grid{gap:3rem}.knowledge-grid{gap:3rem}.section-heading{gap:3rem}.inner-hero__grid{gap:2rem}
 .solution-grid{gap:1rem}.solution-card h3{font-size:1.1rem}
}
@media(max-width:900px){
 .hero--home{min-height:640px}.hero__content{padding-block:90px 65px}.hero__bottom>a{display:none}
 .solution-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}
 .solution-card:nth-child(even){padding-top:0}.solution-card__image{aspect-ratio:5/4}
 .expertise-grid,.knowledge-grid{grid-template-columns:1fr;gap:3rem}
 .expertise-intro{max-width:100%}.expertise-image img{height:330px}.service-list{padding:0}
 .trust-strip__inner{flex-wrap:wrap;justify-content:flex-start;gap:1rem 2rem}
 .trust-strip strong{flex-basis:100%}.inner-hero img{height:360px}
}
@media(max-width:700px){
 .hero--home{min-height:655px}.hero__content{padding-block:65px 45px}
 .hero h1{font-size:clamp(2.5rem,7.3vw,3.2rem);line-height:1.16}
 .hero .eyebrow{font-size:.56rem;letter-spacing:.09em}.hero .eyebrow span{margin-inline:.5rem}
 .hero__lead{font-size:.93rem;max-width:36ch}.hero .button-group{gap:.6rem}.hero .button{font-size:.75rem;gap:1rem;padding-inline:1rem}
 .hero__backdrop img{object-position:60% center}.hero--home::after{background:rgba(5,23,32,.68)}
 .hero__bottom{gap:1rem;padding-block:1.3rem}.hero__bottom>span:first-child{font-size:.53rem}
 .hero__bottom strong{font-size:.75rem}.photo-note{font-size:.55rem;max-width:12ch;text-align:right}
 .trust-strip__inner{padding-block:1.3rem;font-size:.65rem;gap:.8rem 1.5rem}.trust-strip__inner>span::before{margin-right:.5rem}
 .section-heading{grid-template-columns:1fr;gap:1.3rem;margin-bottom:2rem}
 .section-heading h2{max-width:18ch}.solution-grid{gap:1.8rem 1rem}.solution-card__image{aspect-ratio:3/4;margin-bottom:1rem}
 .solution-card h3{font-size:1rem;line-height:1.35}.solution-card p{font-size:.74rem}.solution-card__number{left:.5rem;top:.5rem;font-size:.6rem}
 .solution-card__arrow{bottom:.5rem;right:.5rem;width:30px;height:30px}
 .expertise-image img{height:230px}.service-row{padding:1.8rem 0;grid-template-columns:22px 1fr 24px;gap:.7rem}.service-row h3{font-size:1.35rem}
 .package-options strong{font-size:2.5rem}.process{gap:2rem 1rem}.process h3{margin-top:1rem}
 .closing-bottom{align-items:flex-start;flex-direction:column}.closing-section::after{left:80%}
 .inner-hero__grid{grid-template-columns:1fr;gap:2rem}.inner-hero img{height:240px}.inner-hero h1{font-size:2.7rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
