:root{--terracotta:#c0432a;--terracotta-dark:#9f311e;--sand:#e8dcc8;--cream:#faf7f2;--charcoal:#2c2c2c;--blue:#1b4f8a;--serif:"Fraunces",Georgia,serif;--sans:"DM Sans",sans-serif;--shadow:0 20px 42px rgba(44,44,44,.15)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{margin:0;background:var(--cream);color:var(--charcoal);font-family:var(--sans);font-size:16px;line-height:1.55}a{text-decoration:none;color:inherit}button,input,textarea{font:inherit}button{cursor:pointer}.container{width:min(1360px,100% - 40px);margin-inline:auto}.site-header{height:78px;background:rgba(250,247,242,.96);position:fixed;inset:0 0 auto;z-index:50;border-bottom:1px solid rgba(232,220,200,.8);backdrop-filter:blur(11px)}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{width:40px;height:40px;background:var(--terracotta);color:#fff;display:grid;place-items:center;flex:none;font-size:25px}.brand-mark svg{width:22px;height:22px}.brand strong{display:block;font-family:var(--serif);font-size:20px;line-height:1.05}.brand small{display:block;text-transform:uppercase;color:var(--terracotta);font-size:10px;letter-spacing:1.3px;margin-top:4px}.nav-links{display:flex;align-items:center;gap:32px}.nav-links>a:not(.nav-call){font-size:13px;text-transform:uppercase;letter-spacing:.75px;font-weight:600;color:rgba(44,44,44,.72);transition:color .2s}.nav-links>a:hover{color:var(--terracotta)}.nav-call{padding:10px 18px;background:var(--terracotta);color:#fff;display:flex;align-items:center;gap:9px;font-weight:600;font-size:14px;letter-spacing:.5px;transition:background .2s}.nav-call:hover,.button.primary:hover{background:var(--terracotta-dark)}.menu-toggle{display:none;border:0;background:none;width:42px;height:42px;padding:9px}.menu-toggle span{display:block;height:2px;background:var(--charcoal);margin:5px 0;transition:.25s}
.hero{height:max(690px,100vh);position:relative;display:flex;align-items:flex-end;overflow:hidden;color:#fff}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:kenburns 9s ease-out forwards;transform:scale(1.07)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(44,44,44,.24),rgba(44,44,44,.2) 42%,rgba(44,44,44,.78))}.grain:after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.06'/%3E%3C/svg%3E");pointer-events:none}.hero-copy{position:relative;z-index:2;padding-bottom:105px}.eyebrow{display:flex;align-items:center;gap:15px;color:var(--terracotta);font-size:11px;letter-spacing:1.55px;text-transform:uppercase;font-weight:600;margin:0 0 14px}.eyebrow:before{content:"";width:45px;height:1px;background:currentColor}.eyebrow.light{display:inline-flex;background:var(--terracotta);padding:7px 12px;color:#fff}.eyebrow.light:before{display:none}.hero h1{font-family:var(--serif);font-size:clamp(45px,6.2vw,87px);line-height:.97;letter-spacing:-2.3px;max-width:900px;margin:0 0 22px;font-weight:700}.hero h1 em,.section-heading h2 em,.about-copy h2 em,.contact-copy h2 em{display:block;font-weight:300;color:var(--sand)}.hero-lede{max-width:590px;font-size:17px;line-height:1.65;color:rgba(255,255,255,.85);margin:0 0 30px}.hero-actions{display:flex;flex-wrap:wrap;gap:15px}.button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:14px 24px;min-height:49px;font-size:14px;font-weight:600;transition:transform .2s,background .2s,color .2s;border-radius:0}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--terracotta);color:#fff}.button.outline{border:1px solid rgba(255,255,255,.75);color:#fff;background:transparent}.button.outline:hover{background:rgba(255,255,255,.12)}.seal{position:absolute;z-index:3;top:122px;right:5.2vw;width:122px;height:122px;color:var(--sand);animation:spin 20s linear infinite}.seal svg{width:100%;height:100%;fill:currentColor}.seal text{font-family:var(--sans);font-size:9px;letter-spacing:2.1px}.seal-icon{position:absolute;inset:36px;background:var(--terracotta);display:grid;place-items:center;color:#fff;font-size:28px;animation:unspin 20s linear infinite}.scroll-cue{z-index:3;position:absolute;bottom:16px;left:50%;font-size:34px;line-height:1;animation:bob 1.6s ease-in-out infinite;color:rgba(255,255,255,.8)}
.stats-band{background:var(--charcoal);padding:52px 0;color:var(--terracotta)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.stats-grid article{text-align:center}.stats-grid strong,.stats-grid span{font-family:var(--serif);font-size:clamp(44px,5vw,68px);font-weight:700;line-height:.9}.stats-grid p{margin:10px 0 0;color:rgba(250,247,242,.56);font-size:11px;text-transform:uppercase;letter-spacing:1.25px}.section{padding:110px 0}.section-heading{margin-bottom:50px;max-width:720px}.section-heading h2,.about-copy h2,.contact-copy h2{margin:0;font-family:var(--serif);font-size:clamp(39px,4.4vw,62px);line-height:1.02;letter-spacing:-1.35px}.section-heading h2 em{color:rgba(44,44,44,.57)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{background:#fff;box-shadow:0 0 0 1px rgba(44,44,44,.035);transition:transform .25s,box-shadow .25s}.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.service-card>img{width:100%;height:216px;object-fit:cover;display:block}.service-card>div{padding:23px 24px 25px}.service-card h3{margin:0 0 8px;font-family:var(--serif);font-size:22px;line-height:1.15}.service-card p{font-size:13px;line-height:1.63;color:rgba(44,44,44,.64);margin:0 0 15px}.service-card ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}.service-card li{font-size:12px;color:rgba(44,44,44,.76);display:flex;align-items:center;gap:8px}.service-card li:before{content:"⊙";color:var(--terracotta);font-size:12px}
.angled{background:var(--sand);position:relative;margin-top:0;padding:145px 0 130px;clip-path:polygon(0 3.5%,100% 0,100% 96.5%,0 100%)}.giant-number{position:absolute;right:-20px;top:50%;font-family:var(--serif);font-size:clamp(240px,35vw,520px);line-height:.7;color:rgba(192,67,42,.09);font-weight:700;pointer-events:none}.about-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,8vw,130px);align-items:center}.about-photo{position:relative}.about-photo img{width:100%;height:525px;object-fit:cover;display:block}.experience-badge{position:absolute;right:-24px;bottom:-28px;background:var(--terracotta);color:#fff;padding:23px 24px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow)}.experience-badge strong{font-family:var(--serif);font-size:48px;line-height:.9}.experience-badge span{font-size:10px;line-height:1.35;text-transform:uppercase;letter-spacing:.85px}.about-copy p:not(.eyebrow){color:rgba(44,44,44,.73);font-size:15px;line-height:1.72;margin:0 0 14px}.about-copy h2{margin-bottom:26px}.about-copy h2 em{color:rgba(44,44,44,.77);margin-top:3px}.quality-list{display:grid;grid-template-columns:repeat(2,1fr);gap:11px 17px;margin:27px 0}.quality-list span{font-size:12px;color:rgba(44,44,44,.8);display:flex;gap:8px;align-items:flex-start}.quality-list span:before{content:"•";color:var(--terracotta);font-size:19px;line-height:12px}.centered{text-align:center;margin-inline:auto}.centered .eyebrow{justify-content:center}.commitment-section{padding:95px 0}.commitment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.commitment-grid article{background:#fff;padding:35px 34px;border-top:4px solid var(--terracotta)}.commitment-grid span{color:var(--terracotta);font-family:var(--serif);font-size:22px;font-weight:700}.commitment-grid h3{font-family:var(--serif);font-size:25px;margin:9px 0}.commitment-grid p{font-size:14px;color:rgba(44,44,44,.68);margin:0;line-height:1.7}
.gallery-section{background:var(--charcoal);padding:110px 0}.dark-heading h2{color:var(--sand)}.dark-heading h2 em{color:rgba(232,220,200,.62)}.dark-heading .eyebrow{color:rgba(232,220,200,.62)}.gallery-grid{columns:4;column-gap:13px}.gallery-item{width:100%;border:0;padding:0;margin:0 0 13px;display:block;break-inside:avoid;position:relative;overflow:hidden;background:#111}.gallery-item:after{content:"↗";position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:31px;height:31px;background:var(--terracotta);color:#fff;opacity:0;transform:translateY(8px);transition:.25s}.gallery-item img{display:block;width:100%;transition:transform .6s}.gallery-item:hover img{transform:scale(1.065)}.gallery-item:hover:after{opacity:1;transform:none}.cta-section{position:relative;min-height:385px;display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden}.cta-section>img,.cta-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cta-overlay{background:rgba(192,67,42,.87)}.cta-copy{position:relative;z-index:1}.cta-copy h2{font-family:var(--serif);font-size:clamp(41px,4.5vw,63px);line-height:1;margin:0 0 14px}.cta-copy p{margin:0 0 28px;font-size:17px;color:rgba(255,255,255,.83)}.cta-copy>div{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.button.white{background:#fff;color:var(--terracotta)}.button.white:hover{background:var(--cream)}.button.white-outline{border:2px solid #fff;color:#fff}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(42px,9vw,145px)}.contact-copy>p:not(.eyebrow){color:rgba(44,44,44,.68);max-width:520px;line-height:1.72;margin:26px 0 38px}.contact-copy h2 em{color:rgba(44,44,44,.76);margin-top:4px}.contact-list{display:grid;gap:16px}.contact-list>a,.contact-list>div{display:flex;align-items:flex-start;gap:15px}.contact-list b{width:43px;height:43px;display:grid;place-items:center;flex:none;background:rgba(192,67,42,.1);color:var(--terracotta);font-size:21px;font-family:var(--sans)}.contact-list span{font-family:var(--serif);font-weight:600;font-size:19px;line-height:1.1;overflow-wrap:anywhere}.contact-list small{font-family:var(--sans);display:block;text-transform:uppercase;font-size:10px;letter-spacing:1px;color:rgba(44,44,44,.5);margin-bottom:6px}.contact-list i{font-family:var(--sans);font-size:12px;font-weight:400;color:rgba(44,44,44,.55);display:block;line-height:1.5;margin-top:5px}.contact-form{background:#fff;padding:42px;box-shadow:0 8px 25px rgba(44,44,44,.04)}.contact-form h3{font-family:var(--serif);font-size:30px;margin:0 0 22px}.contact-form label{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.95px;color:rgba(44,44,44,.58);margin-bottom:17px}.contact-form input,.contact-form textarea{margin-top:7px;display:block;width:100%;background:var(--cream);border:1px solid var(--sand);color:var(--charcoal);padding:12px 13px;outline:none;font-size:13px;transition:border .2s}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--terracotta)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form .button{width:100%}.form-note,.form-success{text-align:center;font-size:11px;color:rgba(44,44,44,.44);margin:13px 0 0}.form-success{color:var(--terracotta);font-weight:600;min-height:18px}
.site-footer{background:var(--charcoal);color:#fff;padding:58px 0 20px}.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:70px}.footer-brand strong{color:#fff}.footer-brand small{font-size:9px}.site-footer p{color:rgba(255,255,255,.48);font-size:13px;line-height:1.65;max-width:355px;margin:20px 0 0}.site-footer h3{font-family:var(--serif);font-size:18px;margin:0 0 15px}.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.site-footer li,.site-footer a{font-size:12px;color:rgba(255,255,255,.5);overflow-wrap:anywhere}.site-footer a:hover{color:var(--terracotta)}.site-footer li:before{content:"•";color:var(--terracotta);padding-right:8px}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:43px;padding-top:19px;color:rgba(255,255,255,.28);font-size:10px;display:flex;justify-content:space-between}.mobile-call{display:none}.lightbox{border:0;background:rgba(0,0,0,.93);color:#fff;width:100vw;height:100vh;max-width:none;max-height:none;padding:30px;align-items:center;justify-content:center}.lightbox[open]{display:flex}.lightbox::backdrop{background:rgba(0,0,0,.93)}.lightbox figure{margin:0;max-width:92vw;max-height:88vh;text-align:center}.lightbox figure img{max-width:92vw;max-height:82vh;display:block;object-fit:contain}.lightbox figcaption{padding:10px;color:rgba(255,255,255,.75);font-size:13px}.lightbox button{position:fixed;border:0;background:transparent;color:#fff;font-size:55px;line-height:1}.lightbox-close{right:24px;top:17px;font-size:43px!important}.lightbox-prev{left:24px;top:50%}.lightbox-next{right:24px;top:50%}
.reveal,.reveal-left,.reveal-right{opacity:0;transition:opacity .7s ease,transform .7s cubic-bezier(.23,1,.32,1)}.reveal{transform:translateY(28px)}.reveal-left{transform:translateX(-35px)}.reveal-right{transform:translateX(35px)}.reveal.visible,.reveal-left.visible,.reveal-right.visible{opacity:1;transform:none}@keyframes kenburns{to{transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes unspin{to{transform:rotate(-360deg)}}@keyframes bob{50%{transform:translateY(7px)}}
@media(max-width:900px){.nav-links{position:absolute;top:77px;left:0;right:0;background:var(--cream);padding:0 22px;display:grid;gap:0;max-height:0;overflow:hidden;transition:max-height .3s,padding .3s;border-bottom:1px solid transparent}.nav-links.open{padding:12px 22px 20px;max-height:370px;border-color:var(--sand)}.nav-links>a:not(.nav-call){padding:12px 0;border-bottom:1px solid var(--sand)}.nav-call{margin-top:10px;width:max-content}.menu-toggle{display:block}.menu-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero-copy{padding-bottom:110px}.seal{right:22px;top:115px;width:96px;height:96px}.seal-icon{inset:29px}.services-grid{grid-template-columns:repeat(2,1fr)}.about-grid,.contact-grid{grid-template-columns:1fr;gap:65px}.about-photo{max-width:660px}.about-copy{max-width:670px}.gallery-grid{columns:3}.footer-grid{gap:34px}.section{padding:85px 0}.angled{padding:120px 0 110px}}
@media(max-width:600px){.container{width:min(100% - 32px,1360px)}.site-header{height:68px}.nav-links{top:67px}.brand-mark{width:35px;height:35px}.brand strong{font-size:18px}.brand small{font-size:8px}.nav-call{width:100%;justify-content:center}.hero{min-height:650px;height:100svh}.hero h1{font-size:48px;letter-spacing:-1.8px}.hero-lede{font-size:15px}.seal{top:95px;right:16px;width:84px;height:84px}.seal-icon{inset:25px;font-size:21px}.stats-band{padding:38px 0}.stats-grid{grid-template-columns:repeat(2,1fr);row-gap:36px}.stats-grid strong,.stats-grid span{font-size:48px}.stats-grid p{font-size:9px}.section-heading{margin-bottom:34px}.services-grid,.commitment-grid{grid-template-columns:1fr}.service-card>img{height:230px}.angled{clip-path:none;padding:75px 0}.giant-number{font-size:245px;top:62%}.about-photo img{height:390px}.experience-badge{right:-8px;bottom:-16px}.about-copy h2,.contact-copy h2,.section-heading h2{font-size:42px}.quality-list{grid-template-columns:1fr}.commitment-section{padding:75px 0}.gallery-section{padding:75px 0}.gallery-grid{columns:2;column-gap:8px}.gallery-item{margin-bottom:8px}.cta-section{min-height:405px}.cta-copy p{font-size:15px}.cta-copy h2{font-size:43px}.contact-form{padding:27px 21px}.form-row{grid-template-columns:1fr}.contact-grid{gap:48px}.footer-grid{grid-template-columns:1fr;gap:35px}.footer-bottom{display:grid;gap:8px}.mobile-call{display:grid;place-items:center;position:fixed;right:20px;bottom:20px;width:55px;height:55px;background:var(--terracotta);color:#fff;z-index:30;box-shadow:var(--shadow);font-size:26px}.lightbox{padding:15px}.lightbox figure img{max-width:96vw;max-height:76vh}.lightbox-prev{left:7px}.lightbox-next{right:7px}.lightbox-close{right:12px;top:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
