/* This stylesheet is attached only to the photography review build. */
.photo-frame{position:relative;overflow:hidden;margin:0}
.photo-frame>img{display:block;width:100%;height:auto;object-fit:cover}
.photo-frame:has(>img:is([src^="/assets/mock/"],[srcset*="/assets/mock/"]))::after{content:"MOCK / REFERENCE IMAGE";position:absolute;right:10px;bottom:10px;padding:4px 7px;color:#eeeae3;background:rgb(6 28 44 / .76);font:9px/1.5 var(--body);letter-spacing:.045em;max-width:calc(100% - 20px);pointer-events:none;z-index:1}
.hero-photo>img{position:absolute;height:100%;object-position:50% 58%}
.proof-strip{display:grid;grid-template-columns:1.1fr 1fr .8fr;gap:24px;align-items:center;padding:27px 7%;background:#fff;border-bottom:1px solid var(--line)}
.proof-strip>a,.proof-strip>p{font-size:16px;line-height:1.5}.proof-strip strong{font-size:24px;margin-right:12px}.proof-strip strong span{font-size:13px;letter-spacing:2px;color:var(--burnt)}
.proof-strip span{display:block}.proof-strip strong span{display:inline}.proof-strip small{font-size:11px;color:var(--muted)}.proof-strip>p{border-left:1px solid var(--line);padding-left:30px}.proof-strip>p span,.proof-strip>a:last-child span{font-size:13px;color:var(--muted);margin-top:4px}
.selected-work{background:#fff}.work-study-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px 32px}.work-study-image{aspect-ratio:4/3}.work-study-image>img{height:100%;width:100%}.work-study-card:first-child .work-study-image>img{object-position:50% 64%}.work-study-caption{padding-top:19px}.work-study-caption h3{font-size:38px}.work-study-caption p{font-size:15px;margin-top:8px}.work-study-caption p span{font-size:11px;color:var(--muted)}.selected-work>.text-link{margin-top:32px;font-size:15px}
.why-ioi{display:grid;grid-template-columns:1fr 1.35fr;gap:8%;background:var(--navy);color:white}.why-ioi .eyebrow{margin-bottom:22px}.why-points{display:grid;gap:25px}.why-points article+article{border-top:1px solid #395160;padding-top:25px}.why-points h3{font-size:31px}.why-points p{font-size:16px;color:#cad4da;margin-top:12px}.why-points a{display:inline-block;margin-top:10px;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.comparison-study{background:#eeeae1}.comparison-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.comparison-pair .photo-frame{aspect-ratio:4/3}.comparison-pair img{height:100%}.comparison-label{font-size:15px;margin-bottom:10px;font-weight:700}.layout-footnote{font-size:12px;line-height:1.6;margin-top:16px;color:var(--muted)}
.process-photo-layout{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:stretch}.process-photo{min-height:520px}.process-photo>img{position:absolute;height:100%;object-position:center 62%}.process-photo-layout .steps{display:flex;flex-direction:column;gap:20px;border:0;justify-content:center}.process-photo-layout .steps article{border-top:1px solid var(--line);padding-top:18px}.process-photo-layout .steps h3{margin:12px 0}.process-photo-layout .steps p{max-width:430px}.process-photo-layout .steps span{font-size:12px}
.about{grid-template-columns:1.1fr 1fr;align-items:center;padding:70px 7%;gap:6%}.home-owners{display:grid;grid-template-columns:1fr 1fr;gap:14px}.home-owners img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}.home-owners figcaption{font-size:13px;margin-top:12px}.about-copy{padding:0}.about-copy h2{font-size:clamp(40px,4vw,58px)}.photography-note{font-size:11px;line-height:1.6;max-width:500px}
@media(min-width:1500px){.selected-work,.comparison-study,.why-ioi{padding-left:max(7%,calc((100vw - 1380px)/2));padding-right:max(7%,calc((100vw - 1380px)/2))}}
@media(max-width:1000px){.proof-strip{gap:16px}.proof-strip strong{display:block}.proof-strip>p{padding-left:20px}.about{grid-template-columns:1fr;gap:38px}.home-owners{max-width:680px}.about-copy{max-width:760px}}
@media(max-width:760px){.proof-strip{grid-template-columns:1fr 1fr;padding:23px 6%;gap:18px}.proof-strip>p{display:none}.proof-strip>a{font-size:14px}.proof-strip strong{font-size:23px}.proof-strip>a:last-child{border-left:1px solid var(--line);padding-left:20px}.proof-strip small{display:block}.work-study-grid{gap:30px 18px}.work-study-caption h3{font-size:29px}.work-study-caption p{font-size:13px}.work-study-caption p span{display:block;margin-top:4px}.why-ioi{grid-template-columns:1fr;gap:35px}.comparison-pair{grid-template-columns:1fr;gap:24px}.process-photo-layout{grid-template-columns:1fr;gap:25px}.process-photo{min-height:0;aspect-ratio:4/3}.process-photo-layout .steps{gap:20px}.about{padding:50px 7%}.home-owners figcaption{font-size:12px}.photo-frame:has(>img:is([src^="/assets/mock/"],[srcset*="/assets/mock/"]))::after{font-size:9px;right:7px;bottom:7px}.hero-photo{min-height:440px}.hero-photo>img{object-position:50% 61%}.comparison-study .layout-footnote{font-size:12px}}
@media(max-width:520px){.work-study-grid{grid-template-columns:1fr}.work-study-caption h3{font-size:35px}.work-study-caption p span{display:inline}.selected-work .section-heading{margin-bottom:30px}}

/* Final owner-presentation polish: one primary action, quieter contact links. */
.hero-contact{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:25px}.hero-contact a{border:0;padding:0;min-height:48px;flex:0 1 auto;background:transparent}.hero-contact a:hover{background:transparent}.hero-contact svg{width:22px;height:22px}.hero-contact strong{font-size:11px;letter-spacing:.07em}.hero-contact .contact-value{font-size:16px}.hero-contact+.hero-bottom{margin-top:22px}.hero-actions>.button{text-transform:none;letter-spacing:.15px}.hero-copy{justify-content:center}.work-study-caption p{color:var(--muted);font-size:15px}.why-ioi{padding-top:68px;padding-bottom:68px}.proof-strip a:focus-visible,.why-points a:focus-visible{outline-offset:5px}.section.services{padding-bottom:72px}.selected-work{padding-top:72px}.hero-photo>img{object-position:50% 50%}@media(max-width:760px){.hero-contact{gap:14px 24px}.hero-contact a{min-height:45px}.hero-contact .contact-value{font-size:16px}.hero-actions>.button{font-size:27px}.hero-copy{padding-top:34px}.hero-photo{min-height:400px}.hero h1{font-size:clamp(72px,17vw,100px)}.hero-bottom{margin-top:20px}.why-ioi{padding-top:50px;padding-bottom:50px}.selected-work{padding-top:54px}.section.services{padding-bottom:54px}}

/* Natural room proportions; each source is a distinct photograph. */
.work-study-card:first-child .work-study-image>img{object-position:center}.hero-photo>img{object-position:center}

/* September 10: real owner-supplied photographs. Original masters are outside site/. */
.hero-photo.real-photo>img{object-position:44% 53%}
.real-photo img{background:#e7e4de}
.photo-link{display:block;min-width:0;outline-offset:6px}
.photo-link:focus-visible{outline:3px solid var(--burnt)}
.real-home-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:26px 42px;align-items:start;max-width:1250px;margin:auto}
.home-photo-bath{grid-column:1;grid-row:1;max-width:585px}
.home-photo-wall{grid-column:2;grid-row:1 / span 2;max-width:555px;padding-top:100px}
.home-photo-cabinet{grid-column:1;grid-row:2;max-width:585px;padding-top:20px}
.home-photo-living{grid-column:1 / -1;margin-top:38px}
.editorial-wide>img,.editorial-portrait>img{height:auto;object-fit:contain}
.editorial-panorama{aspect-ratio:2/1}.editorial-panorama>img{height:100%;object-fit:cover;object-position:center 58%}
.real-gallery{padding-top:55px;padding-bottom:55px}.real-gallery>h2{margin-bottom:32px;font-size:clamp(38px,4vw,60px)}
.gallery-ivory{background:var(--cream,#f5f2eb)}
.gallery-pair{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:1200px;margin:0 auto 40px;align-items:center}
.gallery-pair>.photo-link{width:100%;max-width:585px;margin:auto}
.portrait-pair{align-items:start}.portrait-pair>.photo-link:nth-child(2){padding-top:65px;max-width:555px}
.gallery-natural>img{height:auto;object-fit:contain}
.gallery-wide{max-width:1200px;margin:40px auto}.gallery-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:28px auto;max-width:1200px}
.photo-alternates{max-width:1200px;margin:28px auto 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}
.photo-alternates summary{cursor:pointer;font-size:16px;min-height:28px;padding:6px 0;color:var(--navy)}
.alternate-grid{max-width:585px;margin:28px auto}.photo-alternates .gallery-natural{margin-bottom:24px}
.service-photo-intro{max-width:585px;margin:0 auto 65px;padding:0 0 0 0}.service-intro-frame>img{height:auto}
.service-photographs{background:#f3f0e9;padding-top:60px;padding-bottom:60px}.service-detail-photo{max-width:700px;margin:40px auto 0}
@media(min-width:1250px){.service-opening{display:grid;grid-template-columns:49% 51%;align-items:center;gap:0;padding-bottom:30px}.service-opening>.page-intro{padding-right:35px;min-height:390px;margin-bottom:0}.service-opening .service-photo-intro{position:static;width:82%;max-width:585px;margin:75px auto 0}.service-opening+.article-body{padding-top:40px}}
@media(max-width:1000px){.real-home-grid{gap:24px}.home-photo-wall{padding-top:70px}.gallery-pair{gap:24px}.portrait-pair>.photo-link:nth-child(2){padding-top:40px}.service-photo-intro{width:86%}}
@media(max-width:760px){.hero-photo.real-photo{min-height:0;aspect-ratio:9/10}.hero-photo.real-photo>img{object-position:center}.real-home-grid{gap:24px 18px}.home-photo-wall{padding-top:45px}.home-photo-cabinet{padding-top:0}.home-photo-living{margin-top:8px}.editorial-panorama{aspect-ratio:4/3}.gallery-pair{gap:18px}.gallery-trio{grid-template-columns:1fr 1fr}.service-photo-intro{margin-bottom:40px}.service-photographs{padding-top:40px;padding-bottom:40px}}
@media(max-width:520px){.real-home-grid{display:flex;flex-direction:column;gap:24px}.home-photo-wall{width:82%;align-self:flex-end;padding-top:0}.home-photo-cabinet{width:90%}.home-photo-living{width:100%;margin-top:5px}.gallery-pair{grid-template-columns:1fr;gap:28px}.portrait-pair>.photo-link:nth-child(2){padding-top:0;width:88%;margin-right:0}.gallery-trio{grid-template-columns:1fr}.gallery-trio>.photo-link{max-width:85%;margin:auto}.real-gallery{padding-top:38px;padding-bottom:38px}.gallery-wide{margin:28px auto}.service-photo-intro{width:86%}}
/* Keep the smaller supplied master within a crisp two-density placement. */
.photo-link:has([data-photo-id="IOI-14"]){max-width:555px}
@media(max-width:760px){.hero-photo.real-photo{order:-1}.hero-copy{padding-top:30px}}
