/*
Theme Name: Guiding Light Studio
Author: Guiding Light Marketing Studio
Description: Approved coastal website design with About, Services, testimonials and portfolio PDF.
Version: 1.0.4
Requires PHP: 7.4
Text Domain: guiding-light-studio
*/
:root{--ink:#173449;--teal:#1c5b72;--gold:#e8c774;--paper:#faf8f4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Cormorant Garamond',Georgia,serif;font-size:20px;line-height:1.4}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #aa822a;outline-offset:5px}header{height:124px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:12px 6.5%;gap:30px}.brand{position:relative;display:flex;flex-direction:column;width:145px;flex-shrink:0;line-height:.8;color:var(--teal)}.guiding{font-family:Allura,cursive;font-size:34px;padding-left:25px}.light{font-size:57px;letter-spacing:-3px}.beacon{font-size:37px;color:#c5ab62;letter-spacing:0;margin-left:3px}.brand small{font:9px Montserrat,sans-serif;letter-spacing:2px;margin-top:8px;white-space:nowrap}nav{display:flex;gap:37px}nav a,.button{font-family:Montserrat,sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:.3px}nav a:hover{color:#a47923}.button{display:inline-flex;justify-content:center;align-items:center;padding:12px 30px;border-radius:99px;border:0;min-height:42px;cursor:pointer;transition:transform .2s,filter .2s}.button:hover{transform:translateY(-2px);filter:brightness(1.04)}.gold{background:linear-gradient(100deg,#e9c575,#edd184);color:#152b32}.blue{background:linear-gradient(#346f83,#16465c);color:white;min-width:270px}.menu{display:none}.hero{min-height:580px;position:relative;background:linear-gradient(100deg,#f5eee2,#b6d9e5);background-size:cover;background-position:center;display:flex;align-items:center;padding:70px 9.5% 110px}.hero-copy{max-width:510px}h1{font-weight:500;text-transform:uppercase;letter-spacing:5px;font-size:40px;line-height:1.2;color:var(--teal);text-align:center;margin:0 0 30px}h1 em{font:88px/.95 Allura,cursive;text-transform:none;letter-spacing:0;display:block;white-space:nowrap;margin:10px -25px 0}.hero p{max-width:450px;font-size:22px;line-height:1.2;margin:32px 0}.wave{position:absolute;width:100%;height:62px;left:0;bottom:-1px}.section{padding:38px 7%;text-align:center}h2{text-transform:uppercase;letter-spacing:3px;font-weight:600;color:var(--teal);font-size:31px;line-height:1.2;margin:5px 0}.intro{max-width:850px;margin:0 auto 40px;font-size:22px}.ruled{display:flex;align-items:center;gap:24px;white-space:nowrap}.ruled:before,.ruled:after{content:'';height:1px;flex:1;background:#c9d1d1}.ornament{color:#d7b562;font-size:26px;line-height:1;margin:5px 0 18px;letter-spacing:3px}.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;max-width:1100px;margin:0 auto 20px}.service-grid article{border:1px solid #dcdedc;border-radius:6px;padding:15px 8px 20px;background:#ffffff70}.icon{display:block;font-family:Georgia,serif;font-size:72px;line-height:1.35;color:var(--teal);text-shadow:3px 3px #d5e7e7}.service-grid h3{font:16px/1.4 Montserrat,sans-serif;text-transform:uppercase;margin:9px 0 0}.service-grid p{margin:0;font-size:21px;line-height:1.2}.about{background:linear-gradient(105deg,#c0dce1 0%,#eff2f1 38%,#f5f5f2 100%);padding-top:40px;padding-bottom:38px}.about-inner{max-width:830px;margin-left:auto}.reason-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:58px;margin:26px auto 22px}.round-icon{display:flex;align-items:center;justify-content:center;width:82px;height:82px;border:1px solid #d6d8d1;border-radius:50%;margin:auto;color:var(--teal);font-size:51px;background:#ffffff66}.reason-grid h3{font-weight:500;font-size:25px;color:var(--teal);margin:8px 0 0}.reason-grid p{font-size:18px;line-height:1.25;margin:0}.clients{padding-top:32px;padding-bottom:48px}.quote-grid{max-width:890px;display:grid;grid-template-columns:1fr 1fr;gap:34px;margin:20px auto 0}.quote-grid figure{margin:0;position:relative;border:1px solid #bccbd0;border-radius:9px;padding:23px 26px 0}.quote-grid figure:before{content:'“';position:absolute;font:80px Georgia;color:var(--teal);top:-30px;left:-13px;background:var(--paper);height:47px}blockquote{font-size:17px;line-height:1.55;margin:0}figcaption{display:flex;justify-content:center;align-items:center;gap:15px;transform:translateY(22px);font:12px Montserrat,sans-serif;text-transform:uppercase;letter-spacing:2px;background:var(--paper)}.avatar{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#dde7e6;color:var(--teal);font:24px Georgia;letter-spacing:0}.contact{background:linear-gradient(115deg,#226579,#25879c);color:white;display:grid;grid-template-columns:1fr 1.7fr;gap:55px;padding:42px 12% 25px}.contact h2{color:white;letter-spacing:1px}.contact form{padding-top:40px}label{display:block}label>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}input,textarea{display:block;width:100%;background:#eef4f2e6;border:1px solid #b7c8cd;border-radius:4px;padding:10px 13px;color:var(--ink);font-size:16px;min-height:43px;margin-bottom:7px}input:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:2px}textarea{resize:vertical}.names{display:grid;grid-template-columns:1fr 1fr;gap:10px}.contact button{margin:10px 0 0;min-width:225px}.form-status{font:14px/1.5 Montserrat,sans-serif;margin:10px 0;grid-column:1/-1}footer{padding:32px 12% 16px;background:#194a5d;color:#f1f6f5;font-family:Montserrat,sans-serif;font-size:13px;line-height:1.8}.footer-grid{display:grid;grid-template-columns:1fr .6fr 1.6fr;gap:85px}.footer-brand{color:#e9c978}.footer-grid p{max-width:210px}.footer-grid nav{flex-direction:column;gap:7px}.footer-grid nav a{text-transform:none}.footer-grid h3{font-size:14px;font-weight:400;text-transform:uppercase;letter-spacing:1px;margin:2px 0 15px}#newsletter-form{display:grid;grid-template-columns:1fr auto;align-items:start}#newsletter-form input{margin:0;border-radius:4px 0 0 4px}#newsletter-form button{border-radius:0 4px 4px 0;padding:12px 20px;min-height:43px}.copyright{border-top:1px solid #9ba786;margin-top:25px;padding-top:12px;display:flex;justify-content:space-between;gap:20px;font-size:11px}@media(min-width:1500px){.hero{min-height:700px}.hero-copy{margin-left:4%}}@media(max-width:1050px){header{padding:14px 4%;gap:20px}nav{gap:20px}.header-cta{padding:10px 18px}h1{font-size:34px}h1 em{font-size:72px}.hero-copy{max-width:440px}.hero{padding-left:7%;background-position:60% center}.section{padding-left:5%;padding-right:5%}.ruled{white-space:normal}.service-grid{gap:12px}.service-grid h3{font-size:14px}.footer-grid{gap:35px}.contact{gap:25px}.reason-grid{gap:30px}.about-inner{max-width:760px}}@media(max-width:760px){html{scroll-padding-top:80px}header{height:92px;padding:12px 6%;position:relative;z-index:3}.brand{width:120px}.guiding{font-size:27px}.light{font-size:43px}.beacon{font-size:29px}.brand small{font-size:7px}.header-cta{display:none}.menu{display:block;background:transparent;border:1px solid #b9cbd1;border-radius:4px;color:var(--teal);padding:8px 13px;font:14px Montserrat}header nav{display:none;position:absolute;top:92px;left:0;right:0;background:white;padding:22px 6%;box-shadow:0 8px 14px #1233;flex-direction:column;gap:20px}header nav.open{display:flex}.hero{min-height:600px;padding:44px 7% 95px;align-items:flex-start;background-position:67% center}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fffaf0e6,#fffaf088 62%,#fff0)}.hero-copy{position:relative;max-width:430px}.hero h1{text-align:left;font-size:28px;letter-spacing:3px}.hero h1 em{white-space:normal;font-size:65px;line-height:.95;margin:14px 0}.hero p{font-size:21px;max-width:330px;margin:25px 0}.section{padding:32px 6%}h2{font-size:26px;letter-spacing:2px}.intro{font-size:20px;margin-bottom:32px}.ruled{gap:10px}.service-grid{grid-template-columns:repeat(2,1fr);gap:13px}.service-grid article:last-child{grid-column:1/-1;max-width:250px;width:100%;justify-self:center}.icon{font-size:57px}.reason-grid{gap:20px}.reason-grid p{font-size:17px}.round-icon{height:65px;width:65px;font-size:42px}.quote-grid{grid-template-columns:1fr;gap:48px;max-width:480px}.clients{padding-bottom:52px}.contact{display:block;padding:35px 7% 20px}.contact form{padding-top:15px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:last-child{grid-column:1/-1}.footer-grid p{font-size:13px}footer{padding:30px 7% 18px}.copyright{flex-direction:column;gap:5px}}@media(max-width:400px){.reason-grid{grid-template-columns:1fr;gap:25px}.reason-grid article{max-width:250px;margin:auto}.hero h1 em{font-size:57px}.names{grid-template-columns:1fr;gap:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

.hero{background-image:linear-gradient(90deg,#fffaf055,transparent 65%),url("assets/lighthouse.png")} .contact{background-image:linear-gradient(110deg,#146478eF,#197f94eF),url("assets/lighthouse.png");background-size:cover;background-position:center 75%}.email-note{font:13px/1.5 Montserrat,sans-serif;margin:14px 0 0}.email-note a{text-decoration:underline}.footer-email{font-size:16px;color:#edd18b}.about{background-image:linear-gradient(90deg,#eaf1f080,#f4f5f2f5 35%),url("assets/lighthouse.png");background-size:cover;background-position:left bottom}

.mockup-art{display:block;background-image:url("assets/original-mockup.png");background-repeat:no-repeat;aspect-ratio:var(--art-width)/var(--art-height)}.logo-art{width:145px}.footer-logo-art{width:165px}.service-art{width:82px;height:88px;margin:0 auto;background-color:transparent}.reason-art{width:82px;margin:auto}.portrait-art{width:64px;flex-shrink:0;border-radius:50%}.about{position:relative;overflow:hidden;background:#f0f2f1}.about-inner{position:relative;z-index:1}.sailboat-art{position:absolute;left:0;top:0;bottom:0;width:34%;height:100%;mask-image:linear-gradient(90deg,#000 65%,transparent)}.clients{position:relative;overflow:hidden}.clients h2,.clients .ornament,.quote-grid{position:relative;z-index:1}.watermark-art{position:absolute;right:0;top:0;width:170px;height:100%;opacity:.65}.contact-title{position:relative;align-self:stretch}.contact-title h2,.contact-title .ornament{position:relative;z-index:1}.contact-art{position:absolute;left:-55%;bottom:-25px;width:145%;height:100%;opacity:.5;mix-blend-mode:screen;mask-image:linear-gradient(90deg,#000 60%,transparent)}
@media(max-width:760px){.logo-art{width:120px}.sailboat-art{width:100%;opacity:.16;mask-image:none}.about-inner{margin:auto}.contact-art{display:none}.watermark-art{opacity:.3}.service-art{width:75px;height:80px}.reason-art{width:65px}}

.contact-art{left:-15%;width:170px;height:220px;bottom:0;mask-image:linear-gradient(90deg,#000 80%,transparent)}

.social-conversation-icon{display:block;margin:0 auto;color:var(--teal);padding:10px;filter:drop-shadow(3px 3px 0 #d5e7e7)}@media(max-width:760px){.social-conversation-icon{width:75px;height:80px}}

.service-vector{display:block;width:82px;height:88px;margin:0 auto;padding:12px;color:var(--teal);filter:drop-shadow(3px 3px 0 #d5e7e7)}
.reason-vector{display:block;width:82px;height:82px;padding:18px;margin:0 auto;border:1px solid #ccd8d8;border-radius:50%;background:#ffffff80;color:var(--teal)}
.contact-title{min-height:320px}
.contact-art{left:50%;bottom:-8px;width:220px;height:auto;aspect-ratio:145/184;transform:translateX(-50%);opacity:.48;mix-blend-mode:screen;mask-image:radial-gradient(ellipse at center,#000 24%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at center,#000 24%,transparent 70%)}
.clients .quote-grid{margin-top:32px}
@media(max-width:760px){.service-vector{width:75px;height:80px}.reason-vector{width:65px;height:65px;padding:14px}.contact-title{min-height:0}.contact-art{display:none}}

.proposal-testimonials{max-width:1150px;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;align-items:stretch;text-align:left}.proposal-testimonials figure{padding:28px 24px;display:flex;flex-direction:column;background:#faf8f4f2}.proposal-testimonials blockquote{font-size:18px;line-height:1.5}.proposal-testimonials figcaption{display:flex;flex-direction:column;align-items:flex-start;gap:7px;transform:none;background:transparent;letter-spacing:0;text-transform:none;margin-top:auto;padding-top:24px}.proposal-testimonials figcaption strong{font-size:14px;letter-spacing:.7px;color:var(--teal)}.proposal-testimonials figcaption span{font-size:13px;line-height:1.5}.clients .watermark-art{opacity:.25}@media(max-width:1050px){.proposal-testimonials{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.proposal-testimonials{grid-template-columns:1fr;max-width:520px;gap:28px}}

.testimonial-carousel{position:relative;max-width:1150px;margin:30px auto 0}.clients .proposal-testimonials{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:18px 3px 6px;margin:0;max-width:none;overscroll-behavior-x:contain}.proposal-testimonials::-webkit-scrollbar{display:none}.proposal-testimonials figure{flex:0 0 calc((100% - 48px)/3);min-width:0;scroll-snap-align:start}.proposal-testimonials figure:before{display:none}.client-logo{width:88px;height:88px;object-fit:contain;align-self:flex-start;background:#fff;border-radius:12px;padding:6px;margin-bottom:22px}.slider-controls{display:flex;gap:20px;align-items:center;justify-content:center;margin:24px auto 0;color:var(--teal);font:14px Montserrat,sans-serif}.slider-arrow{width:44px;height:44px;border:1px solid #b1c8ce;border-radius:50%;background:white;color:var(--teal);font:24px Georgia;cursor:pointer}.slider-arrow:hover:not(:disabled){background:var(--teal);color:white}.slider-arrow:disabled{opacity:.35;cursor:default}#testimonial-track:focus-visible{outline:2px solid var(--teal);outline-offset:4px}@media(max-width:1050px){.proposal-testimonials figure{flex-basis:calc((100% - 24px)/2)}}@media(max-width:760px){.proposal-testimonials figure{flex-basis:100%}.client-logo{width:76px;height:76px}.testimonial-carousel{max-width:520px}}

.proposal-testimonials figcaption{flex-direction:row;align-items:center;gap:14px;padding-top:24px;margin-top:auto}
.client-logo-frame{display:grid;place-items:center;flex:0 0 68px;width:68px;height:68px;border:1px solid #d8b966;border-radius:50%;background:#fff;overflow:hidden;padding:9px;box-shadow:0 2px 7px #163e4d08}
.client-logo-frame .client-logo{width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;align-self:auto;border-radius:0;background:transparent;padding:0;margin:0}
.client-attribution{display:flex;flex-direction:column;gap:6px;min-width:0}
.proposal-testimonials .client-attribution strong{font-size:14px;line-height:1.4;letter-spacing:.4px;color:var(--teal)}
.proposal-testimonials .client-attribution span{font-size:13px;line-height:1.5;color:#526570}
@media(max-width:760px){.client-logo-frame{flex-basis:64px;width:64px;height:64px}.proposal-testimonials figcaption{gap:12px}}

.proposal-testimonials figcaption{flex-direction:column;align-items:flex-start;gap:7px;padding-top:24px}
.proposal-testimonials .client-logo{width:88px;height:88px;object-fit:contain;align-self:flex-start;padding:0;margin:0 0 22px;border:0;border-radius:0;background:transparent;box-shadow:none;mix-blend-mode:multiply}
@media(max-width:760px){.proposal-testimonials .client-logo{width:76px;height:76px}}

.proposal-testimonials .client-logo{mix-blend-mode:normal;background:transparent;width:120px;height:88px;object-fit:contain;object-position:left center}@media(max-width:760px){.proposal-testimonials .client-logo{width:110px;height:76px}}

.proposal-testimonials .client-logo-slot{display:flex;align-items:center;justify-content:flex-start;width:150px;max-width:100%;height:100px;flex:0 0 100px;margin:0 0 22px}
.proposal-testimonials .client-logo-slot .client-logo{display:block;width:auto;height:auto;max-width:100%;max-height:100%;flex:none;aspect-ratio:auto;object-fit:contain;object-position:left center;margin:0;padding:0}
@media(max-width:760px){.proposal-testimonials .client-logo-slot{width:140px;height:90px;flex-basis:90px}}

.proposal-testimonials .client-logo-slot{width:80px;height:52px;flex-basis:52px;margin-bottom:18px}@media(max-width:760px){.proposal-testimonials .client-logo-slot{width:74px;height:48px;flex-basis:48px}}

.proposal-testimonials .client-logo-slot{width:90px;height:56px;flex:0 0 56px;margin-bottom:18px}
.proposal-testimonials .client-logo-slot .client-logo{width:auto;height:auto;max-width:90px;max-height:56px;flex-shrink:0}

.brand .agency-logo{display:block;width:auto;height:auto;max-width:145px;max-height:104px;object-fit:contain}.footer-brand{width:165px}.footer-brand .agency-logo{max-width:165px;max-height:120px}@media(max-width:760px){header .brand .agency-logo{max-width:112px;max-height:70px}}

nav a[aria-current="page"]{color:#9b7628;text-decoration:underline;text-underline-offset:7px}
.interior-page{min-height:65vh}.page-title{font-family:'Cormorant Garamond',Georgia,serif;font-size:42px;line-height:1.2;letter-spacing:3px;text-transform:uppercase;font-weight:500;margin:12px 0 34px;text-align:center;color:var(--teal)}
.interior-page>.section{padding-top:65px;padding-bottom:65px}.page-intro .intro{margin-bottom:0}.interior-page>.services{min-height:60vh}.interior-page .contact-title .page-title{color:white;font-size:36px;letter-spacing:1px;position:relative;z-index:1}.interior-page>.contact{min-height:65vh;align-items:center}.interior-page .contact-title{width:100%}.interior-page .clients{min-height:65vh}
@media(max-width:760px){.page-title{font-size:31px;letter-spacing:2px}.interior-page>.section{padding-top:40px;padding-bottom:40px}.interior-page .contact-title .page-title{font-size:30px}}

.proposal-about{max-width:1250px;margin:auto}.about-profile{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:60px;text-align:left}.profile-photo img{width:100%;height:auto;display:block;border-radius:6px}.profile-copy h2{text-transform:none;letter-spacing:1px;font-size:40px}.profile-role{font:15px/1.5 Montserrat,sans-serif;color:var(--teal);margin:10px 0 26px}.profile-copy>p:not(.profile-role){font-size:21px;line-height:1.55;margin:16px 0}.trusted-brands{background:#fff}.trusted-logo-grid{max-width:1050px;margin:38px auto 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:35px 48px;align-items:center;justify-items:center}.trusted-logo-grid img{display:block;width:auto;height:auto;max-width:170px;max-height:65px;object-fit:contain}@media(max-width:900px){.about-profile{gap:32px}.trusted-logo-grid{gap:30px}.trusted-logo-grid img{max-width:140px}}@media(max-width:760px){.about-profile{grid-template-columns:1fr;gap:28px}.profile-photo{max-width:400px;margin:auto}.profile-copy h2{font-size:34px}.profile-copy>p:not(.profile-role){font-size:20px}.trusted-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}.trusted-logo-grid img{max-width:130px;max-height:55px}}

.profile-photo{overflow:hidden;border-radius:6px}.profile-photo img{width:100%;aspect-ratio:4/5;height:auto;object-fit:cover;object-position:100% center}

.expanded-services{max-width:1280px;margin:auto}.services-intro{max-width:770px;margin:0 auto 30px;font-size:23px;line-height:1.5}.service-jump-links{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 25px;margin-bottom:45px}.service-jump-links a{font-size:14px;color:var(--teal);text-decoration:underline;text-underline-offset:5px}.service-details{display:grid;gap:24px;text-align:left}.service-detail{display:grid;grid-template-columns:1fr 1.8fr;gap:40px;padding:38px;border:1px solid #d3dfdf;border-radius:8px;background:#ffffff80;scroll-margin-top:30px}.service-detail-heading svg{margin:0 0 15px;width:64px;height:64px}.service-detail-heading h2{font-size:27px;line-height:1.25;letter-spacing:1px;text-transform:none}.service-detail-body>p{font-size:21px;line-height:1.5;margin:0 0 22px}.service-detail-body h3{font:14px Montserrat,sans-serif;text-transform:uppercase;letter-spacing:1px;color:var(--teal);margin:0 0 12px}.service-detail-body ul{font-size:19px;line-height:1.5;margin:0;padding-left:20px}.service-detail-body li{margin:7px 0}.service-detail-body li::marker{color:#b39041}.services-cta{max-width:760px;margin:48px auto 0}.services-cta h2{font-size:27px;letter-spacing:1px;text-transform:none}.services-cta p{font-size:21px;line-height:1.5}@media(max-width:760px){.service-detail{grid-template-columns:1fr;gap:20px;padding:26px}.service-detail-heading{display:flex;gap:18px;align-items:center}.service-detail-heading svg{flex:0 0 52px;width:52px;height:52px;margin:0}.service-detail-heading h2{font-size:24px}.services-intro{font-size:21px}.service-detail-body>p{font-size:20px}.service-detail-body ul{font-size:18px}}

.portfolio-intro{max-width:1100px;margin:auto}.portfolio-intro>p{font-size:23px;max-width:700px;margin:0 auto 28px}.portfolio-jump-links{display:flex;flex-wrap:wrap;gap:14px 25px;justify-content:center}.portfolio-jump-links a{font-size:14px;text-transform:none;color:var(--teal);text-decoration:underline;text-underline-offset:5px}.portfolio-project{max-width:1250px;margin:auto;border-top:1px solid #d9e1df;scroll-margin-top:20px}.project-heading{max-width:850px;margin:0 auto 32px}.project-client{font:14px Montserrat,sans-serif;text-transform:uppercase;letter-spacing:2px;color:#98732b;margin:0 0 14px}.project-heading h2{font-size:32px;text-transform:none;letter-spacing:.5px}.project-description{font-size:21px;line-height:1.5;margin:20px 0 0}.project-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:start}.project-gallery.two-samples{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px;margin:auto}.work-sample{margin:0;border:1px solid #dce3e1;background:white;border-radius:7px;overflow:hidden}.work-sample a{display:block}.work-sample img{display:block;width:100%;height:auto}.work-action{display:block;padding:13px 16px;color:var(--teal);font:13px Montserrat,sans-serif;text-align:left}.work-sample a:hover .work-action{background:#eaf1f0}.portfolio-cta h2{margin-bottom:25px;text-transform:none;letter-spacing:.5px}@media(max-width:900px){.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.project-gallery,.project-gallery.two-samples{grid-template-columns:1fr;max-width:380px;margin:auto}.project-heading h2{font-size:27px}.project-description,.portfolio-intro>p{font-size:20px}}

/* Portfolio organized by service. */
.portfolio-categories{gap:12px;margin-top:30px}.portfolio-categories a{display:block;padding:14px 24px;border:1px solid #b9ccd0;border-radius:30px;text-decoration:none;background:#fff9;font:14px Montserrat,sans-serif}.portfolio-categories a:hover,.portfolio-categories a:focus-visible{background:var(--teal);color:white}.portfolio-category{scroll-margin-top:25px;padding:45px 0 20px}.category-heading{max-width:1100px;margin:0 auto;padding:0 6% 32px;text-align:center}.category-heading h2{font-size:36px}.category-heading>p{font-size:22px;line-height:1.5;margin:16px auto 0;max-width:720px}.portfolio-category .portfolio-project{padding-top:45px;padding-bottom:55px}.project-heading h3{font:500 32px/1.25 'Cormorant Garamond',Georgia,serif;color:var(--teal);letter-spacing:.5px;margin:0}.portfolio-category:nth-of-type(odd){background:#edf2f166}#website{padding:55px 0 25px;border-top:1px solid #d9e1df;border-bottom:1px solid #d9e1df}@media(max-width:560px){.portfolio-categories{gap:10px}.portfolio-categories a{padding:12px 16px;font-size:12px}.category-heading h2{font-size:28px}.project-heading h3{font-size:27px}.category-heading>p{font-size:20px}}

.website-client-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1100px;margin:0 auto 40px;padding:0 5%}.website-client{padding:30px 24px;text-align:left;background:#ffffffa6;border:1px solid #d4dfdf;border-radius:7px;display:flex;flex-direction:column;justify-content:space-between;gap:22px;min-height:155px}.website-client h3{font:500 27px/1.2 'Cormorant Garamond',Georgia,serif;color:var(--teal);margin:0}.website-client a{font:13px Montserrat,sans-serif;color:var(--teal);text-decoration:underline;text-underline-offset:5px}.website-client a:hover{color:#98732b}@media(max-width:800px){.website-client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.website-client-grid{grid-template-columns:1fr}.website-client{min-height:120px}}

/* Compact portfolio with one service category at a time. */
.portfolio-page .portfolio-intro{padding-bottom:28px}.portfolio-page .page-title{margin-bottom:20px}.portfolio-categories a[aria-selected="true"]{background:var(--teal);border-color:var(--teal);color:white}.portfolio-categories a:focus-visible,.project-samples summary:focus-visible{outline:2px solid #b39041;outline-offset:4px}.portfolio-category[hidden]{display:none}.portfolio-page .portfolio-category{background:transparent;padding-top:22px}.portfolio-page .category-heading h2{font-size:28px}.portfolio-page .category-heading>p{font-size:20px}.portfolio-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:1120px;padding:0 5%;margin:auto;align-items:start}.portfolio-category .project-card{padding:0;overflow:hidden;border:1px solid #d4dfdf;border-radius:10px;background:#fff;width:100%;margin:0}.project-cover{display:block;width:100%;height:260px;object-fit:contain;background:#eef2f0;padding:18px}.project-card .project-heading{padding:26px 26px 16px;margin:0;text-align:left}.project-card .project-client{font-size:12px;margin-bottom:10px}.project-card .project-heading h3{font-size:26px}.project-card .project-description{font-size:18px;line-height:1.45;margin-top:14px}.project-samples{padding:0 26px 24px}.project-samples summary{list-style:none;display:flex;justify-content:space-between;gap:15px;cursor:pointer;color:var(--teal);font:13px Montserrat,sans-serif;padding:15px 0;border-top:1px solid #dce3e1}.project-samples summary::-webkit-details-marker{display:none}.project-samples[open] summary span{transform:rotate(45deg)}.project-card .project-gallery,.project-card .project-gallery.two-samples{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:8px}.project-card .work-action{font-size:11px;padding:10px}.portfolio-page #website{border:0;padding-top:22px}.portfolio-page .website-client-grid{max-width:1120px}.portfolio-page .portfolio-cta{padding-top:48px}@media(max-width:700px){.portfolio-project-grid{grid-template-columns:1fr;max-width:560px}.project-cover{height:235px}.project-card .project-heading{padding:22px 22px 16px}.project-samples{padding:0 22px 20px}.portfolio-categories{flex-wrap:wrap}.portfolio-page .portfolio-intro{padding-bottom:20px}}

.contact-title{display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.contact-title>h1,.contact-title>h2{order:0}.contact-lighthouse{order:1;display:block;width:min(100%,300px);height:auto;object-fit:contain;margin:18px auto 0}.contact-title .page-title{margin-bottom:0}@media(max-width:760px){.contact-lighthouse{width:180px;margin-top:10px}.contact-title{min-height:0}}

.contact-title>h2,.interior-page .contact-title .page-title{font-size:clamp(26px,2.5vw,36px);line-height:1.2;text-transform:none;max-width:400px}.contact-lighthouse{width:min(100%,330px)}@media(max-width:760px){.contact-lighthouse{width:210px}}

body.admin-bar header {top:32px;} @media(max-width:782px){body.admin-bar header{top:46px;}}
