/* Shared internal-page layouts, extending the approved homepage. */
.principles>a{display:flex;align-items:flex-start;gap:21px;padding-left:25px;border-left:1px solid var(--line)}.principles>a:first-child{border-left:0;padding-left:0}.principles>a:hover strong{color:var(--green-dark)}.nav-top>a[aria-current],.nav-top>a.active-section{text-decoration:underline;text-underline-offset:7px}.submenu a[aria-current]{background:var(--soft);color:var(--green-dark);font-weight:700}.inner-heading{padding-top:25px;padding-bottom:43px}.breadcrumbs{margin-bottom:35px}.breadcrumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:7px 0;font-size:13px;color:var(--muted);line-height:1.6}.breadcrumbs li:not(:last-child):after{content:'/';display:inline-block;margin-inline:11px;color:#9da495}.breadcrumbs a:hover{color:var(--green-dark)}.breadcrumbs [aria-current]{color:var(--ink)}.inner-heading>.eyebrow{color:var(--green-dark);font-size:12px}.inner-heading h1{font-size:clamp(34px,4.1vw,54px);max-width:1020px;letter-spacing:-.025em;line-height:1.14;margin-top:16px;overflow-wrap:break-word}.inner-lead{font-size:17px;color:var(--muted);max-width:780px;margin-top:22px;line-height:1.8}.overview-content,.catalog-content{padding-bottom:12px}.category-count{padding:0 17px 18px;font-size:13px;color:var(--muted)}.category-nav{display:flex;flex-wrap:wrap;gap:9px;border-block:1px solid var(--line);padding:23px 0;margin-bottom:34px}.category-nav a{display:flex;align-items:center;gap:12px;padding:9px 14px;border:1px solid var(--line);border-radius:6px;font-size:14px;background:#fff;line-height:1.4}.category-nav a span{color:var(--muted);font-size:12px}.category-nav a:hover{border-color:var(--green);color:var(--green-dark)}.category-nav a[aria-current]{background:var(--green);color:white;border-color:var(--green)}.category-nav a[aria-current] span{color:white}.catalog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.catalog-top h2{font-size:28px}.catalog-top>span{font-size:14px;color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.project-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white;transition:transform .2s,box-shadow .2s}.project-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #20271f12}.project-card-image{position:relative;aspect-ratio:1.45;overflow:hidden;background:var(--soft)}.project-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.project-card:hover img{transform:scale(1.025)}.project-card-image>span{position:absolute;right:16px;bottom:16px;border-radius:5px;background:white;padding:5px 11px;font-weight:600;font-size:15px}.project-card-body{padding:23px}.project-card-body>.eyebrow{font-size:10px;letter-spacing:.08em;color:var(--muted);margin-bottom:10px}.project-card-title{display:flex;gap:12px;justify-content:space-between;align-items:center}.project-card-title h2{font-size:25px;letter-spacing:-.015em}.project-card-title>span{color:var(--green);font-size:25px}.project-card dl{margin:22px 0;display:grid;grid-template-columns:1fr 1fr;gap:15px}.project-card dl>div:last-child{grid-column:1/-1}.project-card dt{font-size:12px;color:var(--muted)}.project-card dd{font-size:15px;margin:3px 0 0}.card-more{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid var(--line);font-size:14px;color:var(--green-dark);font-weight:600}.card-more span{font-size:21px;line-height:1}.project-detail{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:42px;align-items:start}.project-gallery{min-width:0}.gallery-link{display:block;position:relative;border-radius:11px;overflow:hidden;background:var(--soft)}.gallery-link>span{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:white;color:var(--green-dark);font-size:23px;box-shadow:0 2px 10px #0002}.gallery-link:hover>span{background:var(--green);color:white}.project-main-image{aspect-ratio:1.2}.project-main-image img{width:100%;height:100%;object-fit:cover}.project-summary{background:var(--soft);border:1px solid var(--line);padding:30px;border-radius:12px}.project-summary>.eyebrow{color:var(--muted)}.project-specs{display:grid;grid-template-columns:1fr 1fr;margin:27px 0;gap:25px 18px}.project-specs dt{color:var(--muted);font-size:13px}.project-specs dd{margin:7px 0 0;font:23px/1.3 Ubuntu,Arial,sans-serif;letter-spacing:-.02em}.project-price{padding-top:22px;border-top:1px solid var(--line)}.project-price>span{font-size:13px;color:var(--muted)}.project-price strong{display:block;font:26px/1.3 Ubuntu,Arial;margin-top:5px}.project-price p{color:var(--muted);font-size:14px;margin-top:9px}.project-summary>.button{width:100%;margin-top:22px}.back-catalog{display:block;color:var(--green-dark);font-size:14px;margin-top:20px}.project-information{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:65px;padding-block:72px}.project-information>.article-body{margin:0}.project-information h2{font-size:33px;margin-top:16px}.project-information .eyebrow{color:var(--muted)}.article-body{font-size:16px;line-height:1.85;overflow-wrap:anywhere;color:#40473c}.article-body p{margin:0 0 21px}.article-body h2{font-size:29px;line-height:1.3;margin:35px 0 17px;color:var(--ink);letter-spacing:-.02em}.article-body h3,.article-body h4{font-size:23px;line-height:1.3;margin:27px 0 15px;color:var(--ink)}.article-body ul,.article-body ol{padding-left:24px;margin:15px 0 24px}.article-body li{margin-bottom:8px}.article-body li::marker{color:var(--green)}.article-body strong{color:var(--ink)}.article-body table{border-collapse:collapse;display:block;max-width:100%;overflow:auto}.article-body th,.article-body td{padding:10px;border:1px solid var(--line)}.article-body a{color:var(--green-dark);text-decoration:underline}.related-projects{padding-block:55px;background:var(--soft)}.related-projects .section-heading h2{font-size:35px}.related-projects .section-heading>a{font-size:14px;color:var(--green-dark)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.service-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:transform .2s}.service-card:hover{transform:translateY(-4px)}.service-card>img{aspect-ratio:1.6;width:100%;object-fit:cover}.service-card>div{padding:25px;display:flex;flex-direction:column;flex:1}.service-index{font-size:12px;color:var(--green-dark);margin-bottom:14px}.service-card h2{font-size:24px;line-height:1.25;letter-spacing:-.015em;overflow-wrap:break-word}.service-card p{color:var(--muted);font-size:15px;line-height:1.7;margin:16px 0 25px}.service-card .card-more{margin-top:auto}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:55px;align-items:start}.article-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:34px}.article-gallery img{width:100%;height:100%;aspect-ratio:1.4;object-fit:cover}.project-gallery .article-gallery{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px;margin-bottom:0}.project-gallery .article-gallery img{object-fit:contain;aspect-ratio:1.3}.project-gallery .article-gallery .gallery-link>span{width:24px;height:24px;right:6px;bottom:6px;font-size:17px}.service-aside{position:sticky;top:25px;border:1px solid var(--line);border-radius:11px;padding:24px;background:var(--soft)}.service-aside>.eyebrow{color:var(--green-dark);margin-bottom:17px}.service-aside nav{display:grid}.service-aside nav a{font-size:14px;line-height:1.6;padding:10px 0;border-bottom:1px solid var(--line)}.service-aside nav a[aria-current]{color:var(--green-dark);font-weight:600}.service-aside nav a:hover{color:var(--green-dark)}.aside-contact{margin-top:27px}.aside-contact h3{font-size:23px}.aside-contact p{color:var(--muted);font-size:14px;margin-top:12px}.aside-contact .button{padding:13px 15px;gap:12px;font-size:13px;width:100%;margin-top:20px}.service-intro{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.service-intro>img{width:100%;height:420px;object-fit:cover;border-radius:12px}.service-intro h2{font-size:34px;margin-top:18px;line-height:1.2}.service-intro p:not(.eyebrow),.service-intro ul{font-size:16px;color:var(--muted);margin:20px 0}.service-intro ul{padding-left:22px}.service-intro li{margin:7px 0}.service-intro li::marker{color:var(--green)}.service-intro .eyebrow{color:var(--green-dark)}.related-services{margin-top:60px;padding-top:35px;border-top:1px solid var(--line)}.related-services h2{font-size:28px}.related-links{display:flex;flex-wrap:wrap;gap:13px;margin-top:22px}.related-links a{display:flex;justify-content:space-between;gap:20px;padding:15px 20px;background:var(--soft);border-radius:7px;font-size:14px}.related-links a:hover{color:var(--green-dark)}.related-links span{color:var(--green)}.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.package-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.package-card>img{width:100%;aspect-ratio:1.7;object-fit:cover}.package-card>div{padding:25px;display:flex;flex-direction:column;flex:1}.package-card h2{font-size:26px;line-height:1.25}.package-card p{color:var(--muted);font-size:15px;line-height:1.7;margin:16px 0 25px}.package-price{display:block;font:27px Ubuntu,Arial;color:var(--ink);margin-top:auto;margin-bottom:22px}.package-card .button{padding:13px 15px;font-size:14px;gap:12px}.price-note{font-size:14px;color:var(--muted);margin-top:23px}.repair-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:42px;padding:30px;background:var(--soft);border-radius:12px}.repair-benefits h3{font-size:22px;margin-bottom:14px}.repair-benefits p{font-size:15px;color:var(--muted)}.sitemap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.sitemap-grid h2{font-size:24px}.sitemap-grid h2 a{color:var(--green-dark)}.sitemap-grid ul{list-style:none;padding:0;margin:18px 0 0}.sitemap-grid li{font-size:15px;line-height:1.6;margin:10px 0}.sitemap-grid a:hover{text-decoration:underline}.contact-topic{border-left:3px solid var(--green);padding:8px 0 8px 15px;background:var(--soft)}.contact-topic[hidden]{display:none}.image-dialog{padding:25px;width:min(1100px,calc(100% - 36px));max-height:95vh;background:#f9faf6}.image-dialog figure{margin:0}.image-dialog figure img{display:block;max-width:100%;max-height:72vh;width:auto;height:auto;margin:auto;object-fit:contain}.image-dialog figcaption{font-size:14px;color:var(--muted);margin-top:15px;text-align:center}.image-close{position:absolute;right:10px;top:10px;z-index:2;border:1px solid var(--line);background:white;border-radius:50%;width:40px;height:40px;font-size:29px;line-height:1}.image-controls{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:14px}.image-controls button{width:43px;height:37px;background:white;border:1px solid var(--line);border-radius:6px;font-size:22px}.image-controls button:disabled{opacity:.3;cursor:default}.image-controls span{font-size:14px;min-width:50px;text-align:center}.footer nav{flex-wrap:wrap;gap:13px 20px}
@media(max-width:1100px){.project-grid{gap:18px}.project-card-body{padding:19px}.project-card-title h2{font-size:22px}.project-detail{gap:25px}.project-summary{padding:24px}.project-specs dd{font-size:21px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout{gap:30px;grid-template-columns:minmax(0,1fr) 255px}.project-information{gap:35px}.service-intro{gap:30px}.footer nav{max-width:540px}.project-main-image{aspect-ratio:1}}
@media(max-width:850px){.inner-heading{padding-bottom:32px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-detail{grid-template-columns:1fr}.project-main-image{aspect-ratio:1.5}.project-summary{padding:30px}.project-specs{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.project-summary>.button{max-width:320px}.project-information{grid-template-columns:1fr;gap:25px;padding-block:45px}.project-information h2{font-size:31px}.article-layout{grid-template-columns:1fr}.service-aside{position:static}.service-aside nav{grid-template-columns:1fr 1fr;gap:0 20px}.aside-contact .button{max-width:240px}.package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-intro h2{font-size:28px}.repair-benefits{gap:20px;padding:25px}.sitemap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer nav{max-width:none}.principles>a{gap:12px;padding-left:15px}}
@media(max-width:600px){.inner-heading{padding-top:18px;padding-bottom:27px}.breadcrumbs{margin-bottom:25px}.breadcrumbs ol{font-size:12px}.breadcrumbs li:not(:last-child):after{margin-inline:7px}.inner-heading>.eyebrow{font-size:10px}.inner-heading h1{font-size:34px;line-height:1.14;margin-top:14px}.inner-lead{font-size:16px;line-height:1.7;margin-top:18px}.category-nav{padding-block:17px;gap:8px;margin-bottom:25px}.category-nav a{font-size:12px;padding:8px 10px;gap:9px}.catalog-top{gap:15px;align-items:start}.catalog-top h2{font-size:24px;max-width:240px}.catalog-top>span{white-space:nowrap;font-size:12px;padding-top:4px}.project-grid{grid-template-columns:1fr;gap:21px}.project-card-image{aspect-ratio:1.55}.project-card-body{padding:22px}.project-card-title h2{font-size:26px}.project-card dl{grid-template-columns:1fr 1fr}.project-card dd{font-size:16px}.project-card dt{font-size:13px}.project-card-body>.eyebrow{font-size:11px}.service-grid{grid-template-columns:1fr;gap:23px}.service-card>div{padding:23px}.service-card h2{font-size:26px}.project-detail{gap:23px}.project-main-image{aspect-ratio:1.22}.project-summary{padding:24px}.project-specs{grid-template-columns:1fr 1fr;gap:23px 16px}.project-specs dd{font-size:21px}.project-specs dt{font-size:12px}.project-price strong{font-size:25px}.project-information{padding-block:40px;gap:21px}.project-information h2{font-size:29px}.article-body{font-size:16px;line-height:1.8}.article-body h2{font-size:26px;margin-top:28px}.related-projects{padding-block:38px}.related-projects .section-heading h2{font-size:29px}.related-projects .section-heading>a{display:block;margin-top:15px}.article-gallery{gap:9px;margin-bottom:26px}.article-gallery img{aspect-ratio:1;object-fit:cover}.article-gallery .gallery-link>span{width:25px;height:25px;font-size:17px;right:6px;bottom:6px}.service-aside nav{grid-template-columns:1fr}.service-intro{display:flex;flex-direction:column;gap:27px;align-items:stretch}.service-intro>img{height:245px}.service-intro h2{font-size:30px}.related-services{margin-top:35px;padding-top:27px}.related-services h2{font-size:26px}.related-links{display:grid}.related-links a{padding:15px 17px}.package-grid{grid-template-columns:1fr}.package-card h2{font-size:27px}.package-card .button{font-size:15px}.repair-benefits{grid-template-columns:1fr;gap:24px;padding:25px}.repair-benefits h3{margin-bottom:10px}.sitemap-grid{grid-template-columns:1fr;gap:30px}.category-count{font-size:12px;padding:0 11px 14px}.image-dialog{padding:17px;width:calc(100% - 20px)}.image-dialog figcaption{font-size:12px}.principles>a{border-left:0;border-bottom:1px solid var(--line);padding:15px 0;gap:25px;align-items:center}.principles>a:last-child{border-bottom:0}}

.nav-group:nth-child(n+3) .submenu{left:auto;right:0}.package-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1150px){.package-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.package-grid-four{grid-template-columns:1fr}}
.package-card>img{object-position:top}
/* Use a centered icon instead of the font-dependent dropdown character. */
@media(min-width:601px){
  .nav-top .submenu-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;padding:0;font-size:0;line-height:0}
  .nav-top .submenu-toggle::after{content:'';display:block;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
  .nav-top .submenu-toggle[aria-expanded="true"]::after{transform:translateY(2px) rotate(225deg)}
}
