@charset "UTF-8";
:root{--navy:#123b45;--teal:#276370;--paper:#faf8f3;--orange:#c86035;--line:#d7dcd7;--muted:#596c6c;--sand:#eee7d9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--navy);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible{outline:3px solid #b94c27;outline-offset:6px}.shell{width:min(1200px,calc(100% - 80px));margin-inline:auto}.skip{position:absolute;top:-80px;left:20px;z-index:10;background:var(--navy);color:white;padding:12px}.skip:focus{top:12px}.topline{background:var(--navy);color:#e4efeb;font-size:11px;letter-spacing:.3px}.topline .shell{display:flex;justify-content:space-between;gap:16px;padding-block:8px}.site-header{display:flex;justify-content:space-between;align-items:center;min-height:116px;gap:24px;border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;line-height:1.2}.brand:hover{text-decoration:none}.brand-name{font:600 35px/1.1 Georgia,'Times New Roman',serif;letter-spacing:-2px}.brand-dot{color:var(--orange)}.brand-sub{font-size:8px;letter-spacing:2px;margin-top:8px;font-weight:700}nav{display:flex;gap:30px;align-items:center;font-size:13px;font-weight:600}.nav-cta{display:flex;align-items:center;gap:30px;padding:11px 16px;border:1px solid var(--navy)}.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:55px;align-items:center;padding-block:70px 75px}.eyebrow{font-size:10px;letter-spacing:1.9px;font-weight:700;margin:0 0 23px}h1{font:400 clamp(43px,4.8vw,64px)/1.09 Georgia,'Times New Roman',serif;letter-spacing:-2.6px;margin:0 0 26px}h1 em{font-style:normal;color:var(--teal)}.lead{font-size:17px;color:var(--muted);max-width:450px;margin:0 0 30px}.actions{display:flex;flex-direction:column;align-items:flex-start;gap:22px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;padding:14px 20px;background:var(--navy);color:#fff;font-size:13px;font-weight:600}.button:hover{background:#285a60;text-decoration:none}.text-link{font-size:12px;font-weight:600;display:flex;gap:20px}.shade-art{background:#e6e7da;height:430px;position:relative;overflow:hidden;border-radius:150px 0 0 0}.sun{position:absolute;right:50px;top:42px;width:80px;height:80px;background:#e9af66;border-radius:50%}.art-line{position:absolute;left:0;width:100%;border-top:1px solid #d2d5c4}.line-one{top:180px}.line-two{top:200px}.art-building{position:absolute;left:9%;bottom:63px;width:84%;height:200px;background:#f7f3e9;border-bottom:7px solid #aebdaf;box-shadow:7px 10px 0 #d0d5c7}.art-window{position:absolute;left:23px;top:67px;height:96px;width:75px;border:7px solid #e3d9c6;background:repeating-linear-gradient(90deg,#91acac 0 29px,#e3d9c6 29px 33px)}.awning{position:absolute;left:-10px;right:-10px;top:-46px;z-index:3}.awning-roof{height:65px;background:repeating-linear-gradient(90deg,#2c6570 0 32px,#f5eddd 32px 64px);transform:skewX(-10deg);border-top:7px solid var(--navy);border-bottom:3px solid #184c54;box-shadow:0 5px 4px #123b4510}.awning-edge{height:16px;background:repeating-linear-gradient(90deg,#2c6570 0 32px,#f5eddd 32px 64px);border-radius:0 0 5px 5px;transform:translateX(-5px)}.awning-shadow{position:absolute;top:35px;right:0;width:95%;height:80px;background:#123b4514;clip-path:polygon(0 0,100% 0,85% 100%,20% 100%)}.art-table{position:absolute;right:58px;bottom:45px;width:100px;height:9px;background:#b56b48;border-radius:50%}.art-table:after{content:'';position:absolute;left:48px;top:7px;width:5px;height:43px;background:#a47859}.art-chair{position:absolute;bottom:5px;width:40px;height:68px;border:5px solid #9c7961;border-top-width:25px;border-bottom:0}.chair-one{right:142px;transform:rotate(-5deg)}.chair-two{right:28px;transform:rotate(5deg)}.art-plant{position:absolute;bottom:0;left:107px;width:28px;height:35px;background:#cb7950;clip-path:polygon(0 0,100% 0,85% 100%,15% 100%)}.art-building:after{content:'';position:absolute;bottom:32px;left:108px;width:26px;height:42px;background:#6a8260;border-radius:70% 5% 65% 5%;transform:rotate(-20deg)}.art-caption,.art-caption-right{position:absolute;bottom:23px;font-size:8px;letter-spacing:1.7px;font-weight:700;left:22px}.art-caption-right{left:auto;right:22px}.service-area{border-block:1px solid var(--line)}.service-area .shell{display:flex;justify-content:space-between;gap:25px;align-items:center;padding-block:23px}.service-area p{font-size:9px;letter-spacing:1.4px;font-weight:700;margin:0}.service-area ul{display:flex;gap:30px;margin:0;padding:0;list-style:none;font-size:13px}.service-area li:before{content:'·';margin-right:12px;color:var(--orange);font-weight:900}.section{padding-block:85px}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:46px}h2{font:400 clamp(34px,3.8vw,48px)/1.15 Georgia,'Times New Roman',serif;letter-spacing:-1.5px;margin:0}.section-heading>p{max-width:360px;color:var(--muted);font-size:15px;margin:0 0 4px}.services{display:grid;grid-template-columns:repeat(3,1fr);column-gap:45px;row-gap:35px}.services article{border-top:1px solid var(--line);padding-top:19px}.service-number{font-size:10px;color:#9c502f}.services h3{font:400 24px/1.2 Georgia,'Times New Roman',serif;letter-spacing:-.5px;margin:16px 0 12px}.services p{font-size:14px;color:var(--muted);margin:0;max-width:290px}.seasonal{background:var(--navy);color:#f6f5e9}.seasonal-inner{display:grid;grid-template-columns:90px 1fr auto;gap:45px;align-items:center;padding-block:60px}.season-symbol{font-size:100px;line-height:1;color:#d8a569;align-self:start}.seasonal .eyebrow{color:#d8c6a2}.seasonal h2{font-size:41px}.seasonal p:last-child{max-width:440px;color:#d1dedb;font-size:14px;margin:22px 0 0}.button.light{color:var(--navy);background:#f4e7d2;align-self:end}.button.light:hover{background:white}.about{display:grid;grid-template-columns:1fr 1.3fr;gap:70px}.about h2 em{font-style:normal;color:var(--teal)}.about>div>p{font-size:15px;color:var(--muted);max-width:495px;margin-top:25px;margin-bottom:0}.contact{background:var(--sand)}.contact-options{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.contact-option{padding:24px 24px 54px;border:1px solid #c3cbbf;position:relative;min-height:148px}.contact-option:hover{background:#f9f6ed;text-decoration:none}.contact-option>span:first-child{display:block;font-size:9px;letter-spacing:1.3px;margin-bottom:16px}.contact-option strong{display:block;font-size:clamp(14px,1.6vw,19px);line-height:1.4;font-weight:500;overflow-wrap:anywhere}.contact-option .arrow{position:absolute;bottom:15px;right:22px;font-size:24px}.footer{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-block:30px;font-size:11px}.footer>a:first-child{font-size:13px;font-weight:600}.footer p{color:var(--muted);margin:0}
@media(max-width:1050px){.shell{width:calc(100% - 48px)}.hero{gap:35px}.shade-art{height:390px}.art-building{height:180px}.art-window{width:60px;left:18px}.art-plant{left:85px}.art-building:after{left:86px}.art-table{right:44px;width:80px}.art-table:after{left:38px}.chair-one{right:107px}.chair-two{right:14px}.services{gap:30px}.service-area ul{gap:14px;font-size:12px}.service-area p{max-width:170px}.seasonal-inner{grid-template-columns:60px 1fr;gap:30px}.season-symbol{font-size:75px}.seasonal .button{grid-column:2;justify-self:start}.about{gap:45px}.contact-option{padding:20px 16px 50px}}
@media(max-width:720px){.shell{width:calc(100% - 40px)}.topline{font-size:10px}.topline .shell{gap:12px}.topline .shell>span{max-width:195px}.topline a{white-space:nowrap}.site-header{min-height:118px;flex-wrap:wrap;gap:16px;padding-block:22px}.brand-name{font-size:32px}.brand-sub{font-size:7px;letter-spacing:1.8px}nav{gap:17px;flex-wrap:wrap;font-size:12px}.nav-cta{padding:7px 12px;gap:16px}.hero{grid-template-columns:1fr;gap:34px;padding-block:40px 45px}h1{font-size:clamp(40px,8.2vw,60px);letter-spacing:-1.8px}.lead{font-size:16px}.eyebrow{font-size:9px;margin-bottom:20px}.shade-art{width:100%;max-width:500px;margin:auto;height:365px;border-top-left-radius:120px}.art-building{height:170px;bottom:56px}.sun{width:66px;height:66px;top:32px;right:35px}.art-window{top:60px;height:85px}.art-building:after{left:85px}.service-area .shell{flex-direction:column;align-items:start;gap:10px;padding-block:20px}.service-area p{max-width:100%}.service-area ul{gap:8px 20px;flex-wrap:wrap}.service-area li:before{margin-right:8px}.section{padding-block:54px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px;max-width:100%;font-size:14px}h2{font-size:38px}.services{grid-template-columns:1fr 1fr;gap:28px 22px}.services h3{font-size:22px}.services p{font-size:13px}.seasonal-inner{padding-block:42px;grid-template-columns:1fr;gap:25px}.season-symbol{font-size:65px}.seasonal .button{grid-column:1}.seasonal h2{font-size:37px}.seasonal p:last-child{max-width:100%}.about{grid-template-columns:1fr;gap:10px}.contact-options{grid-template-columns:1fr;gap:12px}.contact-option{min-height:120px;padding:22px 24px 30px}.contact-option>span:first-child{margin-bottom:12px}.contact-option strong{font-size:21px;padding-right:35px}.footer{flex-wrap:wrap;gap:12px}.footer p{width:100%;order:3}}
@media(max-width:380px){.services{grid-template-columns:1fr}.shade-art{height:320px}.art-building{height:145px}.art-window{height:64px;top:55px}.art-chair{height:56px;width:32px}.art-table{right:38px;width:67px;bottom:34px}.art-table:after{left:32px;height:32px}.chair-one{right:92px}.chair-two{right:11px}.art-plant{left:72px}.art-building:after{left:73px}.art-window{width:50px;left:13px}.art-caption,.art-caption-right{font-size:7px;letter-spacing:1px}.contact-option strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Cape Shade project photography */
.hero-photo { margin: 0; position: relative; min-width: 0; overflow: hidden; border-radius: 110px 0 0 0; background: #e6e7da; }
.hero-photo img { display: block; width: 100%; height: 480px; object-fit: cover; object-position: 53% 50%; }
.hero-photo figcaption { padding: 14px 20px; background: var(--navy, #123b45); color: #fff; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.project-gallery { border-top: 1px solid var(--line, #d7dcd7); }
.gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 24px; }
.gallery-item { margin: 0; min-width: 0; }
.gallery-photo { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #e6e7da; }
.gallery-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.gallery-photo:hover img { transform: scale(1.035); }
.gallery-photo:focus-visible { outline: 3px solid #c86035; outline-offset: 5px; }
.gallery-photo.screenshot-photo img { position: absolute; width: 100%; height: auto; min-height: 100%; top: 50%; left: 0; transform: translateY(-50%); }
.gallery-item figcaption { padding-top: 11px; color: #123b45; font-size: 14px; line-height: 1.45; }
@media (max-width: 1050px) { .site-header nav { gap: 18px; } .hero-photo img { height: 430px; } }
@media (max-width: 720px) { .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px 16px; } .hero-photo { border-radius: 75px 0 0 0; } .hero-photo img { height: auto; aspect-ratio: 4 / 3; } .site-header nav { flex-wrap: wrap; row-gap: 12px; } }
@media (max-width: 460px) { .gallery-grid { grid-template-columns: 1fr; gap: 26px; } }
@media (prefers-reduced-motion: reduce) { .gallery-photo img { transition: none; } }
