/* Scoped service page; shared home navigation, typography and footer stay intact. */
.individual-page .individual-layout { padding-bottom:64px; }
.individual-page .individual-breadcrumbs { display:flex; flex-wrap:wrap; gap:10px; padding:24px 0; color:var(--brand-muted); font:var(--font-sm-mobile-regular-135); }
.individual-page .individual-breadcrumbs a { color:var(--brand-petrol); }
.individual-page .individual-hero { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
.individual-page h1 { margin:16px 0 24px; font:var(--font-xl-desktop); font-size:clamp(36px,3.5vw,48px); line-height:1.15; letter-spacing:-.025em; color:var(--brand-ocean); }
.individual-page .individual-eyebrow { font-size:13px; font-weight:500; letter-spacing:.05em; text-transform:uppercase; color:var(--brand-petrol); }
.individual-page .individual-lead { max-width:600px; font-size:18px; line-height:1.5; }
.individual-page .individual-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px 24px; margin-top:28px; }
.individual-page .individual-button { display:inline-flex; gap:20px; justify-content:center; align-items:center; min-height:52px; padding:14px 22px; border-radius:10px; background:#D76A42; color:#fff; font-size:20px; line-height:1.2; font-weight:700; text-decoration:none; transition:background-color 180ms ease; }
.individual-page .individual-button:hover { background:#b64d28; color:#fff; }
.individual-page .individual-link { display:inline-flex; gap:10px; align-items:center; color:var(--brand-petrol); text-decoration:underline; text-decoration-color:transparent; text-decoration-thickness:2px; text-underline-offset:5px; }
.individual-page .individual-link:hover,.individual-page .individual-link:focus-visible { color:var(--brand-petrol); text-decoration-color:#D76A42; }
.individual-page a:focus-visible,.individual-page summary:focus-visible { outline:2px solid #D76A42; outline-offset:5px; }
.individual-page .individual-hero-note { margin-top:20px; color:var(--brand-muted); font-size:14px; }
.individual-page .individual-photo { min-width:0; }
.individual-page .individual-photo .source-large-gallery { margin:0; gap:0; }
.individual-page .individual-photo ._carouselMain_17xo5_6 { height:300px; border-radius:18px; overflow:hidden; }
.individual-page .individual-photo--hero ._carouselMain_17xo5_6 { height:400px; border-radius:24px; }
.individual-page .individual-photo ._carouselMainViewport_17xo5_69,.individual-page .individual-photo ._carouselMainlist_17xo5_72,.individual-page .individual-photo ._slide_17xo5_78,.individual-page .individual-photo ._imageContainer_1ural_1 { height:100%; }
.individual-page .individual-photo ._image_1ural_1 { width:100%; height:100%; object-fit:cover; }
.individual-page #root .individual-photo ._carouselThumbs_17xo5_94 { margin-top:10px; height:56px; }
.individual-page #root .individual-photo ._carouselThumbsList_17xo5_98 { gap:10px; }
.individual-page #root .individual-photo ._carouselThumbsItem_17xo5_104 { flex:0 0 74px; min-width:74px; max-width:74px; height:56px; }
.individual-page .individual-photo .source-gallery-caption { font-size:12px; line-height:1.4; margin-top:8px; color:var(--brand-muted); }
.individual-page .individual-section { margin-top:64px; }
.individual-page .individual-section-head { margin-bottom:32px; }
.individual-page .individual-section-head h2,.individual-page .individual-request h2 { font:var(--font-xl-desktop); font-size:36px; line-height:1.2; letter-spacing:-.02em; }
.individual-page .individual-section-head p { max-width:960px; font-size:17px; line-height:1.5; margin-top:16px; }
.individual-page .individual-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:40px; }
.individual-page .individual-benefits article { background:var(--brand-gray); border-radius:18px; padding:24px; }
.individual-page .individual-number { display:block; color:var(--brand-petrol); font-size:28px; line-height:1.1; margin-bottom:20px; }
.individual-page .individual-benefits h2,.individual-page .individual-directions h3,.individual-page .individual-stages h3 { font-size:22px; line-height:1.3; margin-bottom:12px; }
.individual-page .individual-benefits p,.individual-page .individual-directions p,.individual-page .individual-stages p { font-size:16px; line-height:1.5; }
.individual-page .individual-directions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.individual-page .individual-direction { display:flex; flex-direction:column; min-width:0; }
.individual-page .individual-direction-image { display:block; height:200px; overflow:hidden; margin-bottom:20px; }
.individual-page .individual-direction-image img { display:block; width:100%; height:100%; object-fit:contain; transition:transform 220ms ease; }
.individual-page .individual-direction-image:hover img { transform:scale(1.06); }
.individual-page .individual-direction .individual-link { margin-top:auto; padding-top:20px; font-size:14px; }
.individual-page .individual-directions p { margin-bottom:12px; }
.individual-page .individual-projects { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.individual-page .individual-project { border:1px solid var(--brand-border); border-radius:24px; padding:20px; min-width:0; }
.individual-page .individual-project-copy { padding:16px 4px 4px; }
.individual-page .individual-project h3 { font-size:26px; line-height:1.3; margin:12px 0; }
.individual-page .individual-project-title { color:var(--brand-ocean); text-decoration:underline; text-decoration-color:transparent; text-decoration-thickness:2px; text-underline-offset:5px; }
.individual-page .individual-project-title:hover,.individual-page .individual-project-title:focus-visible { color:var(--brand-ocean); text-decoration-color:#D76A42; }
.individual-page .individual-project p { font-size:16px; line-height:1.5; }
.individual-page .individual-project dl { margin:20px 0; }
.individual-page .individual-project dl div { display:grid; grid-template-columns:110px 1fr; gap:12px; padding:8px 0; font-size:14px; line-height:1.5; }
.individual-page .individual-project dt { color:var(--brand-muted); }
.individual-page .individual-project dd { margin:0; }
.individual-page .individual-stages { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; list-style:none; padding:0; }
.individual-page .individual-stages li { display:flex; flex-direction:column; border-top:2px solid var(--brand-turquoise); padding-top:24px; }
.individual-page .individual-stage-result { margin-top:auto; padding-top:24px; font-size:14px; color:var(--brand-petrol); }
.individual-page .individual-cost { display:grid; grid-template-columns:1fr 1fr; gap:48px; padding:32px; background:var(--brand-gray); border-radius:24px; }
.individual-page .individual-cost .individual-section-head { margin-bottom:20px; }
.individual-page .individual-cost p { font-size:16px; line-height:1.5; margin-top:16px; }
.individual-page .individual-cost .individual-button { margin-top:24px; }
.individual-page .individual-cost dl { margin:0; }
.individual-page .individual-cost dl div { padding:18px 0; border-bottom:1px solid var(--brand-border); }
.individual-page .individual-cost dl div:first-child { padding-top:0; }
.individual-page .individual-cost dt { font-size:20px; margin-bottom:8px; }
.individual-page .individual-cost dd { margin:0; font-size:16px; line-height:1.5; }
.individual-page .individual-brief ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 40px; list-style:none; padding:0; }
.individual-page .individual-brief li { display:flex; align-items:flex-start; gap:16px; }
.individual-page .individual-check { display:grid; place-items:center; width:32px; height:32px; flex:0 0 32px; border-radius:50%; background:var(--brand-petrol); color:#fff; font-size:14px; }
.individual-page .individual-brief h3 { font-size:20px; line-height:1.3; margin:0 0 8px; }
.individual-page .individual-brief p { font-size:16px; line-height:1.5; }
.individual-page .individual-faq details { border-bottom:1px solid var(--brand-border); padding:20px 0; }
.individual-page .individual-faq details:first-child { border-top:1px solid var(--brand-border); }
.individual-page .individual-faq summary { position:relative; padding-right:40px; cursor:pointer; font-size:20px; line-height:1.35; list-style:none; }
.individual-page .individual-faq summary::-webkit-details-marker { display:none; }
.individual-page .individual-faq summary::after { position:absolute; right:2px; top:-2px; content:'+'; color:var(--brand-petrol); font-size:28px; }
.individual-page .individual-faq details[open] summary::after { content:'−'; }
.individual-page .individual-faq details[open] summary { color:var(--brand-petrol); }
.individual-page .individual-faq p { max-width:1000px; margin-top:16px; font-size:16px; line-height:1.6; }
.individual-page .individual-request { display:grid; grid-template-columns:1.25fr 1fr; gap:56px; padding:40px; margin-top:64px; border-radius:24px; background:var(--brand-ocean); color:#fff; }
.individual-page .individual-request .individual-eyebrow { color:var(--brand-turquoise); }
.individual-page .individual-request h2 { margin:16px 0 24px; color:#fff; }
.individual-page .individual-request p { font-size:17px; line-height:1.5; }
.individual-page .individual-request .individual-mail-note { margin-top:16px; font-size:13px; }
.individual-page .individual-contact { display:flex; flex-direction:column; align-self:center; align-items:flex-start; gap:20px; min-width:0; }
.individual-page .individual-contact>a { color:#fff; font-size:22px; overflow-wrap:anywhere; }
.individual-page .individual-contact>.individual-link { color:#fff; font-size:16px; }
@media(max-width:1100px) {
 .individual-page .individual-hero { gap:28px; }
 .individual-page .individual-photo--hero ._carouselMain_17xo5_6 { height:340px; }
 .individual-page .individual-directions,.individual-page .individual-stages { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
 .individual-page .individual-request { gap:32px; }
}
@media(max-width:800px) {
 .individual-page .individual-hero,.individual-page .individual-benefits,.individual-page .individual-projects,.individual-page .individual-cost,.individual-page .individual-request { grid-template-columns:1fr; }
 .individual-page .individual-hero-copy { max-width:650px; }
 .individual-page .individual-photo--hero ._carouselMain_17xo5_6 { height:400px; }
 .individual-page .individual-brief ol { gap:24px; }
}
@media(max-width:600px) {
 .individual-page .individual-layout { padding-bottom:40px; }
 .individual-page .individual-breadcrumbs { font-size:13px; padding:20px 0; }
 .individual-page h1 { font-size:clamp(26px,8vw,32px); margin:12px 0 20px; }
 .individual-page .individual-lead { font-size:17px; }
 .individual-page .individual-hero { gap:28px; }
 .individual-page .individual-photo--hero ._carouselMain_17xo5_6,.individual-page .individual-photo ._carouselMain_17xo5_6 { height:260px; border-radius:18px; }
 .individual-page .individual-benefits { gap:16px; margin-top:32px; }
 .individual-page .individual-benefits article { padding:20px; }
 .individual-page .individual-number { font-size:24px; margin-bottom:16px; }
 .individual-page .individual-section,.individual-page .individual-request { margin-top:40px; }
 .individual-page .individual-section-head { margin-bottom:24px; }
 .individual-page .individual-section-head h2,.individual-page .individual-request h2 { font-size:28px; }
 .individual-page .individual-section-head p { font-size:16px; }
 .individual-page .individual-directions { gap:28px 16px; }
 .individual-page .individual-direction-image { height:145px; margin-bottom:16px; }
 .individual-page .individual-directions h3 { font-size:20px; }
 .individual-page .individual-directions p { font-size:14px; }
 .individual-page .individual-direction .individual-link { font-size:13px; gap:6px; }
 .individual-page .individual-project { padding:16px; }
 .individual-page .individual-project h3 { font-size:24px; }
 .individual-page .individual-project dl div { grid-template-columns:90px 1fr; gap:10px; }
 .individual-page .individual-stages,.individual-page .individual-brief ol { grid-template-columns:1fr; gap:24px; }
 .individual-page .individual-cost,.individual-page .individual-request { padding:24px; gap:28px; }
 .individual-page .individual-button { font-size:20px; padding:14px 18px; width:100%; box-sizing:border-box; }
 .individual-page .individual-faq summary { font-size:18px; }
 .individual-page .individual-contact>a { font-size:20px; }
 .individual-page .individual-request p { font-size:16px; }
}
@media(max-width:360px) {
 .individual-page .individual-directions { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) {
 .individual-page .individual-button,.individual-page .individual-direction-image img { transition:none; }
 .individual-page .individual-direction-image:hover img { transform:none; }
}
