/* GRAVI / industry gallery and visual industry guides. */
.sector-gallery{padding:110px var(--page-pad) 80px;background:#f5f5f5;border:0}
.sector-gallery>.content-width{max-width:1460px}
.sector-gallery-heading{display:grid;grid-template-columns:1.1fr 1fr;align-items:end;gap:60px;margin-bottom:56px}
.sector-gallery .eyebrow,.industry-page .eyebrow{font-size:13px;letter-spacing:.15em;font-weight:700;color:var(--red)}
.sector-gallery h2{font-size:clamp(32px,4.1vw,62px);line-height:1.35;letter-spacing:-.05em;margin:22px 0 0}
.sector-gallery .sector-gallery-intro>p{font-size:17px;line-height:1.9;margin:0 0 26px}
.sector-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 28px;list-style:none;padding:0;margin:0 0 68px}
.sector-gallery-grid>li{min-width:0}
.sector-gallery-grid>li:nth-child(3n+2){transform:translateY(32px)}
.sector-card{display:block;height:100%;border-bottom:1px solid #d6d9db}
.sector-card-photo{position:relative;overflow:hidden;aspect-ratio:1.38;background:#dce0e1}
.sector-card-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .65s cubic-bezier(.22,.61,.36,1)}
.sector-index{position:absolute;top:16px;left:16px;color:white;background:#10171dbd;min-width:34px;padding:6px 9px;font:13px/1.2 Arial,sans-serif;letter-spacing:.06em}
.sector-open{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;color:var(--ink);font:24px/1 Arial,sans-serif;transition:background .2s,color .2s}
.sector-card-caption{padding:22px 0 24px}
.sector-gallery p.sector-category{font:12px/1.4 Arial,sans-serif;letter-spacing:.12em;color:var(--muted);margin:0 0 10px}
.sector-card h3{font-size:clamp(17px,1.4vw,22px);line-height:1.55;letter-spacing:-.035em}
.sector-gallery p.sector-card-line{margin:10px 0 0;font-size:14px;line-height:1.8;color:#5b626b}
.sector-card:hover img,.sector-card:focus-visible img{transform:scale(1.045)}
.sector-card:hover .sector-open,.sector-card:focus-visible .sector-open{background:var(--red);color:white}
.sector-gallery-foot{display:flex;justify-content:space-between;gap:30px;align-items:baseline;border-top:1px solid #d6d9db;padding-top:25px}
.sector-gallery .sector-gallery-foot>p{font-size:15px;line-height:1.8;margin:0}
.sector-gallery .sector-gallery-foot>.industry-image-note{font-size:12px;color:var(--muted)}
.industry-page{padding:48px var(--page-pad) 0;overflow-wrap:anywhere}
.industry-wrap{max-width:1440px;margin:auto}
.industry-page-heading{display:grid;grid-template-columns:1.12fr 1fr;gap:64px;align-items:end;padding:25px 0 62px}
.industry-page h1{font-size:clamp(36px,4.8vw,72px);line-height:1.32;letter-spacing:-.05em;margin:22px 0 0}
.industry-page-intro>p:first-child{font-size:clamp(20px,2vw,28px);font-weight:700;line-height:1.7;margin-bottom:22px}
.industry-page-intro>p:last-child{font-size:16px;color:var(--muted);line-height:1.95}
.industry-jump{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid #d8dcdf;gap:0 28px;padding:8px 0}
.industry-jump a{display:flex;align-items:baseline;gap:13px;padding:16px 0;font-size:14px;line-height:1.7}
.industry-jump a>span{color:var(--red);font:12px/1.5 Arial,sans-serif}
.industry-jump a:hover{text-decoration:underline;text-underline-offset:5px}
.industry-image-note{font-size:12px;line-height:1.8;color:var(--muted)}
.page-image-note{margin:19px 0 0}
.industry-chapters{padding:56px 0 20px}
.industry-chapter{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(36px,6vw,90px);align-items:center;padding:64px 0 76px;border-bottom:1px solid var(--line);scroll-margin-top:20px}
.industry-chapter:nth-child(even) .chapter-photo{order:2}
.chapter-photo{margin:0;align-self:stretch;position:relative;min-height:460px}
.chapter-photo img{display:block;width:100%;height:calc(100% - 34px);position:absolute;inset:0;object-fit:cover}
.chapter-photo figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:16px;padding-top:12px;font-size:12px;color:var(--muted);letter-spacing:.04em;line-height:1.6}
.chapter-category{font-size:14px;font-weight:700;color:var(--red);line-height:1.7;margin:0 0 22px}
.chapter-copy h2{font-size:clamp(27px,2.9vw,42px);line-height:1.55;letter-spacing:-.045em;margin:0 0 26px}
.chapter-intro{font-size:16px;line-height:2;max-width:35em}
.chapter-points{margin:26px 0 16px}
.chapter-points>p{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:13px}
.chapter-points ul{padding:0;list-style:none;margin:0}
.chapter-points li{padding:9px 0 9px 17px;font-size:15px;line-height:1.75;position:relative}
.chapter-points li:before{content:"";position:absolute;left:0;top:22px;height:1px;width:6px;background:var(--red)}
.industry-details{border-top:1px solid #d4d8db;border-bottom:1px solid #d4d8db;margin-top:22px}
.industry-details summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:14px;font-weight:700;line-height:1.8;padding:18px 0}
.industry-details summary::-webkit-details-marker{display:none}
.industry-details summary::marker{content:""}
.industry-details summary:focus-visible{outline:3px solid #2275ff;outline-offset:5px}
.industry-details summary>span{font-size:22px;line-height:1;transition:transform .2s;color:var(--red);flex-shrink:0}
.industry-details[open] summary>span{transform:rotate(45deg)}
.industry-details-body{padding:0 0 22px}
.industry-details-body p{font-size:16px;line-height:2;margin:14px 0 0}
.industry-details-body a{color:var(--red);text-decoration:underline;text-underline-offset:4px}
.chapter-more{margin-top:22px;font-size:14px}
.industry-invitation{margin:84px 0 100px;background:#11191f;color:white;padding:clamp(30px,4.4vw,64px);display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center}
.industry-invitation .eyebrow{color:#ff8fa1}
.industry-invitation h2{font-size:clamp(26px,2.8vw,40px);line-height:1.6;margin-top:20px}
.industry-invitation p:not(.eyebrow){font-size:16px;line-height:1.95;color:#dee1e4}
.industry-invitation .button{margin-top:26px}
.invitation-services{list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px;margin:24px 0 0;padding:0;font-size:13px;line-height:1.8;color:#c1c7ce}
.invitation-services a{text-decoration:underline;text-underline-offset:4px}
.construction-hero{min-height:580px;display:grid;align-items:center;position:relative;isolation:isolate;background:#173145;color:white}
.construction-hero-photo{position:absolute;inset:0;z-index:-2}
.construction-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.construction-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0a1c2adb,#0a1c2a8c 55%,#0a1c2a1a);z-index:-1}
.construction-hero-copy{padding:64px clamp(28px,4.5vw,68px)}
.construction-hero .eyebrow{color:#fff;font-size:12px}
.construction-hero h1{font-size:clamp(36px,4.5vw,66px);line-height:1.45;margin:26px 0}
.construction-hero-copy>p:not(.eyebrow){font-size:16px;color:#e5e9ee}
.construction-hero .text-link{margin-top:48px;text-decoration-color:#a1aab2}
.construction-hero .text-link:hover{color:white}
.construction-caption{text-align:right;margin:12px 0}
.construction-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;padding:84px 0 64px}
.construction-intro h2,.construction-business>h2,.construction-planning h2{font-size:clamp(27px,3vw,42px);line-height:1.6;letter-spacing:-.04em}
.construction-intro p{font-size:17px;line-height:2}
.construction-intro p+p{margin-top:18px}
.construction-jump{grid-template-columns:repeat(4,minmax(0,1fr))}
.construction-business{padding:80px 0;scroll-margin-top:25px}
.construction-business>h2{margin:20px 0 38px}
.construction-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.construction-point{border-top:1px solid var(--ink);padding-top:26px}
.construction-number{display:block;font:36px/1 Arial,sans-serif;font-weight:400;color:var(--red);margin-bottom:26px;letter-spacing:-.04em}
.construction-point h3{font-size:22px;line-height:1.65;margin-bottom:18px;max-width:15em}
.construction-point>p{font-size:16px;line-height:1.95;color:var(--muted)}
.construction-stories{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,90px);align-items:stretch;margin:12px 0 80px}
.construction-process-photo{margin:0;position:relative;min-height:600px}
.construction-process-photo img{position:absolute;width:100%;height:calc(100% - 32px);object-fit:cover;inset:0}
.construction-process-photo figcaption{position:absolute;bottom:0;font-size:12px;line-height:1.7;color:var(--muted)}
.construction-story{scroll-margin-top:25px}
.construction-story+.construction-story{padding-top:52px}
.construction-story h2{font-size:clamp(26px,2.8vw,39px);line-height:1.6;margin:18px 0 22px}
.construction-story>p:not(.eyebrow){font-size:16px;line-height:2}
.construction-planning{display:grid;grid-template-columns:1fr 1.1fr;gap:72px;padding:56px;background:#f5f5f5;scroll-margin-top:25px}
.construction-planning h2{margin:20px 0 22px}
.construction-planning p{font-size:15px;line-height:1.9}
.planning-list ol{list-style:none;counter-reset:preparation;padding:0;margin:0 0 24px}
.planning-list li{counter-increment:preparation;position:relative;border-bottom:1px solid #d8dcdf;padding:17px 0 17px 36px;font-size:16px;line-height:1.9}
.planning-list li:first-child{padding-top:0}
.planning-list li:before{content:counter(preparation,decimal-leading-zero);position:absolute;left:0;top:20px;font:13px/1.8 Arial,sans-serif;color:var(--red)}
.planning-list li:first-child:before{top:3px}
.construction-related{padding-top:70px}
.construction-related h2{font-size:28px;margin:20px 0 30px}
.construction-related .related-links{display:grid;grid-template-columns:1fr 1fr;gap:0 44px;margin:0;font-size:15px}
.construction-related .related-links li{padding-block:20px}
.construction-back{margin-top:22px}
@media (min-width:1800px){.sector-gallery-grid{gap:48px 40px}.sector-card-photo{aspect-ratio:1.35}}
@media (max-width:1050px){
 .sector-gallery{padding-block:80px 60px}.sector-gallery-heading{gap:36px}
 .sector-gallery-grid{gap:32px 20px}.sector-card h3{font-size:17px}
 .industry-page-heading{gap:36px}.industry-page-intro br{display:none}
 .industry-chapter{gap:36px}.chapter-photo{min-height:460px}
 .industry-invitation{gap:30px;grid-template-columns:1fr 1fr}.industry-invitation br{display:none}
 .construction-intro{gap:40px}.construction-points{gap:24px}.construction-point h3{font-size:20px}
 .construction-planning{padding:40px;gap:36px}.construction-jump{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
 .sector-gallery{padding:62px 24px 48px}.sector-gallery-heading{grid-template-columns:1fr;gap:26px;margin-bottom:36px}
 .sector-gallery h2{font-size:36px;margin-top:16px}.sector-gallery .sector-gallery-intro>p{font-size:16px;margin-bottom:20px}
 .sector-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px;margin-bottom:34px}
 .sector-gallery-grid>li:nth-child(3n+2){transform:none}.sector-card-photo{aspect-ratio:1}
 .sector-index{top:10px;left:10px;padding:4px 7px;min-width:auto;font-size:12px}.sector-open{bottom:10px;right:10px;width:32px;height:32px;font-size:20px}
 .sector-card-caption{padding:17px 0 20px}.sector-gallery p.sector-category{font-size:12px;letter-spacing:.04em}
 .sector-card h3{font-size:17px;line-height:1.65}.sector-gallery p.sector-card-line{font-size:14px;line-height:1.75}
 .sector-gallery-foot{display:block}.sector-gallery .sector-gallery-foot>.industry-image-note{margin-top:12px}
 .industry-page{padding:32px 24px 0}.industry-page .breadcrumbs{font-size:13px;margin-bottom:24px}
 .industry-page-heading{grid-template-columns:1fr;gap:28px;padding:16px 0 34px}.industry-page h1{font-size:42px;margin-top:18px}
 .industry-page-intro>p:first-child{font-size:21px;margin-bottom:16px}.industry-page-intro>p:last-child{font-size:16px}
 .industry-jump{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.industry-jump a{font-size:14px;gap:8px;padding-block:12px}
 .industry-chapters{padding:16px 0 0}.industry-chapter{grid-template-columns:1fr;gap:28px;padding:42px 0 46px;scroll-margin-top:20px}
 .industry-chapter:nth-child(even) .chapter-photo{order:0}.chapter-photo{min-height:0;aspect-ratio:1.2}
 .chapter-copy h2{font-size:30px;line-height:1.55;margin-bottom:20px}.chapter-category{margin-bottom:14px}
 .chapter-intro{font-size:16px}.chapter-points{margin-top:22px}.chapter-photo figcaption{font-size:12px}
 .industry-invitation{grid-template-columns:1fr;gap:28px;margin:48px 0 60px;padding:30px 26px}
 .industry-invitation h2{font-size:28px;line-height:1.6;margin-top:16px}.industry-invitation h2 br{display:initial}
 .industry-invitation .button{padding:18px 22px;gap:18px;font-size:15px;max-width:100%}
 .construction-hero{min-height:510px;margin-inline:-24px}.construction-hero-copy{padding:48px 24px}.construction-hero h1{font-size:38px;line-height:1.5}
 .construction-hero:after{background:linear-gradient(90deg,#0a1c2ad9,#0a1c2a5e)}.construction-hero .eyebrow{font-size:12px;letter-spacing:.08em}
 .construction-caption{text-align:left}.construction-intro{grid-template-columns:1fr;gap:26px;padding:48px 0 36px}.construction-intro h2{font-size:29px}
 .construction-intro p{font-size:16px}.construction-business{padding:48px 0}.construction-business>h2{font-size:28px;margin-bottom:28px}
 .construction-points{grid-template-columns:1fr;gap:36px}.construction-point{padding-top:22px}.construction-number{font-size:30px;margin-bottom:18px}
 .construction-point h3{font-size:23px;max-width:none;margin-bottom:14px}.construction-point .industry-details{margin-top:18px}
 .construction-stories{grid-template-columns:1fr;gap:32px;margin:0 0 48px}.construction-process-photo{min-height:0;aspect-ratio:1.2}
 .construction-story h2{font-size:29px}.construction-story+.construction-story{padding-top:40px}
 .construction-planning{grid-template-columns:1fr;gap:28px;padding:32px 24px;margin-inline:-24px}.construction-planning h2{font-size:30px}
 .construction-related{padding-top:48px}.construction-related h2{font-size:25px}.construction-related .related-links{grid-template-columns:1fr;font-size:15px}
}
@media (max-width:370px){
 .sector-gallery h2{font-size:31px}.sector-gallery-grid{grid-template-columns:1fr;gap:30px}.sector-card-photo{aspect-ratio:1.35}
 .industry-page h1{font-size:35px}.industry-page .industry-jump{grid-template-columns:1fr}.industry-page .industry-jump a{padding-block:11px}
 .chapter-copy h2{font-size:26px}.industry-invitation{padding-inline:22px}.industry-invitation h2{font-size:24px}.construction-hero h1{font-size:32px}
}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}.sector-card-photo img,.sector-open,.industry-details summary>span{transition:none}.sector-card:hover img,.sector-card:focus-visible img{transform:none}
}
