/* Content styles are confined to main. The header and footer share home styles. */
.inner-page .main-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}
.inner-page main>section{max-width:var(--content);margin-left:auto;margin-right:auto}
.inner-page main .page-hero{text-align:center;padding:60px 24px 0;overflow:hidden}
.inner-page main .page-hero-copy{position:relative;z-index:1;margin:0 auto;max-width:900px}
.inner-page main .page-hero .eyebrow{font-size:13px;letter-spacing:.16em}
.inner-page main .page-hero h1{font-size:clamp(52px,6.2vw,86px);font-weight:800;letter-spacing:-.06em;line-height:1.02;margin:22px auto 24px;text-wrap:balance}
.inner-page main .page-lead{font-size:clamp(18px,1.75vw,23px);line-height:1.5;letter-spacing:-.025em;color:#444;max-width:600px;margin:0 auto}
.inner-page main .page-action{font-size:18px;margin-top:27px;padding:16px 27px}
.inner-page main .page-vignette{width:440px;max-width:100%;margin:19px auto 0}
.inner-page main .page-vignette img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.inner-page main .story-section{text-align:center;background:#f8f8f8;padding:55px clamp(24px,6vw,86px) 45px;border-top:1px solid #eee}
.inner-page main .story-section>.eyebrow{font-size:12px;letter-spacing:.14em;margin-bottom:20px}
.inner-page main .story-section h2{font-size:clamp(35px,4.2vw,60px);font-weight:800;line-height:1.07;letter-spacing:-.055em;text-wrap:balance}
.inner-page main .story-intro{font-size:19px;line-height:1.5;color:#555;max-width:500px;margin:23px auto 0}
.inner-page main .promise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:42px auto 0;max-width:1050px}
.inner-page main .promise-grid article{padding:0 30px}
.inner-page main .promise-grid article+article{border-left:1px solid #e1e1e1}
.inner-page main .promise-grid h3,.inner-page main .audience-pair h3{font-size:clamp(25px,2.5vw,35px);letter-spacing:-.045em;font-weight:800;line-height:1.1;margin:0 0 13px}
.inner-page main .promise-grid p,.inner-page main .audience-pair article>p:last-child{font-size:18px;color:#494949;line-height:1.5;max-width:285px;margin:auto}
.inner-page main .benefit-icon{height:56px;width:75px;margin-bottom:14px}
.inner-page main .os-explanation{max-width:650px;margin:43px auto 0;padding-top:28px;border-top:1px solid #ddd}
.inner-page main .os-explanation h3{font-size:24px;font-weight:700;letter-spacing:-.035em;margin-bottom:13px}
.inner-page main .os-explanation p{font-size:17px;line-height:1.6;color:#555}
.inner-page main .audience-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px;margin:38px auto 0}
.inner-page main .audience-pair article{padding:0 40px}
.inner-page main .audience-pair article+article{border-left:1px solid #ddd}
.inner-page main .audience-pair .eyebrow{font-size:12px;margin:0 0 14px}
.inner-page main .audience-pair h3{font-size:35px;margin-bottom:19px}
.inner-page main .small-story{max-width:640px;margin:35px auto 0;padding-top:27px;border-top:1px solid #ddd;font-size:17px;line-height:1.6;color:#555}
.inner-page main .small-story strong{font-weight:600;color:#111}
.inner-page main .short-questions{max-width:700px;margin:38px auto 0;text-align:left}
.inner-page main .short-questions details{border-bottom:1px solid #ddd;padding:18px 0}
.inner-page main .short-questions details:first-child{border-top:1px solid #ddd}
.inner-page main .short-questions summary{font-size:19px;font-weight:600;line-height:1.4;cursor:pointer;padding-right:12px}
.inner-page main .short-questions details p{font-size:17px;line-height:1.6;color:#444;margin-top:14px}
.inner-page main .contact-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px;max-width:960px;margin:auto}
.inner-page main .contact-options article+article{border-left:1px solid #ddd;padding-left:50px}
.inner-page main .contact-options h2{font-size:34px;letter-spacing:-.045em}
.inner-page main .contact-options p{font-size:18px;color:#555;line-height:1.5;max-width:335px;margin:20px auto 0}
.inner-page main .contact-options .contact-note{font-size:14px;color:#777;margin-top:25px}
@media(max-width:900px){.inner-page main .promise-grid article{padding:0 18px}.inner-page main .audience-pair article{padding:0 22px}.inner-page main .contact-options{gap:25px}.inner-page main .contact-options article+article{padding-left:25px}}
@media(max-width:650px){
 .inner-page main .page-hero{padding:43px 22px 0}
 .inner-page main .page-hero .eyebrow{font-size:11px;letter-spacing:.13em}
 .inner-page main .page-hero h1{font-size:clamp(36px,10.4vw,58px);line-height:1.03;letter-spacing:-.055em;margin:20px auto 20px}
 .inner-page main .page-lead{font-size:17px;line-height:1.5;max-width:340px}
 .inner-page main .page-action{font-size:16px;margin-top:24px;padding:15px 25px}
 .inner-page main .page-vignette{width:min(100%,340px);margin-top:16px}
 .inner-page main .story-section{padding:38px 24px 35px}
 .inner-page main .story-section>.eyebrow{font-size:11px;letter-spacing:.12em;margin-bottom:17px}
 .inner-page main .story-section h2{font-size:34px;line-height:1.1}
 .inner-page main .story-intro{font-size:17px;max-width:320px;margin-top:18px}
 .inner-page main .promise-grid{grid-template-columns:1fr;margin-top:30px;gap:26px}
 .inner-page main .promise-grid article{padding:0}
 .inner-page main .promise-grid article+article{border:0}
 .inner-page main .promise-grid h3{font-size:27px;margin-bottom:9px}
 .inner-page main .promise-grid p{font-size:17px;max-width:290px}
 .inner-page main .benefit-icon{height:47px;width:65px;margin-bottom:10px}
 .inner-page main .os-explanation{margin-top:31px;padding-top:24px}
 .inner-page main .os-explanation h3{font-size:23px}
 .inner-page main .os-explanation p{font-size:16px}
 .inner-page main .audience-pair{grid-template-columns:1fr;margin-top:30px;gap:28px}
 .inner-page main .audience-pair article{padding:0}
 .inner-page main .audience-pair article+article{border-left:0;border-top:1px solid #ddd;padding-top:28px}
 .inner-page main .audience-pair h3{font-size:30px;margin-bottom:15px}
 .inner-page main .audience-pair article>p:last-child{font-size:17px}
 .inner-page main .small-story{font-size:16px;margin-top:27px;padding-top:23px}
 .inner-page main .short-questions{margin-top:28px}
 .inner-page main .short-questions summary{font-size:18px}
 .inner-page main .short-questions details p{font-size:16px}
 .inner-page main .contact-options{grid-template-columns:1fr;gap:28px}
 .inner-page main .contact-options article+article{padding:28px 0 0;border-left:0;border-top:1px solid #ddd}
 .inner-page main .contact-options h2{font-size:30px}
 .inner-page main .contact-options p{font-size:17px;margin-top:17px}
}

/* Subpage motion stays inside the approved illustration's original bounds. */
.inner-page main .page-vignette{position:relative}
.inner-page main .page-vignette canvas{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0;pointer-events:none}
.inner-page main .page-vignette.motion-ready canvas{opacity:1}
.inner-page main .page-vignette.motion-ready img{visibility:hidden}
/* These scenes keep the complete artwork beneath a transparent motion overlay. */
.inner-page main .page-vignette[data-scene].motion-ready img{visibility:visible}
.inner-page main .enquiry-section{padding:50px 24px 55px;border-top:1px solid #eee;background:#f8f8f8}
.inner-page main .enquiry-intro{text-align:center;margin:0 auto 30px;max-width:650px}
.inner-page main .enquiry-intro .eyebrow{font-size:12px;margin-bottom:17px}
.inner-page main .enquiry-intro h2{font-size:clamp(30px,3.5vw,46px);line-height:1.1;letter-spacing:-.05em}
.inner-page main .enquiry-intro>p:last-child{font-size:18px;line-height:1.5;color:#555;margin-top:15px}
.inner-page main .enquiry-form{max-width:700px;margin:auto;text-align:left}
.inner-page main .form-fields{display:grid;grid-template-columns:1fr 1fr;gap:23px 24px}
.inner-page main .field{display:flex;flex-direction:column;gap:9px;font-size:15px;font-weight:600;line-height:1.4;color:#111}
.inner-page main .field>span{display:block}.inner-page main .field small{font:inherit;font-weight:400;color:#777}
.inner-page main .field.full{grid-column:1/-1}
.inner-page main .field input,.inner-page main .field select,.inner-page main .field textarea{font:400 17px/1.4 Arial,Helvetica,sans-serif;color:#111;width:100%;min-width:0;background:#fff;border:1px solid #c9c9c9;border-radius:5px;padding:13px 14px;min-height:49px}
.inner-page main .field textarea{resize:vertical;min-height:120px}
.inner-page main .field input:focus,.inner-page main .field select:focus,.inner-page main .field textarea:focus{outline:2px solid #111;outline-offset:2px}
.inner-page main .field [aria-invalid=true]{border-color:#9f2424}
.inner-page main .form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.inner-page main .form-send{margin-top:26px}
.inner-page main .form-send .button{font-size:17px;min-height:49px}
.inner-page main .form-send .button:disabled{cursor:wait;opacity:.6;transform:none}
.inner-page main .form-status{font-size:16px;line-height:1.5;margin-top:16px;color:#333;max-width:600px}
.inner-page main .form-status:empty{display:none}
.inner-page main .form-status[data-error=true]{color:#9f2424}
.inner-page main .form-direct{font-size:14px;color:#666;line-height:1.6;margin-top:20px}
.inner-page main .form-direct a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
@media(max-width:650px){.inner-page main .enquiry-section{padding:35px 24px 40px}.inner-page main .enquiry-intro h2{font-size:32px}.inner-page main .enquiry-intro>p:last-child{font-size:17px}.inner-page main .form-fields{grid-template-columns:1fr;gap:19px}.inner-page main .form-send .button{width:100%}}

.inner-page main .form-preview-note{font-size:14px;line-height:1.5;color:#666;margin-top:24px}

/* Frame the actual drawing, trimming its blank margins to match the copy width. */
.inner-page main .page-vignette{width:600px;max-width:100%;aspect-ratio:var(--frame-ratio);overflow:hidden;margin-top:44px;--art-width:136%;--art-left:-18%;--art-top:-12%;--frame-ratio:3/2}
.inner-page main .page-vignette[data-scene="why-lot"]{--frame-ratio:1000/810;--art-width:153.6%;--art-left:-27%;--art-top:-11.7284%}
.inner-page main .page-vignette[data-scene="your-building"]{--frame-ratio:1225/820;--art-width:125.3878%;--art-left:-13.7143%;--art-top:-10.9756%}
.inner-page main .page-vignette[data-scene="partner-with-lot"]{--frame-ratio:1080/760;--art-width:142.2222%;--art-left:-21.8519%;--art-top:-16.7105%}
.inner-page main .page-vignette[data-scene="talk-to-lot"]{--frame-ratio:1130/744;--art-width:135.9292%;--art-left:-18.5841%;--art-top:-19.3548%}
.inner-page main .page-vignette img,.inner-page main .page-vignette canvas{position:absolute;inset:auto;left:var(--art-left);top:var(--art-top);width:var(--art-width);max-width:none;height:auto;margin:0;aspect-ratio:3/2}
@media(max-width:650px){.inner-page main .page-vignette{width:100%;margin-top:42px}}

/* Desktop hero: copy and the complete vignette share the first screen. */
@media(min-width:1024px){
  .inner-page main .page-hero{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:clamp(36px,5vw,72px);max-width:1320px;min-height:clamp(540px,calc(100svh - 140px),660px);padding:64px clamp(40px,5vw,72px);text-align:left}
  .inner-page main .page-hero-copy{max-width:560px;width:100%;margin:0}
  .inner-page main .page-hero h1{font-size:clamp(48px,4.4vw,64px);margin:22px 0 24px;text-wrap:initial}
  .inner-page main .page-lead{font-size:20px;max-width:520px;margin:0}
  .inner-page main .page-vignette{width:100%;max-width:600px;margin:0;justify-self:end}
}

.inner-page main .form-preview-note a{text-decoration:underline;text-underline-offset:3px}
