/* Shared Casa presentation; data, enquiries and integration code stay in their existing modules. */
html{scroll-padding-top:110px}body{font-family:Arial,'Segoe UI',sans-serif}img{max-width:100%}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #f36b1d;outline-offset:4px}h1,h2,h3,p,figcaption{overflow-wrap:break-word}section,article,figure,.wrap,.panel{min-width:0}.btn,.cbs-button{white-space:normal;line-height:1.4;text-align:center;max-width:100%;background:#f36b1d;color:#fff;border:0;border-radius:5px;font-weight:700;padding:14px 20px;display:inline-block;text-decoration:none;cursor:pointer}.cbs-header{background:#1d272e;color:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 12px #0002;padding:0}.cbs-header .cbs-nav-wrap{max-width:1280px;margin:auto;padding:14px 24px;display:flex;gap:24px;align-items:center;min-height:86px}.cbs-header .cbs-brand{display:flex;gap:10px;align-items:center;text-decoration:none;flex-shrink:0;line-height:1.05;color:white;background:none}.cbs-brand img{width:55px;height:55px;object-fit:contain}.cbs-brand span{display:flex;flex-direction:column;gap:4px}.cbs-brand b{font-size:29px;color:#ff8b21;letter-spacing:.01em}.cbs-brand strong{font-size:11px;letter-spacing:.04em;color:#fff}.cbs-header nav{padding:0;margin:0;border:0;width:auto;max-width:none;min-height:0;background:none;display:flex;gap:19px;align-items:center;flex-wrap:nowrap}.cbs-header .cbs-desktop{margin-left:auto}.cbs-header nav a{font-size:13px;line-height:1.4;color:white;text-decoration:none;font-weight:700;margin:0}.cbs-header nav a[aria-current=page]{color:#ffac75}.cbs-header nav a.cbs-button{color:white}.cbs-mobile{display:none}.hero-layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr)!important;gap:40px!important}.hero:has(.cbs-home-photo){min-height:0;overflow:visible;background:#17252b}.hero:has(.cbs-home-photo):before{display:none}.hero:has(.cbs-home-photo) .wrap{padding-top:48px;padding-bottom:48px}.hero:has(.cbs-home-photo) h1{font-size:clamp(34px,3.6vw,54px)}.hero:has(.cbs-home-photo) .hero-bottom{margin-top:25px;gap:14px}.hero:has(.cbs-home-photo) .outline{background:transparent;border:1px solid #ffffffa0}.cbs-home-photo{margin:0;border:0;background:none}.cbs-home-photo img{display:block;width:100%;height:auto;border-radius:8px}.cbs-home-photo figcaption{padding:12px 0 0;color:#cdd7da;font-size:13px;line-height:1.5}.cbs-reviews{padding:30px 0 38px;background:#f7f3ee}.cbs-reviews h2{font-size:25px;margin:0 0 18px}.cbs-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.cbs-review-grid blockquote{margin:0;background:white;padding:22px;border-left:3px solid #f36b1d}.cbs-review-grid blockquote p{font-size:19px;line-height:1.5;margin:0 0 12px}.cbs-review-grid footer{background:none;color:#536068;font-size:12px;line-height:1.7;text-align:left;padding:0}.cbs-review-grid footer a{display:inline;color:#a64015;font-size:12px;text-decoration:underline}.cbs-review-note{font-size:12px;color:#596166;margin-bottom:0}.service .pic{height:auto!important;background:none!important}.service .pic img{width:100%;height:auto;display:block}.cbs-project .hero{padding:32px 0!important;min-height:0!important;height:auto!important}.cbs-project .hero h1{font-size:clamp(30px,4vw,48px);line-height:1.15}.cbs-project .heroimg{width:auto;max-width:min(100% - 40px,1100px);height:auto;max-height:600px;object-fit:contain;margin:20px auto;display:block}.cbs-project main.content{padding-top:20px;padding-bottom:35px}.cbs-project .content h2{font-size:clamp(26px,3vw,35px)}.cbs-gallery-stage{margin:26px 0}.cbs-gallery-stage h3{font-size:23px;margin:0 0 14px}.cbs-photo-grid{columns:3;column-gap:18px}.cbs-photo-grid figure{display:inline-block;width:100%;margin:0 0 18px;break-inside:avoid;background:#f7f3ee;border:1px solid #e3e2df;vertical-align:top;overflow:visible}.cbs-photo-grid figure img{width:100%;height:auto!important;max-height:none!important;object-fit:contain;display:block}.cbs-photo-grid figure a{display:block}.cbs-photo-grid figcaption{font-size:14px;line-height:1.5;padding:12px 14px;height:auto;white-space:normal;color:#46545a}.cbs-service-example{max-width:1200px;margin:36px auto;padding:0 26px;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}.cbs-service-example h2{font-size:clamp(26px,3vw,38px);line-height:1.2}.cbs-service-example p{line-height:1.7}.cbs-service-example img{display:block;width:100%;height:auto;max-height:500px;object-fit:contain;border-radius:6px}.structural-gallery img{height:auto!important;max-height:none!important;object-fit:contain}.structural-gallery{align-items:start}.panel{overflow-wrap:anywhere}.panel input,.panel select,.panel textarea{max-width:100%;min-width:0}.layout{min-width:0}.info{top:110px}footer .brandmark{max-width:100%}.cbs-project .cta .btn{margin-top:12px}
@media(max-width:1100px){.cbs-header .cbs-desktop{display:none}.cbs-mobile{display:block;margin-left:auto}.cbs-mobile summary{cursor:pointer;padding:12px;font-weight:bold}.cbs-header .cbs-mobile nav{position:absolute;top:100%;left:0;right:0;width:100%;background:#1d272e;padding:16px 24px;display:flex;flex-direction:column;align-items:stretch;gap:8px;max-height:70vh;overflow:auto;box-shadow:0 8px 12px #0002}.cbs-mobile nav a{padding:10px}.cbs-header .cbs-nav-wrap{min-height:76px;padding:10px 20px}.cbs-photo-grid{columns:2}}
@media(max-width:950px){.hero-layout{grid-template-columns:1fr!important}.hero:has(.cbs-home-photo) .hero-copy{padding:0}.cbs-home-photo{max-width:760px}.cbs-service-example{gap:22px}.hero:has(.cbs-home-photo) h1{font-size:42px}}
@media(max-width:650px){.hero:has(.cbs-home-photo) h1{font-size:34px}.hero:has(.cbs-home-photo) .wrap{padding-top:30px;padding-bottom:30px}.hero-layout{gap:24px!important}.hero:has(.cbs-home-photo) p{font-size:16px}.hero:has(.cbs-home-photo) .actions{display:grid;grid-template-columns:1fr}.cbs-review-grid,.cbs-service-example{grid-template-columns:1fr}.cbs-photo-grid{columns:1}.cbs-project .heroimg{max-width:calc(100% - 36px);max-height:none}.cbs-service-example{padding:0 18px}.cbs-header .cbs-brand b{font-size:25px}.cbs-header .cbs-brand img{width:46px;height:46px}.cbs-header .cbs-brand strong{font-size:10px}.cbs-header .cbs-nav-wrap{gap:10px}.cbs-project .intro{font-size:17px}.cbs-project .content{padding-top:12px}.cbs-reviews{padding-top:24px}.info{position:static}.cta2 h2,.cta h2{font-size:30px}.top .wrap{overflow-wrap:anywhere}}
