@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#303438;--blue:#138dde;--deep:#0673bf;--light:#67c8f3;--pale:#f1f2f4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:17px}a{color:inherit;text-decoration:none}.skip{position:absolute;top:-100px;left:20px;background:#fff;padding:12px;z-index:20}.skip:focus{top:10px}.wrap{width:calc(100% - 164px);max-width:1450px;margin:auto}.blue-gradient{background:linear-gradient(115deg,#64c9f2 0%,#208fdb 52%,#066bb7 100%)}.header{height:85px;padding:0 6.4%;display:flex;align-items:center;justify-content:space-between;position:fixed;top:0;left:0;right:0;z-index:10;transition:background .2s;background:rgba(255,255,255,.93);backdrop-filter:blur(8px)}.logo{display:flex;align-items:center;gap:12px;font-size:19px;letter-spacing:-.04em;line-height:1;white-space:nowrap}.logo-mark{width:58px;height:58px;object-fit:contain;display:block}.logo-text{display:flex;flex-direction:column;gap:2px}.logo strong{font-weight:700}.logo span span,.logo-text>span{font-weight:400;font-size:12px;letter-spacing:.18em}.header-actions{display:flex;align-items:center;gap:30px}.desktop-nav{display:flex;align-items:center;gap:28px}.desktop-nav a{font-size:15px}.desktop-nav a:hover{color:var(--deep)}.contact-button,.section-button{background:var(--blue);border-radius:3px;padding:7px 15px;font-size:15px}.contact-button:hover,.section-button:hover{background:#72cbef}.menu{display:none;position:relative}.menu summary{display:none}.hero{height:100vh;min-height:650px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:0 6.4% 9vh}.hero h1{font-size:clamp(62px,7.1vw,112px);line-height:1.06;letter-spacing:-.06em;font-weight:400;margin:0;position:relative;z-index:2;max-width:1000px}.roof{position:absolute;stroke:white;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.roof-hero{width:105%;height:83%;right:-26%;top:20%}.opening{padding-top:125px;padding-bottom:135px}.opening h2{max-width:1120px;font-size:clamp(30px,3.1vw,48px);line-height:1.37;font-weight:400;letter-spacing:-.035em;margin:0}.mission{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center;padding-bottom:125px}.mission h2{font-size:clamp(37px,3.8vw,62px);line-height:1.2;letter-spacing:-.045em;font-weight:400;margin:0 0 55px}.mission p{font-size:19px;line-height:1.55;margin:0;max-width:630px}.image-placeholder{position:relative;overflow:hidden;background:linear-gradient(135deg,#c8d4dc,#8baec4 55%,#5686a7);display:flex;align-items:center;justify-content:center;color:#26546e}.image-placeholder:before,.image-placeholder:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.55);width:70%;height:90%;transform:rotate(-18deg)}.image-placeholder:after{width:45%;transform:rotate(18deg)}.image-placeholder span{position:relative;z-index:1;background:#ffffffdb;padding:15px 20px;text-align:center;font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.image-placeholder small{font-weight:400;font-size:11px;letter-spacing:0;text-transform:none}.mission-image{height:550px}.mission-photo{width:100%;height:550px;object-fit:cover;object-position:center;display:block}.section-label{font-size:17px;font-weight:700;margin:0 0 30px}.services{padding-bottom:120px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{min-height:540px;padding:20px;position:relative;display:flex;align-items:flex-end;overflow:hidden;border-radius:4px;background:#168cda}.service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 42%,rgba(0,0,0,.58) 100%);z-index:1}.service-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.service-card h3{font-size:17px;font-weight:500;line-height:1.45;position:relative;z-index:2;margin:0;color:#fff;text-shadow:0 1px 16px rgba(0,0,0,.35)}.section-button{display:block;width:max-content;margin:26px 0 0 auto}.section-button span{margin-left:8px}.about{background:#f0f1f3;padding:105px 0 115px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:stretch}.about-copy{display:flex;flex-direction:column;align-items:flex-start}.about h3{font-size:clamp(36px,3.8vw,60px);line-height:1.2;letter-spacing:-.045em;font-weight:400;margin:0 0 auto}.about p{font-size:18px;line-height:1.55;margin:75px 0 22px}.inline-link{border-bottom:1px solid currentColor;font-size:16px;padding-bottom:5px}.portrait-image{min-height:560px}.about-photo{width:100%;height:560px;object-fit:contain;object-position:center;background:#eef0f2;display:block;border-radius:0}.cta{padding:120px 0 145px}.cta h2{font-size:clamp(42px,5.2vw,79px);line-height:1.18;letter-spacing:-.055em;font-weight:400;max-width:1110px;margin:0 0 65px}.cta a{background:#fff;display:inline-block;padding:14px 18px;border-radius:3px;font-size:16px}.cta a:hover{background:#d8f0fa}.contact{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-top:120px;padding-bottom:140px}.contact-intro>p{font-size:25px;line-height:1.3;max-width:400px;margin:45px 0}.telephone{font-size:27px;border-bottom:1px solid currentColor}form{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}form label{font-size:14px;margin-top:13px}form label[for=subject],form label[for=message],form input#subject,form textarea,form button{grid-column:1/-1}form input,form textarea{border:0;border-bottom:1px solid #bac5ca;background:#f3f5f6;padding:14px 12px;resize:vertical;color:#66767e}form button{justify-self:end;border:0;background:#9fc9dc;color:#3e6778;padding:10px 20px;margin-top:20px;cursor:not-allowed}.form-help{font-size:13px;color:#687d88;line-height:1.5}.footer{color:#fff;min-height:640px;position:relative;overflow:hidden;padding-top:72px}.footer-top{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:70px;align-items:start;position:relative;z-index:2;font-size:18px;line-height:1.55;font-weight:500;letter-spacing:-.015em}.footer-brand{display:inline-flex;align-items:center;color:#fff}.footer-contact a,.footer-contact span{color:#fff}.footer-top a{color:#fff}.footer-top a:hover{opacity:.78}.footer-contact{padding-top:2px}.footer-top>div:last-child{padding-top:2px;line-height:1.65}.footer-logo-lockup{width:272px;height:auto;display:block}.roof-footer{width:86%;height:75%;right:-15%;bottom:-6%}.footer-title{font-size:clamp(60px,7vw,112px);line-height:1.07;letter-spacing:-.06em;position:relative;z-index:2;margin-top:190px}@media(max-width:800px){.wrap{width:calc(100% - 64px)}.header-actions{gap:25px}.desktop-nav{display:none}.menu{display:block}.menu summary{display:block;list-style:none;width:23px;cursor:pointer}.menu summary::-webkit-details-marker{display:none}.menu summary span{display:block;height:1px;background:#303438;margin:5px 0}.menu nav{display:none;position:absolute;right:0;top:39px;background:#fff;min-width:180px;padding:18px;box-shadow:0 14px 30px #1e4d6b30}.menu[open] nav{display:block}.menu nav a{display:block;padding:9px 0;font-size:14px}.hero{padding-left:32px;padding-right:32px}.mission,.about-grid,.contact{grid-template-columns:1fr}.mission-image{height:420px}.service-grid{gap:12px}.service-card{min-height:380px}.about h3{margin-bottom:0}.about p{margin-top:40px}.portrait-image{min-height:400px}.footer-title{margin-top:230px}}@media(max-width:600px){.header{height:70px;padding:0 24px}.logo{font-size:15px;gap:8px}.logo-mark{width:42px;height:42px}.logo-text>span{font-size:10px}.header-actions{gap:16px}.contact-button{padding:7px 12px}.wrap{width:calc(100% - 48px)}.hero{min-height:600px;padding:0 24px 90px}.hero h1{font-size:clamp(52px,12vw,72px)}.roof-hero{width:190%;right:-95%;top:6%}.opening{padding-top:90px;padding-bottom:90px}.opening h2{font-size:28px}.mission{padding-bottom:90px}.mission h2{font-size:41px;margin-bottom:35px}.mission p{font-size:17px}.mission-image{height:300px}.service-grid{grid-template-columns:1fr}.service-card{min-height:360px}.services{padding-bottom:90px}.about{padding:85px 0}.about h3{font-size:40px}.about p{font-size:17px}.portrait-image{min-height:320px}.cta{padding:95px 0 105px}.cta h2{font-size:43px}.contact{padding-top:90px;padding-bottom:100px}.contact-intro>p{margin:25px 0}.telephone{font-size:24px}.footer{min-height:540px;padding-top:52px}.footer-top{grid-template-columns:1fr 1fr;font-size:15px;gap:34px}.footer-top div:last-child{grid-column:1/-1}.footer-logo-lockup{width:220px}.footer-title{font-size:58px;margin-top:170px}.roof-footer{width:150%;right:-75%}}

/* Subpages */
.subhero{height:290px;padding-top:85px;display:flex;align-items:flex-end}.subhero h1{font-size:clamp(66px,7vw,110px);line-height:1.05;letter-spacing:-.06em;font-weight:400;margin:0}.subhero .wrap{padding-bottom:28px}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:6%;padding-top:120px;padding-bottom:110px;align-items:start;border-bottom:1px solid #e2e5e7}.service-detail h2{font-size:clamp(36px,3.5vw,56px);line-height:1.2;letter-spacing:-.04em;font-weight:400;margin:0 0 110px}.service-detail p{font-size:18px;line-height:1.6;max-width:560px;margin:0 0 25px}.service-visual{height:500px;border-radius:4px;position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#62c6f0,#0877c4 60%,#a4dff4)}img.service-visual{width:100%;object-fit:cover;display:block}.visual-two{background:linear-gradient(135deg,#8bd7f2,#2e9edd 60%,#0572c0)}.visual-three{background:linear-gradient(135deg,#31a8e7,#83d5f2 65%,#0b73bb)}.visual-four{background:linear-gradient(135deg,#aadff2,#168bd3 58%,#4bc2ee)}div.service-visual:before,div.service-visual:after{content:"";position:absolute;border:1px solid #ffffffa8;inset:20% -10%;transform:skewY(-25deg)}div.service-visual:after{inset:40% -10% 0;transform:skewY(25deg)}.service-visual span{position:relative;z-index:1;background:#ffffffcf;padding:10px 15px;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.more-services{padding-top:110px;padding-bottom:130px}.more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.more-grid article{border-top:1px solid #adbcc3;padding-top:22px}.more-grid h3{font-size:22px;font-weight:400;margin:0 0 30px}.more-grid p{font-size:16px;line-height:1.6}.sub-intro{padding-top:120px;padding-bottom:100px}.sub-intro h2{font-size:clamp(34px,3.5vw,56px);line-height:1.36;letter-spacing:-.04em;font-weight:400;margin:0;max-width:1100px}.about-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;overflow:hidden;padding:0 6.4%}.about-gallery img{width:100%;height:360px;object-fit:cover;display:block}.about-statement{padding-top:105px;padding-bottom:120px}.about-statement p{font-size:clamp(28px,3vw,45px);line-height:1.35;letter-spacing:-.03em;max-width:1050px;margin:0}.goals{padding-bottom:130px}.goal-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 60px}.goal-grid article{border-top:1px solid #bac8cf;padding:28px 0 40px}.goal-grid article span{font-size:32px;color:#278bc0}.goal-grid h3{font-size:28px;font-weight:400;margin:20px 0 25px}.goal-grid p{font-size:16px;line-height:1.6;max-width:520px}.person{padding-bottom:130px}.person>h2{font-size:clamp(38px,4vw,62px);font-weight:400;letter-spacing:-.04em;margin:0 0 50px}.person-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.person-grid .portrait-image{min-height:530px}.real-image{width:100%;height:530px;object-fit:cover;display:block}.person-role{font-size:15px;color:#267eac}.person-grid h3{font-size:clamp(35px,4vw,60px);font-weight:400;letter-spacing:-.04em;margin:20px 0 30px}.person-grid p:not(.person-role){font-size:19px;line-height:1.6;max-width:450px}.person-grid .telephone{display:inline-block;margin-top:30px}.quote{padding:120px 0}.quote p{font-size:clamp(36px,4vw,62px);line-height:1.3;letter-spacing:-.04em;max-width:1050px;margin:0 0 30px}.quote span{font-size:17px}.contact-page{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-top:125px;padding-bottom:150px}.contact-page h2{font-size:clamp(40px,4.5vw,68px);font-weight:400;letter-spacing:-.05em;line-height:1.15;margin:0 0 55px}.contact-page p{font-size:18px;line-height:1.6;max-width:450px}.contact-page .telephone{display:inline-block;margin-top:35px}.contact-page-form{background:#f4f6f7;padding:35px}.contact-page-form form input,.contact-page-form form textarea{background:#fff}@media(max-width:800px){.service-detail,.person-grid,.contact-page{grid-template-columns:1fr}.service-detail h2{margin-bottom:45px}.service-visual{height:380px}.about-gallery{gap:10px;padding:0 32px}.about-gallery img{height:240px}.contact-page{gap:60px}}@media(max-width:600px){.subhero{height:250px;padding-top:70px}.subhero h1{font-size:66px}.service-detail{padding-top:80px;padding-bottom:80px}.service-detail h2{font-size:38px}.service-detail p{font-size:17px}.service-visual{height:310px}.more-grid,.goal-grid{grid-template-columns:1fr}.more-services{padding-top:80px;padding-bottom:90px}.sub-intro{padding-top:85px;padding-bottom:75px}.sub-intro h2{font-size:31px}.about-gallery{padding:0 24px;grid-template-columns:1fr 1fr}.about-gallery img{height:220px}.about-gallery img:last-child{display:none}.about-statement{padding-top:80px;padding-bottom:90px}.about-statement p{font-size:28px}.goals,.person{padding-bottom:90px}.person-grid .portrait-image{min-height:350px}.real-image{height:350px}.quote{padding:90px 0}.quote p{font-size:37px}.contact-page{padding-top:85px;padding-bottom:100px}.contact-page h2{font-size:43px;margin-bottom:30px}.contact-page-form{padding:25px}}
