@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#234b37;--green-deep:#153a2a;--green-light:#668a6c;--charcoal:#28372e;--dark:#142c21;--gray:#f2f4f0;--bone:#f8f7f3;--white:#FFF;--body:#65716a;--border:#e4e9e2;--shadow:0 24px 80px rgba(30,50,28,.10);--radius:15px;--heading:Manrope,Arial,sans-serif;--bodyfont:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--charcoal);font-family:var(--bodyfont);font-size:15px;line-height:1.75;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button{font:inherit}img{max-width:100%;display:block}::selection{background:#d5eeb4;color:#263b17}.container{width:min(1210px,calc(100% - 64px));margin:auto}.eyebrow{font-family:var(--heading);font-size:11px;font-weight:800;letter-spacing:.21em;text-transform:uppercase;color:var(--green-deep);display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';display:inline-block;width:25px;height:2px;background:currentColor}.eyebrow.light{color:#c5ec88}.eyebrow.light:before{background:#b4d777}.top-bar{background:#27362f;color:#e0e8dc;font-size:10px;text-transform:uppercase;letter-spacing:.17em;padding:7px 0}.top-bar .container{display:flex;justify-content:space-between;gap:12px}.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--border);backdrop-filter:blur(16px);transition:box-shadow .2s}.header.scrolled{box-shadow:0 8px 22px rgba(24,45,17,.06)}.header .container{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:25px}.logo{width:228px;max-width:45vw;flex:none}.logo img{width:100%;height:auto}.nav{display:flex;align-items:center;gap:31px;font:700 12px var(--heading);letter-spacing:.02em}.nav a:not(.button){transition:color .2s}.nav a:not(.button):hover,.nav a[aria-current=page]{color:var(--green-deep)}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:7px;padding:15px 23px;line-height:1.25;font:800 12px var(--heading);letter-spacing:.02em;transition:transform .24s,background .24s,box-shadow .24s;cursor:pointer;border:1px solid transparent}.button:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(32,59,18,.16)}.button.primary{background:var(--green);color:white}.button.primary:hover{background:var(--green-deep)}.button.dark{background:var(--charcoal);color:white}.button.outline{background:transparent;border-color:#b3d28a;color:var(--charcoal)}.button.ghost{border-color:#c7d1c5;color:#fff;background:rgba(255,255,255,.06)}.button-arrow{font-size:17px}.menu-btn{display:none;border:0;background:none;color:var(--charcoal);font-size:28px;padding:8px}.brand-banner{height:clamp(96px,15vw,170px);width:100%;object-fit:cover;object-position:center;box-shadow:inset 0 -2px #dbe6cb}.hero{position:relative;overflow:hidden;background:linear-gradient(112deg,#f9faf6 1%,#f0f5e9 55%,#f7f9f3 100%)}.hero:before{content:'';position:absolute;right:-230px;top:-280px;width:750px;height:750px;border:1px solid rgba(122,165,44,.16);border-radius:50%;box-shadow:0 0 0 70px rgba(122,165,44,.035),0 0 0 140px rgba(122,165,44,.028)}.hero:after{content:'';position:absolute;bottom:0;left:0;right:0;height:8px;background:linear-gradient(90deg,var(--green),#bbd979,transparent)}.hero-grid{min-height:580px;padding:72px 0 88px;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:68px;position:relative}.hero h1{font:800 clamp(35px,4.2vw,61px)/1.10 var(--heading);letter-spacing:-.056em;margin:20px 0 25px;max-width:650px}.hero h1 em{font-style:normal;color:var(--green-deep)}.hero .lead{max-width:575px;color:#57675c;font-size:16px;line-height:1.95;margin-bottom:31px}.actions{display:flex;gap:13px;flex-wrap:wrap}.hero-art{height:455px;position:relative;isolation:isolate}.hero-photo{height:100%;width:100%;border-radius:13px 75px 13px 75px;overflow:hidden;position:relative;box-shadow:var(--shadow)}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(29,48,29,.56))}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:100% center;transform:scale(1.04);transition:transform .7s}.hero-photo:hover img{transform:scale(1.12)}.photo-label{position:absolute;bottom:30px;left:29px;z-index:1;color:#fff;font:700 11px var(--heading);letter-spacing:.15em;text-transform:uppercase}.photo-label span{display:block;color:#dbeacb;font:500 13px var(--bodyfont);letter-spacing:normal;text-transform:none;margin-top:5px}.float-stat{position:absolute;left:-35px;top:22px;background:#fff;padding:18px 22px;border-radius:10px;box-shadow:0 18px 45px #22391a23;z-index:3;display:flex;gap:12px;align-items:center}.float-stat b{display:block;font:800 16px var(--heading)}.float-stat small{font-size:11px;color:#7d8a7a}.float-symbol{width:35px;height:35px;border-radius:8px;background:#e5f2d4;color:var(--green-deep);display:grid;place-items:center;font-weight:900;font-size:21px}.section{padding:104px 0}.section.small{padding:68px 0}.section.soft{background:var(--bone)}.section.gray{background:var(--gray)}.section-head{max-width:760px;margin:0 auto 46px;text-align:center}.section-head .eyebrow{justify-content:center}.section-head h2{margin:15px 0 14px;font:800 clamp(28px,3.25vw,43px)/1.17 var(--heading);letter-spacing:-.045em}.section-head p{color:var(--body);margin:0}.section-head strong{color:var(--green-deep)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{background:#fff;border:1px solid #eaf0e5;border-radius:15px;padding:34px 33px 32px;box-shadow:0 13px 36px rgba(34,54,26,.045);transition:transform .25s,box-shadow .25s,border-color .25s;position:relative;overflow:hidden}.service-card:before{content:'';height:4px;width:100%;background:linear-gradient(90deg,var(--green),#bad97b);position:absolute;top:0;left:0}.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:#c7e1b2}.service-icon{display:grid;place-items:center;width:70px;height:70px;background:#eff6e7;border-radius:13px;margin-bottom:26px;color:var(--green-deep)}.service-icon svg{width:36px;height:36px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.service-card h3{font:800 21px/1.3 var(--heading);letter-spacing:-.025em;margin:0 0 15px}.service-card p{color:var(--body);font-size:14px;margin:0 0 23px;line-height:1.8}.line-link{font:800 11px var(--heading);color:var(--green-deep);text-transform:uppercase;letter-spacing:.08em}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.about-image{height:445px;border-radius:17px 90px 17px 17px;overflow:hidden;position:relative;box-shadow:var(--shadow)}.about-image img{width:100%;height:100%;object-fit:cover;object-position:right}.about-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(37,53,26,.6),transparent 62%)}.image-badge{position:absolute;bottom:25px;left:27px;color:white;z-index:1;max-width:290px;font:800 17px/1.4 var(--heading)}.about-copy h2,.process h2,.cta-panel h2{font:800 clamp(30px,3.4vw,47px)/1.16 var(--heading);letter-spacing:-.045em;margin:18px 0 23px}.about-copy p{color:var(--body);margin:0 0 19px}.mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px;margin:27px 0 30px}.mini{border-left:3px solid var(--green);padding-left:14px;font:700 12px/1.7 var(--heading);color:#4c5c4d}.process{background:#fff}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.step{position:relative;padding:28px 20px 24px;border-radius:12px;background:var(--gray);border:1px solid #e8ece5}.step-num{font:800 46px var(--heading);color:#d7e7c7;line-height:1;margin-bottom:26px}.step h3{font:800 15px/1.35 var(--heading);margin:0 0 13px}.step p{font-size:13px;color:var(--body);margin:0}.mission{background:linear-gradient(115deg,#5a8125,#7aaa31 66%,#91b64d);color:#fff;padding:72px 0;position:relative;overflow:hidden}.mission:before{content:'';position:absolute;right:-80px;top:-130px;width:530px;height:530px;border:1px solid #ffffff35;transform:rotate(20deg);border-radius:50%;box-shadow:0 0 0 58px #ffffff10,0 0 0 115px #ffffff08}.mission-inner{max-width:870px;position:relative}.mission h2{font:800 clamp(29px,3.5vw,49px)/1.15 var(--heading);letter-spacing:-.05em;margin:20px 0}.mission p{font-size:16px;color:#f3f8ed;max-width:700px}.contact-cta{padding:80px 0;background:#f2f5ee}.cta-panel{background:#fff;border:1px solid var(--border);box-shadow:var(--shadow);border-radius:20px;padding:55px 65px;display:flex;align-items:center;justify-content:space-between;gap:35px}.cta-panel h2{max-width:680px;margin:12px 0}.cta-panel p{margin:0;color:var(--body)}.page-hero{background:linear-gradient(115deg,#39423d,#2f3e34);color:#fff;position:relative;overflow:hidden;padding:96px 0}.page-hero:after{content:'';position:absolute;right:-60px;top:-200px;width:600px;height:600px;border:1px solid #ffffff25;border-radius:50%;box-shadow:0 0 0 82px #ffffff08}.page-hero .container{position:relative;z-index:1}.page-hero h1{font:800 clamp(36px,5vw,60px)/1.1 var(--heading);letter-spacing:-.05em;margin:22px 0 0;max-width:840px}.page-hero p{max-width:650px;color:#d6dfd7;margin-top:20px;font-size:16px}.about-highlights{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.about-highlight{padding:27px;background:#fff;border:1px solid var(--border);border-radius:12px;font:700 13px var(--heading);box-shadow:0 8px 30px #39482b0c}.about-highlight b{display:block;color:var(--green-deep);font-size:22px;margin-bottom:16px}.contact-layout{display:grid;grid-template-columns:.83fr 1.17fr;gap:75px;align-items:start}.contact-content h2{font:800 35px/1.17 var(--heading);letter-spacing:-.045em}.contact-content p{color:var(--body)}.contact-points{padding-left:0;list-style:none;margin:28px 0}.contact-points li{padding:9px 0 9px 29px;position:relative;color:#58685c}.contact-points li:before{content:'✓';font-weight:bold;color:var(--green-deep);position:absolute;left:0}.form-shell{background:white;border:1px solid var(--border);border-radius:17px;padding:39px;box-shadow:var(--shadow)}.form-shell h3{font:800 23px var(--heading);letter-spacing:-.025em;margin:0 0 8px}.form-shell .intro{margin:0 0 22px;color:var(--body);font-size:13px}.form-field{margin-bottom:17px}.form-label{font:700 12px var(--heading);display:block;margin-bottom:8px;color:#3f4c40}.form-control{width:100%;font:500 14px var(--bodyfont);border:1px solid #dbe3d7;background:#fcfdfb;padding:13px 14px;border-radius:7px;min-height:46px;outline:none;transition:border-color .2s,box-shadow .2s}.form-control:focus{border-color:var(--green);box-shadow:0 0 0 3px #7aa52c20}.form-field--textarea textarea{min-height:116px;resize:vertical}.form-field--checkbox{border:1px solid #e0e8d9;background:#f6f9f3;border-radius:9px;padding:16px 16px 12px}.form-field--checkbox .form-choice{display:flex;align-items:start;gap:13px}.form-field--checkbox input[type=checkbox]{flex:none;appearance:auto;accent-color:var(--green-deep);width:19px;height:19px;margin-top:4px}.form-field--checkbox .form-choice-label{font-size:11px;line-height:1.75;color:#546257;font-weight:500}.form-required{color:#b44b3d;margin-left:5px}.form-actions{display:flex;margin-top:23px}.form-submit,.form-next{border:0;border-radius:7px;background:var(--green);color:white;padding:15px 30px;font:800 12px var(--heading);cursor:pointer;min-width:172px}.form-submit:hover{background:var(--green-deep)}.form-error,.form-form-error{color:#a53e32;font-size:12px}.form-success{border-radius:8px;padding:24px;background:#e9f5db;color:#426d28}.form-loading{padding:18px;color:#718373}.form-fields{border:0;padding:0;min-width:0;margin:0}.form-step{display:none}.consent-links{font-size:11px;color:#65716a;margin-top:15px}.consent-links a{color:var(--green-deep);text-decoration:underline}.legal-bg{background:var(--gray)}.legal-card{max-width:900px;background:#fff;padding:68px 76px;border-radius:14px;border:1px solid #edf0ea;box-shadow:0 14px 50px #263e190b;margin:auto}.legal-card h2{font:800 19px var(--heading);letter-spacing:-.02em;margin-top:31px;color:#3d483f}.legal-card p,.legal-card li{color:#5c6a60;font-size:14px}.legal-card a{color:var(--green-deep);text-decoration:underline}.draft{background:#fff9e9;border-left:3px solid #d7b55a;color:#79652f;padding:15px 18px;margin-bottom:27px;font-size:12px}.footer{background:#2c3530;color:#dce3dc}.footer-top{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:55px;padding:65px 0 47px}.footer img{width:215px;background:#fff;border-radius:6px;padding:8px}.footer p{font-size:12px;color:#b1c2b5;max-width:340px}.footer h4{font:800 12px var(--heading);letter-spacing:.08em;color:#fff;margin:2px 0 18px;text-transform:uppercase}.footer-links{display:grid;gap:11px}.footer a{font-size:12px;color:#d1dbd0;transition:color .2s}.footer a:hover{color:#c9ed9a}.footer-bottom{border-top:1px solid #ffffff20;padding:20px 0;display:flex;gap:20px;justify-content:space-between;color:#adbdaf;font-size:11px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.show{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{transition:none;opacity:1;transform:none}*{animation:none!important}}@media(max-width:1050px){.nav{gap:15px;font-size:11px}.header .container{min-height:77px}.hero-grid{gap:30px}.hero-art{height:385px}.about-grid{gap:45px}.contact-layout{gap:40px}.service-card{padding:29px 23px}}@media(max-width:800px){.container{width:min(100% - 38px,650px)}.top-bar{display:none}.header .container{min-height:70px}.logo{width:192px}.menu-btn{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;flex-direction:column;align-items:stretch;padding:20px 26px;gap:20px;box-shadow:0 18px 38px #0001}.nav.open{display:flex}.nav .button{align-self:flex-start}.brand-banner{height:110px}.hero-grid,.about-grid,.contact-layout{grid-template-columns:1fr}.hero-grid{padding:60px 0 70px}.hero-art{height:360px}.float-stat{left:-10px}.service-grid{grid-template-columns:1fr}.steps,.about-highlights{grid-template-columns:repeat(2,1fr)}.section{padding:70px 0}.about-grid{gap:30px}.cta-panel{padding:36px;display:block}.cta-panel .button{margin-top:22px}.footer-top{grid-template-columns:1fr 1fr;gap:25px}.footer-top>div:first-child{grid-column:1/-1}.legal-card{padding:35px 25px}}@media(max-width:490px){.brand-banner{height:80px}.hero h1{font-size:34px}.hero-art{height:275px}.steps,.about-highlights{grid-template-columns:1fr}.form-shell{padding:23px}.footer-top{grid-template-columns:1fr}.footer-top>div:first-child{grid-column:auto}.footer-bottom{display:block}.contact-cta{padding:52px 0}}

/* Greenville place-based photography redesign, Nov 2026 */
.top-bar,.brand-banner{display:none!important}
.header{background:#fff;border-bottom:1px solid #e6ebdf}
.header .container{min-height:83px;max-width:1360px}
.logo{display:flex;align-items:center;width:200px;max-width:45vw;overflow:visible}
.logo img{width:100%;height:auto;max-height:84px;object-fit:contain;object-position:left center}
.hero{background:linear-gradient(130deg,#fafbf7 0%,#f3f8eb 50%,#ecf3e6 100%)}
.hero-grid{max-width:1360px;min-height:640px;grid-template-columns:.93fr 1.07fr;gap:52px;padding:86px 0 98px}
.hero h1{font-size:clamp(40px,4.25vw,69px);line-height:1.11}
.hero-art{height:490px}
.hero-photo{border-radius:20px 76px 20px 20px;box-shadow:0 26px 70px rgba(40,58,31,.17)}
.hero-photo img{object-fit:cover;object-position:50% 52%;transform:none;transition:transform .55s ease}
.hero-photo:hover img{transform:scale(1.035)}
.hero-photo:after{background:linear-gradient(180deg,transparent 48%,rgba(19,40,32,.74))}
.photo-label{font-size:11px;bottom:27px;left:30px}
.photo-label span{font-size:12px;color:#fff}
.float-stat{top:auto;bottom:35px;left:-30px;min-width:198px;padding:15px 18px;transform:translateY(48px)}
.float-stat b{font-size:14px}.float-stat small{font-size:10px}
.about-image img{object-position:51% 50%}
.image-badge{max-width:400px;font-size:20px;text-shadow:0 1px 12px #0008}
.image-badge small{display:block;font-weight:500;font-size:11px;line-height:1.6;margin-top:7px}
.greenville-feature{padding:110px 0;background:#fff;overflow:hidden}
.greenville-feature-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:76px;align-items:center}
.greenville-feature-photo{padding:0;margin:0;position:relative;box-shadow:0 28px 64px #1f3f271c;border-radius:18px;overflow:hidden}
.greenville-feature-photo img{display:block;width:100%;height:365px;object-fit:cover;object-position:center}
.greenville-feature-photo figcaption{background:#f7faf4;padding:11px 16px;font-size:10px;color:#697a68;line-height:1.4}
.greenville-feature-copy h2{font:800 clamp(30px,3.7vw,49px)/1.19 var(--heading);letter-spacing:-.045em;margin:18px 0 25px}
.greenville-feature-copy h2 strong{color:var(--green-deep)}
.greenville-feature-copy p{color:var(--body);margin-bottom:18px}
.photo-attribution{font-size:10px;color:#79897a;margin:12px 0}.photo-attribution a{text-decoration:underline;color:#4e782a}
.photo-credits{font-size:10px;color:#9bb09c;max-width:1140px;margin:0 auto;padding:4px 24px 22px}
.photo-credits a{color:#d4e1d0;text-decoration:underline}
@media(min-width:1350px){.hero-grid{gap:75px}}
@media(max-width:1050px){.hero-grid{gap:35px}.hero-art{height:430px}.greenville-feature-grid{gap:35px}}
@media(max-width:800px){.header .container{min-height:74px}.logo{width:175px}.logo img{max-height:71px}.hero-grid{min-height:0;grid-template-columns:1fr;padding:66px 0 76px}.hero-art{height:350px}.float-stat{bottom:20px;left:0;transform:translate(-8px,30px)}.greenville-feature{padding:75px 0}.greenville-feature-grid{grid-template-columns:1fr}.greenville-feature-photo img{height:310px}}
@media(max-width:490px){.logo{width:160px}.hero h1{font-size:37px}.hero-art{height:295px}.photo-label{bottom:20px;left:18px}.float-stat{padding:10px 12px;bottom:8px}.float-stat b{font-size:11px}.float-stat small{font-size:9px}.greenville-feature-photo img{height:250px}}

/* WCV premium refinements */
.hero{background:linear-gradient(115deg,#f8f8f4,#eef2eb)}.hero h1{font-size:clamp(48px,5.3vw,78px);font-weight:700;line-height:1.05;letter-spacing:-.06em}.hero-grid{min-height:630px}.hero-photo{border-radius:4px 65px 4px 4px}.button{border-radius:3px;letter-spacing:.035em}.service-card{border-radius:5px}.service-card:before{height:2px;background:#9da98c}.service-icon{background:#e9efe7}.mission{background:linear-gradient(115deg,#102c20,#24513a 70%,#3d6b4d)}.section-head h2,.about-copy h2,.mission h2{letter-spacing:-.045em}.footer{background:#112a20}@media(max-width:700px){.hero h1{font-size:clamp(42px,10vw,62px)}}