:root{--green:#28675b;--deep:#122e29;--cream:#ffffcc;--white:#fcfcfc;--ink:#26302b;--muted:#56645d;--border:#d5dace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--white);color:var(--ink);font:16px/1.7 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,summary{cursor:pointer}button{font:inherit}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #c2ab5a;outline-offset:5px}.skip{position:fixed;top:-100px;background:white;z-index:100;padding:12px}.skip:focus{top:0}header{position:absolute;z-index:20;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:18px 4.5%;color:var(--cream);border-bottom:1px solid #ffffff36;background:linear-gradient(#10251c88,transparent)}.logo{width:220px;height:88px;object-fit:contain}nav{display:flex;align-items:center;gap:28px;font-size:13px;text-transform:uppercase;letter-spacing:1px;font-weight:bold}nav>a,nav summary{padding:12px 0}nav details{position:relative}nav summary{list-style:none}nav summary:after{content:'⌄';margin-left:7px;font-size:13px}nav details>div{position:absolute;top:100%;left:-20px;min-width:260px;background:var(--deep);padding:16px;border:1px solid #65796d;box-shadow:0 12px 30px #0003}nav details a{display:block;padding:10px;font-size:12px}nav a:hover,nav summary:hover{color:white}nav a[aria-current=page]{border-bottom:2px solid var(--cream)}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;padding:17px 25px;border:1px solid #5d9a8d;background:var(--green);color:white;font-size:15px;font-weight:bold;border-radius:3px;transition:background .2s,transform .2s}.button span{font-size:21px;line-height:1}.button:hover{background:#1c5348;transform:translateY(-2px)}.button.cream{background:var(--cream);border-color:var(--cream);color:var(--deep)}.button.cream:hover{background:#f0f0b2}.header-consult{padding:13px 20px;white-space:nowrap}.hero{position:relative;min-height:740px;height:100svh;max-height:1050px;color:var(--cream);background:var(--deep);isolation:isolate}.slide-img,.shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.shade{z-index:-1;background:linear-gradient(180deg,#08181126 0%,#08181152 45%,#081811b3 100%)}.hero-copy{padding:185px 5% 130px;text-align:center;display:flex;align-items:center;flex-direction:column;justify-content:center;height:100%}.script{font:italic clamp(30px,3.7vw,56px)/1.2 Georgia,serif;margin-bottom:18px}h1{font-size:clamp(60px,7.4vw,112px);line-height:.99;letter-spacing:-4px;font-weight:800;margin-bottom:27px;text-shadow:0 2px 10px #0002}.hero-sub{font-size:17px;letter-spacing:2px;color:white;margin-bottom:30px}.hero-sub span{padding:0 12px;color:#eee9ba}.hero-link{margin-top:20px;font-size:13px;color:white;border-bottom:1px solid #ffffff80;padding-bottom:3px}.hero-foot{position:absolute;left:4.5%;right:4.5%;bottom:28px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff50;padding-top:22px}.hero-foot p{margin:0;font:italic 22px Georgia,serif}.hero-foot strong{font-weight:normal}.slide-controls{display:flex;align-items:center;gap:23px}.slide-controls button{width:43px;height:43px;background:transparent;border:1px solid #ffffff80;border-radius:50%;color:inherit;font-size:21px}.slide-controls button:hover{background:var(--cream);color:var(--deep)}.slide-count{font-size:12px;letter-spacing:2px;font-variant-numeric:tabular-nums}.intro{padding:85px 7%;display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:bold;margin-bottom:18px;color:var(--green)}h2{font-size:clamp(36px,4vw,58px);line-height:1.08;letter-spacing:-1.8px;font-weight:600;margin-bottom:25px}h2 em{font-family:Georgia,serif;font-weight:400;color:var(--green)}.intro p:not(.eyebrow){color:var(--muted)}.text-link{display:inline-flex;justify-content:space-between;gap:30px;padding:7px 0;border-bottom:1px solid var(--green);font-size:14px;font-weight:bold;color:var(--green)}.text-link:hover{gap:40px}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:0 4.5% 75px}.photo-card{min-height:470px;position:relative;overflow:hidden;color:var(--cream);display:flex;align-items:end}.photo-card>img{position:absolute;inset:0;width:100%;height:100%;transition:transform .4s}.photo-card:hover>img{transform:scale(1.035)}.photo-card:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#0b201ee6)}.photo-card>div{position:relative;z-index:1;padding:35px;width:100%}.photo-card .eyebrow{color:white;font-size:10px}.photo-card h2{margin:0;display:flex;justify-content:space-between;align-items:center}.photo-card h2 span{font-size:30px}.menu-toggle,.mobile-actions{display:none}@media(max-width:1050px){header{gap:20px}.logo{width:175px}nav{gap:15px;font-size:11px}.header-consult{font-size:12px;padding:12px}.hero{min-height:690px}}@media(max-width:760px){html{scroll-padding-top:20px}header{padding:8px 6%;height:90px}.logo{width:165px;height:70px}.header-consult{display:none}.menu-toggle{display:block;background:transparent;border:1px solid #ffffcc80;color:var(--cream);width:45px;height:45px;border-radius:3px;font-size:24px}header nav{display:none;position:absolute;top:90px;left:0;right:0;background:var(--deep);padding:20px 6%;max-height:75dvh;overflow-y:auto;font-size:14px}header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:3px}nav details>div{position:static;box-shadow:none;border:0;border-left:1px solid #65796d;margin:5px 0;padding:4px 10px}nav>a{border-bottom:1px solid #ffffff25}.hero{height:calc(100svh - 72px);min-height:650px;max-height:900px}.hero-copy{padding:140px 6% 150px}.script{font-size:31px;line-height:1.2;margin-bottom:18px}h1{font-size:clamp(48px,12vw,80px);line-height:1.02;letter-spacing:-2px;margin-bottom:23px}.hero-sub{font-size:12px;letter-spacing:.7px;margin-bottom:27px;white-space:nowrap}.hero-sub span{padding:0 4px}.hero-copy .button{font-size:14px;gap:35px;padding:15px 23px}.hero-link{margin-top:16px}.hero-foot{left:6%;right:6%;bottom:22px;padding-top:18px}.hero-foot p{font-size:16px;max-width:140px}.slide-controls{gap:12px}.slide-controls button{width:36px;height:36px;font-size:18px}.slide-count{font-size:10px}.intro{padding:50px 6%;grid-template-columns:1fr;gap:10px}.intro h2{font-size:40px}.feature-grid{grid-template-columns:1fr;gap:16px;padding:0 6% 50px}.photo-card{min-height:360px}.photo-card>div{padding:25px}.mobile-actions{position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--deep);border-top:1px solid #4c675c;display:flex;align-items:center;gap:25px;padding:10px 6% calc(10px + env(safe-area-inset-bottom));color:var(--cream);font-size:14px}.mobile-actions .button{flex:1;padding:13px 10px;font-size:13px;background:var(--cream);color:var(--deep);border-color:var(--cream);gap:10px}body{padding-bottom:75px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.section{padding:75px 7%}.section-heading{max-width:850px;margin-bottom:35px}.section-heading h2{margin-bottom:10px}.inner-hero{height:600px;min-height:570px;max-height:none}.inner-hero .hero-copy{padding-top:160px}.inner-hero h1{font-size:clamp(46px,5.7vw,80px);max-width:1050px;line-height:1.07;letter-spacing:-2px}.inner-hero .eyebrow{color:var(--cream)}.inner-hero .hero-foot p{font:14px Arial,sans-serif;max-width:70%}.photo-card p:not(.eyebrow){font-size:14px;line-height:1.65;margin:20px 0 0;color:white;max-width:530px}.review{background:var(--deep);color:var(--cream);text-align:center;padding:65px 12%}.review .eyebrow{color:#b9c9bb}.review blockquote{font:italic clamp(22px,2.5vw,34px)/1.5 Georgia,serif;max-width:1000px;margin:25px auto}.review>p:last-child{color:#d8e3d9;font-size:14px}.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:0;margin:40px 0}.steps li{border-top:1px solid var(--border);padding:25px 0}.steps li>span{font:italic 38px Georgia,serif;color:var(--green)}h3{font-size:23px;font-weight:600;line-height:1.3}.steps h3{margin:18px 0 14px}.steps p,.service-card p{font-size:15px;color:var(--muted)}.service-home,.details-section,.team-section{background:#f1f2e7}.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.service-card{border:1px solid var(--border);background:var(--white);transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px #21362a12}.service-card>img{height:245px}.service-card>div{padding:25px}.service-card h3{font-size:23px;margin:14px 0}.service-card h3 span{font-size:18px}.portfolio-slide{position:relative;min-height:650px;isolation:isolate;background:var(--deep);color:var(--cream)}.portfolio-slide .shade{background:linear-gradient(transparent 55%,#061a18c9)}.gallery-link{padding:28px;text-align:center}.cta-band{background:var(--green);color:var(--cream);padding:60px 7%;display:grid;grid-template-columns:1.5fr 1fr;gap:50px;align-items:center}.cta-band .eyebrow{color:#e2eadb}.cta-band h2{font-size:47px}.cta-band p:last-child{max-width:610px;margin-bottom:0;color:#f3f4e6}.cta-band>div:last-child{display:flex;flex-direction:column;align-items:center;gap:20px}.call-link{font-size:22px}footer{padding:55px 5% 20px;background:var(--deep);color:#d9e2d7;display:grid;grid-template-columns:1.2fr .7fr 1fr;gap:50px;font-size:13px}footer .logo{height:auto;width:230px;margin-bottom:20px}footer h3{color:var(--cream);font-size:19px;margin-bottom:20px}footer>div>a{display:block;margin-bottom:10px;overflow-wrap:anywhere}footer .text-link{border:0;color:inherit;padding:0;font-size:13px}footer p{max-width:340px}.social{display:flex;gap:20px}.footer-bottom{grid-column:1/-1;border-top:1px solid #ffffff28;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:12px}.options-layout{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}.options-layout>img{height:530px;position:sticky;top:30px}.option-accordions details,.approach details,.team-card details{border-bottom:1px solid #c6cfc1;padding:22px 0}.option-accordions summary,.approach summary,.team-card summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:23px;line-height:1.35;font-weight:600}.option-accordions summary:after,.approach summary:after,.team-card summary:after{content:'+';font-size:25px;font-weight:400}.option-accordions details[open]>summary:after,.approach details[open]>summary:after,.team-card details[open]>summary:after{content:'−'}.option-accordions details>div,.approach details>div{padding-top:25px;color:var(--muted)}.option-accordions p{font-size:15px}.team-intro{max-width:900px;color:var(--muted);margin-bottom:40px}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;align-items:start}.team-card>img{aspect-ratio:4/5;object-position:top}.team-card h3{margin:22px 0 7px}.team-card .eyebrow{min-height:38px;font-size:11px}.team-card summary{font-size:14px;font-weight:400}.team-card details{padding:15px 0}.team-card details p{font-size:14px;margin-top:18px;color:var(--muted)}.craftsmen{display:grid;grid-template-columns:1fr 1fr;gap:25px}.craftsmen img{height:450px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;background:var(--deep);color:var(--cream);padding:45px 7%}.stats strong{font:46px Georgia,serif;display:block}.stats span{display:block;font-size:13px;color:#d9e2d7}.approach{max-width:1100px;margin:auto}.approach summary{justify-content:initial}.approach summary:after{margin-left:auto}.approach summary>span{font:italic 28px Georgia,serif;color:var(--green);width:45px;flex-shrink:0}.approach details>div{padding-left:70px}.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 35px;margin-top:45px}.area-grid a{padding:18px 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between}.area-grid a:hover{color:var(--green);background:#f5f6ec}.portfolio-grid{columns:3;column-gap:22px}.gallery-item{padding:0;border:0;display:block;width:100%;margin-bottom:22px;position:relative;break-inside:avoid;overflow:hidden;background:var(--deep);color:var(--cream)}.gallery-item img{transition:transform .3s}.gallery-item:hover img{transform:scale(1.035)}.gallery-item span{position:absolute;bottom:0;left:0;right:0;padding:25px 20px 15px;background:linear-gradient(transparent,#0a292dcc);text-align:left;font-size:14px}.coming{padding-block:100px;text-align:center}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px}.big-phone{display:block;font-size:30px;color:var(--green);margin:25px 0 12px}.email{display:block;margin-bottom:25px;overflow-wrap:anywhere}.form-note{font-size:13px;line-height:1.6;color:var(--muted)}form{padding:35px;background:#f1f2e7;border:1px solid var(--border)}form h2{font-size:36px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:14px;margin-bottom:18px}input:not([type=checkbox]),textarea,select{display:block;width:100%;font:16px Arial,sans-serif;padding:14px 12px;border:1px solid #b9c5b7;background:var(--white);color:var(--ink);border-radius:2px;margin-top:8px}input:focus,textarea:focus,select:focus{outline:2px solid var(--green);outline-offset:2px}fieldset{padding:15px 0;border:0;margin:0}legend{font-size:14px}.check{display:flex;align-items:center;gap:10px;margin-bottom:10px}.check input{width:18px;height:18px;accent-color:var(--green)}#form-result{margin-top:25px;padding:25px;background:var(--cream)}[hidden]{display:none!important}dialog{border:0;padding:0;max-width:1050px;width:calc(100% - 32px);max-height:92dvh;background:var(--deep);color:var(--cream)}dialog::backdrop{background:#061b19e6}dialog img{height:70dvh;object-fit:contain}.dialog-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px}.dialog-controls button{background:none;border:1px solid #afc5b6;color:var(--cream);padding:8px 16px;font-size:18px}.lightbox-close{position:absolute;top:12px;right:12px;width:44px;height:44px;background:var(--cream);color:var(--deep);font-size:25px;border:0;border-radius:50%}.editor-wrap{padding:160px 7% 70px;max-width:1250px;margin:auto}.editor-page header{background:var(--deep)}.editor-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:25px 0}.editor-toolbar select{width:280px;margin:0}.editor-row{display:grid;grid-template-columns:150px 1fr auto;gap:20px;align-items:center;border:1px solid var(--border);padding:20px;margin-bottom:15px;background:#f1f2e7}.editor-row>img{width:150px;height:115px}.editor-row label{margin-bottom:10px}.editor-row input{font-size:14px}.editor-actions{display:flex;flex-direction:column;gap:10px}.editor-actions button,.secondary-button{padding:9px 14px;border:1px solid var(--green);background:transparent;color:var(--green);font-size:14px}.editor-notice{padding:18px 22px;background:#f1f2e7;border-left:3px solid var(--green);font-size:14px}.editor-add{padding:25px;background:#f1f2e7;border:1px solid var(--border)}.editor-add .form-grid{grid-template-columns:2fr 1fr}.editor-status{min-height:30px;margin:15px 0;color:var(--green)}@media(max-width:1050px){.service-cards{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}.contact-layout{gap:30px}footer{gap:30px}}@media(max-width:760px){.section{padding:50px 6%}.inner-hero{height:560px;min-height:540px}.inner-hero .hero-copy{padding:130px 6% 115px}.inner-hero h1{font-size:44px;letter-spacing:-1.4px;line-height:1.1}.inner-hero .hero-foot p{font-size:11px;max-width:47%}.review{padding:45px 7%}.review blockquote{font-size:23px}.steps{gap:20px;grid-template-columns:1fr;margin:25px 0}.steps li{display:flex;gap:22px;padding:20px 0 0}.steps li>span{font-size:30px}.steps h3{margin-top:3px}.service-cards{grid-template-columns:1fr;gap:22px}.service-card>img{height:250px}.service-card>div{padding:24px}.portfolio-slide{min-height:430px}.cta-band{padding:45px 6%;grid-template-columns:1fr;gap:30px}.cta-band h2{font-size:39px}.cta-band>div:last-child{align-items:start}.options-layout{grid-template-columns:1fr;gap:22px}.options-layout>img{position:static;height:290px}.option-accordions summary{font-size:22px}.team-grid{gap:30px;grid-template-columns:1fr}.team-card>img{aspect-ratio:1;max-height:460px}.team-card .eyebrow{min-height:0}.craftsmen{grid-template-columns:1fr}.craftsmen img{height:300px}.stats{grid-template-columns:1fr 1fr;gap:28px;padding:35px 6%}.stats strong{font-size:36px}.approach summary{font-size:20px;gap:15px}.approach summary>span{width:30px}.approach details>div{padding-left:0}.area-grid{grid-template-columns:1fr 1fr;gap:0 20px}.area-grid a{font-size:14px}.portfolio-grid{columns:1}.contact-layout{grid-template-columns:1fr;gap:35px}.form-grid{grid-template-columns:1fr;gap:0}form{padding:24px}footer{grid-template-columns:1fr;padding:40px 6% 20px;gap:30px}.footer-bottom{flex-direction:column;gap:10px}dialog img{height:60dvh}.editor-wrap{padding:120px 6% 40px}.editor-row{grid-template-columns:1fr;gap:15px}.editor-row>img{width:100%;height:220px}.editor-actions{flex-direction:row}.editor-add .form-grid{grid-template-columns:1fr}.editor-toolbar select{width:100%}}
/* Refined page rhythm: photography, a separate action row, then editorial sections. */
.refined-page .hero-copy{padding-bottom:100px}.hero-actions{display:flex;justify-content:center;align-items:center;gap:36px;padding:24px 6%;border-bottom:1px solid var(--border);background:var(--white)}.hero-actions .hero-link{color:var(--green);border-bottom:1px solid var(--green);margin:0;font-size:14px}.hero-actions .button{padding:12px 22px;font-size:14px;min-height:44px;gap:0}.hero-actions .text-link{font-size:14px}.hero-foot{justify-content:flex-end;border-top:0}.slide-controls{gap:16px}.slide-controls button{width:auto;min-width:65px;height:34px;border-radius:2px;font-size:11px;padding:5px 10px;letter-spacing:.2px}.slide-controls button:disabled{opacity:.4;cursor:default}.inner-hero{height:620px;min-height:570px}.inner-hero .hero-copy{max-width:1150px;margin:auto;padding-top:180px}.inner-hero h1{font-size:clamp(52px,6.7vw,88px);max-width:960px;line-height:1.04;letter-spacing:-2.6px;margin-bottom:0}.inner-hero .hero-copy .eyebrow{font:italic 26px/1.35 Georgia,serif;text-transform:none;letter-spacing:0;margin-bottom:25px;color:var(--cream)}.inner-hero .shade{background:linear-gradient(180deg,#091b194d,#0a221859 55%,#0a22189c)}.inside-page .intro{padding:90px 8%;gap:8%;align-items:start}.inside-page .intro>div:first-child{position:sticky;top:40px}.inside-page .intro h2{font-size:clamp(36px,4.4vw,58px)}.inside-page .intro>div:last-child p{font-size:16px;line-height:1.9;margin-bottom:22px}.service-chapters{padding:0 6% 90px}.chapter{display:grid;grid-template-columns:1.08fr 1fr;gap:8%;align-items:center;padding:55px 0;border-top:1px solid var(--border)}.chapter:nth-child(even) .chapter-photo{order:2}.chapter:nth-child(even) .chapter-copy{order:1;padding-left:4%}.chapter-photo{display:block;min-width:0;overflow:hidden}.chapter-photo>img{height:490px;width:100%;transition:transform .3s}.chapter-photo:hover>img{transform:scale(1.025)}.chapter-copy{padding:25px 5% 25px 0;max-width:630px}.chapter-copy .eyebrow{font-size:11px;letter-spacing:1.8px}.chapter-copy h2{font-size:clamp(36px,4vw,54px);margin-bottom:24px;font-weight:500}.chapter-copy>p{font-size:16px;line-height:1.9;color:var(--muted);margin-bottom:22px}.chapter-copy .text-link{margin-top:20px}.read-more{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-top:25px}.read-more summary{list-style:none;font-size:14px;font-weight:bold;display:flex;justify-content:space-between;align-items:center;padding:16px 0;color:var(--green)}.read-more summary:after{content:'+';font-size:22px;font-weight:400}.read-more[open] summary:after{content:'−'}.read-more p{font-size:15px;line-height:1.85;color:var(--muted);margin-bottom:20px}.overview-section{padding:25px 0 0}.overview-chapters{margin:0}.overview-chapters .chapter{border-top:0;border-bottom:1px solid var(--border);padding:65px 0}.overview-chapters .chapter-copy{background:transparent}.inside-page .portfolio-slide{min-height:570px;margin:0 6% 70px}.inside-page .portfolio-slide .hero-foot{bottom:20px}.inside-page .review{padding:60px 12%;background:var(--deep)}.inside-page .review blockquote{font-size:clamp(23px,2.6vw,35px)}.team-editorial{background:var(--white);padding-top:30px}.team-editorial>h2{border-top:1px solid var(--border);padding-top:65px}.team-editorial .team-grid{grid-template-columns:1fr 1fr;gap:60px 45px}.team-editorial .team-card{display:grid;grid-template-columns:1fr;align-content:start}.team-editorial .team-card>img{height:440px;aspect-ratio:auto;object-position:top}.team-editorial .profile-copy{padding:10px 5% 0}.team-editorial .team-card h3{font-size:30px;font-weight:500;margin-top:25px}.team-editorial .team-card .eyebrow{min-height:0}.team-editorial .team-card details p{font-size:16px;line-height:1.85}.team-intro{max-width:850px;font-size:16px;line-height:1.85}.inside-page .craftsmen{gap:35px}.inside-page .craftsmen img{height:440px}.stats{background:#f0f2e8;color:var(--green);padding:45px 8%;gap:35px}.stats span{color:var(--muted);font-size:14px;max-width:230px}.stats strong{margin-bottom:8px}.journey{max-width:1200px;padding-block:75px}.journey>h2{margin-bottom:40px}.journey details{padding:27px 0}.journey summary{font-weight:500;font-size:27px}.journey summary>span{font-size:35px;width:60px}.journey details>div{padding-left:85px;font-size:16px;line-height:1.85;max-width:900px}.areas-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;margin-top:45px}.areas-photo{height:680px;position:sticky;top:30px}.areas-layout .area-grid{margin:0;grid-template-columns:1fr 1fr;gap:0 30px}.areas-layout .area-grid a{padding:16px 0;font-size:15px}.inside-page .portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;columns:unset}.inside-page .gallery-item{margin:0;background:transparent}.inside-page .gallery-item img{width:100%;height:390px}.inside-page .gallery-item:nth-child(5n+1){grid-column:1/-1}.inside-page .gallery-item:nth-child(5n+1) img{height:580px}.gallery-item>span{display:none}.stories-intro{text-align:center;padding:65px 6%;max-width:900px;margin:auto}.stories-intro h2{font:italic 50px Georgia,serif;color:var(--green)}.stories-intro>p:last-child{font-size:18px}.contact-hero{height:460px;min-height:460px}.contact-hero .hero-copy{padding-top:170px}.contact-layout{padding-top:75px;gap:8%}.contact-layout form{border:0;background:#f1f2e7;padding:40px}.contact-layout>div:first-child{position:sticky;top:30px;align-self:start}.cta-band{padding:55px 8%;grid-template-columns:1.5fr 1fr;gap:50px}.cta-band h2{font-size:42px}.cta-band .button{min-height:44px;padding:12px 23px;font-size:14px}.text-link:hover{gap:30px}.button:hover{transform:none}.inside-page .button{gap:0}.service-card h3>span:empty{display:none}
@media(max-width:760px){
 header{height:80px;padding:7px 5%}.logo{width:155px;height:64px}header nav{top:80px}.menu-toggle{width:40px;height:40px;font-size:22px}.home-page .hero{height:550px;min-height:550px;max-height:650px}.home-page .hero-copy{padding:130px 6% 105px}.home-page .script{font-size:29px}.home-page h1{font-size:clamp(47px,12vw,72px);margin-bottom:23px}.home-page .hero-sub{font-size:11px;letter-spacing:.6px;margin-bottom:0}.hero-actions{gap:20px;padding:16px 6%;justify-content:space-between;flex-wrap:wrap}.hero-actions .button{padding:10px 16px;min-height:42px;font-size:13px;line-height:1.4;border-radius:2px;flex:0 1 auto}.hero-actions .hero-link,.hero-actions .text-link{font-size:12px;margin:0;line-height:1.5}.hero-foot{bottom:16px;padding-top:0;left:6%;right:6%}.slide-controls{gap:10px}.slide-controls button{min-width:55px;height:32px;font-size:10px;padding:5px 8px}.slide-count{letter-spacing:1px}.inner-hero{height:460px;min-height:460px}.inner-hero .hero-copy{padding:120px 7% 85px}.inner-hero .hero-copy .eyebrow{font-size:21px;margin-bottom:18px}.inner-hero h1{font-size:clamp(36px,10vw,52px);letter-spacing:-1.3px;line-height:1.08}.inside-page .intro{padding:48px 6%;gap:12px;grid-template-columns:1fr}.inside-page .intro>div:first-child{position:static}.inside-page .intro h2{font-size:36px;margin-bottom:22px}.inside-page .intro>div:last-child p{font-size:15px;line-height:1.8;margin-bottom:18px}.service-chapters{padding:0 6% 45px}.chapter{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:32px 0}.chapter:nth-child(even) .chapter-photo,.chapter:nth-child(even) .chapter-copy{order:initial}.chapter:nth-child(even) .chapter-copy{padding:25px 0 0}.chapter-photo>img{height:300px;aspect-ratio:1.15}.chapter-copy{padding:25px 0 0;max-width:none}.chapter-copy h2{font-size:36px;margin-bottom:18px}.chapter-copy>p{font-size:15px;line-height:1.8}.chapter-copy .eyebrow{font-size:10px;margin-bottom:14px}.chapter-copy .text-link{font-size:13px;margin-top:15px}.overview-chapters .chapter{padding:30px 0}.overview-section{padding-top:10px}.inside-page .portfolio-slide{min-height:350px;margin:0 6% 40px}.inside-page .review{padding:40px 7%}.inside-page .review blockquote{font-size:23px;line-height:1.5}.team-editorial .team-grid{grid-template-columns:1fr;gap:40px}.team-editorial>h2{padding-top:35px}.team-editorial .team-card>img{height:380px}.team-editorial .profile-copy{padding:0}.team-editorial .team-card h3{font-size:28px}.team-editorial .team-card details p{font-size:15px}.inside-page .craftsmen img{height:300px}.stats{padding:30px 6%;gap:25px}.stats strong{font-size:32px}.stats span{font-size:12px}.journey{padding-block:45px}.journey>h2{font-size:36px}.journey details{padding:22px 0}.journey summary{font-size:21px;gap:18px}.journey summary>span{font-size:27px;width:32px}.journey details>div{padding-left:0;font-size:15px}.areas-layout{grid-template-columns:1fr;gap:25px;margin-top:30px}.areas-photo{position:static;height:290px}.areas-layout .area-grid{gap:0 22px}.areas-layout .area-grid a{font-size:14px}.inside-page .portfolio-grid{gap:18px;grid-template-columns:1fr}.inside-page .gallery-item img,.inside-page .gallery-item:nth-child(5n+1) img{height:auto;max-height:480px;aspect-ratio:1.15}.inside-page .gallery-item:nth-child(5n+1){grid-column:auto}.contact-hero{min-height:360px;height:360px}.contact-hero .hero-copy{padding-top:125px}.contact-layout{padding-top:45px;gap:32px}.contact-layout>div:first-child{position:static}.contact-layout form{padding:24px}.cta-band{padding:40px 6%;grid-template-columns:1fr;gap:25px}.cta-band h2{font-size:35px}.cta-band .button{font-size:13px;padding:10px 18px}.mobile-actions{padding:8px 6% calc(8px + env(safe-area-inset-bottom));gap:25px;justify-content:space-between;font-size:12px}.mobile-actions .button{flex:0 0 auto;padding:10px 15px;font-size:12px;min-height:40px;line-height:1.4}.home-page .photo-card{display:flex;flex-direction:column;min-height:0;background:var(--white);color:var(--ink)}.home-page .photo-card>img{position:static;height:300px}.home-page .photo-card:after{display:none}.home-page .photo-card>div{padding:24px 0 30px}.home-page .photo-card .eyebrow{color:var(--green);font-size:10px}.home-page .photo-card h2{font-size:36px}.home-page .photo-card p:not(.eyebrow){color:var(--muted);font-size:15px}.home-page .feature-grid{gap:0}.home-page .service-card h3{font-size:24px}.home-page .service-card>div{padding:20px}.home-page .intro{padding:45px 6%}.home-page .intro h2{font-size:37px}.home-page .portfolio-slide{min-height:360px}body{padding-bottom:65px}
}
.hero-foot .heritage{margin-right:auto;font:italic 21px Georgia,serif}.dialog-controls button{font-size:13px;min-height:40px}.home-page .hero-foot .heritage{color:var(--cream)}@media(max-width:760px){.hero-foot .heritage{font-size:13px;max-width:105px;line-height:1.4}.slide-controls{gap:8px}.slide-controls button{min-width:51px}.slide-count{font-size:10px}}
/* Homepage services: a single swipeable row, with the next card in view. */
.service-home .service-strip{display:flex;flex-wrap:nowrap;gap:24px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:2px;padding:6px 2px 20px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--green) #dce2d5}.service-home .service-strip>.service-card{flex:0 0 calc((100% - 64px)/3.2);min-width:0;scroll-snap-align:start;scroll-snap-stop:normal}.service-strip:focus-visible{outline:2px solid var(--green);outline-offset:6px}.service-strip-help{font-size:14px;color:var(--muted);margin:20px 0 0}.service-home .service-strip::-webkit-scrollbar{height:6px}.service-home .service-strip::-webkit-scrollbar-track{background:#dce2d5}.service-home .service-strip::-webkit-scrollbar-thumb{background:var(--green);border-radius:8px}@media(max-width:1050px){.service-home .service-strip>.service-card{flex-basis:43%}}@media(max-width:760px){.service-home .service-strip{gap:16px;padding-bottom:16px}.service-home .service-strip>.service-card{flex-basis:86%}.service-strip-help{font-size:13px;margin-top:16px}.service-home .service-strip>.service-card>img{height:230px}}
/* Readable heading shadows; body copy and controls retain clean type. */
h1,h2,h3,h4,h5,h6{ text-shadow:0 2px 3px rgb(0 0 0 / 12%); }
.hero h1,.hero .script,.hero-copy>.eyebrow,.photo-card h2,.cta-band h2{ text-shadow:0 2px 8px rgb(0 0 0 / 55%); }
.home-page .hero .hero-photo-consult{position:absolute;left:50%;bottom:82px;transform:translateX(-50%);background:transparent;color:var(--cream);border:1px solid var(--cream);padding:12px 23px;min-height:44px;font-size:14px;line-height:1.4;white-space:nowrap;text-shadow:none;box-shadow:none;backdrop-filter:none;z-index:2}
.home-page .hero .hero-photo-consult:hover{background:rgb(18 46 41 / 18%);transform:translateX(-50%)}
.home-page .hero-actions{justify-content:center;padding:15px 6%}
@media(max-width:760px){.home-page .hero .hero-photo-consult{bottom:78px;padding:11px 19px;font-size:13px;min-height:42px}.home-page .photo-card h2{text-shadow:0 2px 3px rgb(0 0 0 / 12%)}}
/* Persistent branded navigation across every page. */
header{position:fixed;top:0;left:0;right:0;width:100%;min-height:112px;padding:10px 4.5%;background:rgb(18 46 41 / 96%);border-bottom:1px solid rgb(255 255 204 / 22%);box-shadow:0 3px 14px rgb(0 0 0 / 12%);z-index:50;gap:25px}
header .logo{width:280px;height:92px;object-fit:contain;flex-shrink:0}
header>a:first-child{flex-shrink:0}
header nav{gap:24px}
header .header-consult{padding:13px 20px;font-size:14px}
html{scroll-padding-top:135px}
#consult-form{scroll-margin-top:135px}
@media(min-width:761px) and (max-width:1150px){header{padding-inline:3%;gap:16px;min-height:100px}header .logo{width:220px;height:80px}header nav{gap:14px;font-size:11px;letter-spacing:.5px}header .header-consult{padding:11px 13px;font-size:12px}}
@media(max-width:760px){header{min-height:88px;height:88px;padding:8px 6%;gap:16px}header .logo{width:210px;height:72px;max-width:calc(100vw - 100px)}header .menu-toggle{width:42px;height:42px;flex-shrink:0}header nav{top:88px;max-height:calc(100dvh - 155px);background:var(--deep)}header .header-consult{display:none}html{scroll-padding-top:105px}#consult-form{scroll-margin-top:105px}.editor-wrap{padding-top:125px}.mobile-actions{z-index:55}}
@media(min-width:761px) and (max-width:900px){header{height:100px}header .menu-toggle{display:block;background:transparent;border:1px solid #ffffcc80;color:var(--cream);width:42px;height:42px;border-radius:3px;font-size:24px}header nav{display:none;position:absolute;top:100px;left:0;right:0;background:var(--deep);padding:20px 6%;max-height:calc(100dvh - 120px);overflow-y:auto;font-size:14px}header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:3px}header nav details>div{position:static;box-shadow:none;border:0;border-left:1px solid #65796d;margin:5px 0;padding:4px 10px}header .header-consult{margin-left:auto}}
/* Fade the persistent header into the photography as the page scrolls. */
header{padding-inline:2%;gap:20px;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease}
header>a:first-child{flex:0 1 360px;min-width:240px}
header .logo{width:100%;height:100px;object-fit:contain;object-position:left center}
header nav{margin-left:0}
header nav>a,header nav summary,header .header-consult,header .menu-toggle{text-shadow:0 1px 3px rgb(0 0 0 / 85%),0 2px 8px rgb(0 0 0 / 65%)}
header .header-consult{text-shadow:0 1px 2px rgb(0 0 0 / 20%)}
header.is-scrolled{background:transparent;border-bottom-color:transparent;box-shadow:none}
header.is-scrolled .header-consult{background:transparent;color:var(--cream);border-color:var(--cream);text-shadow:0 1px 3px rgb(0 0 0 / 90%),0 2px 8px rgb(0 0 0 / 75%)}
header.is-scrolled .header-consult:hover{background:rgb(18 46 41 / 25%)}
header .logo{filter:drop-shadow(0 1px 2px rgb(0 0 0 / 60%))}
@media(min-width:901px) and (max-width:1150px){header{padding-inline:2%;gap:16px}header>a:first-child{flex-basis:270px;min-width:220px}header .logo{height:85px}}
@media(min-width:761px) and (max-width:900px){header>a:first-child{flex-basis:300px;min-width:220px}header .logo{height:85px}}
@media(max-width:760px){header{padding-inline:3%;gap:14px}header>a:first-child{flex:1 1 auto;min-width:0;max-width:280px}header .logo{width:100%;height:76px;max-width:none}header .menu-toggle{margin-left:auto}header nav.open{background:var(--deep)}header.is-scrolled nav.open{background:var(--deep)}}
@media(prefers-reduced-motion:reduce){header{transition:none}}
@media(min-width:1151px){header{justify-content:flex-start}header>a:first-child{flex:0 0 clamp(300px,26vw,390px)}header .logo{height:auto;max-height:155px}header .header-consult{margin-left:auto}}
@media(min-width:1151px){html{scroll-padding-top:185px}#consult-form{scroll-margin-top:185px}}
@media(min-width:1151px){header>a:first-child{flex-basis:clamp(270px,23.4vw,351px)}header .logo{max-height:140px}}
/* Charcoal surfaces with the original forest-green and pale-yellow branding. */
:root{--white:#1c2220;--ink:#f0f2ed;--muted:#bbc5be;--border:#3c4942;--surface:#252e29;--accent:#a6d2bd;color-scheme:dark}
body{background:var(--white);color:var(--ink)}
.service-home,.details-section,.team-section,.stats,form,.contact-layout form,.editor-row,.editor-notice,.editor-add{background:var(--surface)}
.service-card{background:#1b2420;border-color:#405147;box-shadow:0 8px 24px #0002}
.service-card:hover{box-shadow:0 12px 30px #0005}
h2 em,.eyebrow,.text-link,.hero-actions .hero-link,.steps li>span,.approach summary>span,.read-more summary,.stats,.big-phone,.stories-intro h2,.editor-actions button,.secondary-button,.editor-status{color:var(--accent)}
.text-link,.hero-actions .hero-link,.editor-actions button,.secondary-button{border-color:#7baa94}
.option-accordions details,.approach details,.team-card details{border-color:var(--border)}
.area-grid a:hover{background:#303f36;color:var(--cream)}
input:not([type=checkbox]),textarea,select{background:#19211d;color:var(--ink);border-color:#617569}
input::placeholder,textarea::placeholder{color:#9eafa4}
input:focus,textarea:focus,select:focus{outline-color:var(--accent)}
#form-result{background:#344337;color:var(--ink)}
.skip{background:var(--deep);color:var(--cream)}
.service-home .service-strip{scrollbar-color:#7baa94 #303c34}
.service-home .service-strip::-webkit-scrollbar-track{background:#303c34}
.service-home .service-strip::-webkit-scrollbar-thumb{background:#7baa94}
@media(max-width:760px){.home-page .photo-card .eyebrow{color:var(--accent)}}
/* Living-Scape steps respond as visitors read, hover, or focus them. */
.home-page .steps{gap:18px}
.home-page .steps li{padding:26px 22px;border:1px solid #46594d;border-radius:12px;background:#222d26;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease,transform .3s ease;outline-offset:5px}
.home-page .steps li>span{color:#a6d2bd;transition:color .3s ease}
.home-page .steps li h3,.home-page .steps li p{transition:color .3s ease}
.home-page .steps li.is-active{background:#315e48;border-color:#b3d29b;box-shadow:0 12px 32px #0005,0 0 0 1px #b3d29b40;transform:translateY(-6px)}
.home-page .steps li:nth-child(2).is-active{background:#35685b}
.home-page .steps li:nth-child(3).is-active{background:#515a34}
.home-page .steps li:nth-child(4).is-active{background:#59603d}
.home-page .steps li.is-active>span,.home-page .steps li.is-active h3{color:#ffffcc}
.home-page .steps li.is-active p{color:#f3f5ec}
.home-page .steps li:focus-visible{outline:3px solid #ffffcc}
@media(max-width:760px){.home-page .steps{gap:16px}.home-page .steps li{padding:23px 20px;gap:18px}.home-page .steps li.is-active{transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.home-page .steps li.is-active{transform:none}}
/* Shared slideshow controls: edge arrows and bottom dots. */
.carousel-controls{position:absolute;inset:0;pointer-events:none;z-index:3;color:#ffffcc}
.carousel-controls button{pointer-events:auto;color:inherit;cursor:pointer}
.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:64px;display:grid;place-items:center;border:1px solid #ffffcc70;border-radius:5px;background:#122e2966;font:48px/1 Georgia,serif;backdrop-filter:blur(3px)}
.carousel-prev{left:20px}.carousel-next{right:20px}
.carousel-arrow:hover{background:#122e29d9;border-color:#ffffcc}
.carousel-dots{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;justify-content:center;flex-wrap:wrap;max-width:65%;gap:0;padding:3px 8px;border-radius:30px;background:#122e2980;pointer-events:auto}
.carousel-dot{width:24px;height:24px;padding:0;border:0;background:transparent;display:grid;place-items:center}
.carousel-dot:before{content:'';display:block;width:7px;height:7px;border:1px solid #ffffcc;border-radius:50%;background:transparent;transition:background .2s,transform .2s}
.carousel-dot.active:before{background:#ffffcc;transform:scale(1.3)}
.carousel-pause{position:absolute;bottom:20px;right:20px;width:36px;height:36px;border:1px solid #ffffcc70;border-radius:50%;background:#122e2980;font-size:15px}
.carousel-lightbox{overflow:visible}.carousel-lightbox .lightbox-close{z-index:5}.carousel-lightbox img{height:80dvh}
.slideshow .hero-foot{pointer-events:none;padding-bottom:55px}
@media(max-width:760px){.carousel-arrow{width:34px;height:48px;font-size:36px}.carousel-prev{left:10px}.carousel-next{right:10px}.carousel-dots{bottom:16px;max-width:70%;padding:2px 5px}.carousel-dot{width:20px;height:22px}.carousel-pause{right:10px;bottom:14px;width:32px;height:32px}.slideshow .hero-foot{padding-bottom:50px}.slideshow .hero-foot .heritage{max-width:none;font-size:12px}.home-page .hero .hero-photo-consult{bottom:78px}}
.home-page .steps li>.step-icon{display:grid;place-items:center;width:60px;height:60px;flex:0 0 60px;border:1px solid #719480;border-radius:14px;background:#17271e;color:#b8d8bd;margin-bottom:22px;transition:background .3s,border-color .3s,color .3s}
.home-page .step-icon svg{width:32px;height:32px}
.home-page .steps li.is-active>.step-icon{background:#ffffcc;color:#234d3b;border-color:#ffffcc}
@media(max-width:760px){.home-page .steps li>.step-icon{width:48px;height:48px;flex-basis:48px;margin-bottom:0;border-radius:11px}.home-page .step-icon svg{width:27px;height:27px}}
/* Gentle image-to-image dissolve; controls stay fixed above both photos. */
.carousel-outgoing{position:absolute!important;inset:0;width:100%;height:100%;pointer-events:none;opacity:1;transition:opacity .8s ease!important}
.carousel-lightbox .carousel-outgoing{height:80dvh;object-fit:contain;z-index:1}
.slideshow .hero-foot{padding-bottom:0}
.home-page .review-carousel{padding:35px 8%;display:grid;grid-template-columns:220px minmax(0,1fr) 90px;gap:35px;align-items:center;text-align:left}
.review-carousel>.eyebrow{margin:0;line-height:1.6}.review-slides{min-height:145px;display:grid;align-items:center}
.home-page .review-carousel blockquote{font:italic 22px/1.5 Georgia,serif;margin:0 0 14px;max-width:800px}.review-slide{margin:0;animation:review-in .5s ease}.review-slide figcaption{font-size:14px;font-weight:bold}.review-slide figcaption span{color:#c1cec6;font-weight:normal;margin-left:12px}.review-nav{display:flex;gap:10px}.review-nav button{width:38px;height:42px;color:#ffffcc;border:1px solid #759282;border-radius:4px;background:transparent;font:30px/1 Georgia,serif}
@keyframes review-in{from{opacity:0}to{opacity:1}}
.project-showcase{padding-block:85px;background:#1c2220}.project-showcase-heading{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:45px}.project-showcase-heading h2{max-width:650px;margin:0}.project-showcase-heading .text-link{white-space:nowrap}.project-composition{display:grid;grid-template-columns:1.2fr 1fr;gap:45px 38px;align-items:start}.featured-project:first-child{grid-row:span 2}.project-photo{display:block;position:relative;overflow:hidden;border-radius:6px}.project-photo img{height:300px;transition:transform .5s;object-fit:cover}.featured-project:first-child .project-photo img{height:740px}.project-photo:hover img{transform:scale(1.025)}.project-photo>span{position:absolute;left:20px;top:20px;background:#122e29c9;border:1px solid #a6d2bd66;color:#ffffcc;padding:6px 12px;font-size:12px;letter-spacing:1.5px}.featured-project>.eyebrow{margin:20px 0 8px}.featured-project h3{font-size:28px;margin:0 0 10px;color:#ffffcc}.featured-project>p:last-child{font-size:14px;color:var(--muted);margin:0}.projects-end{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:45px;padding-top:25px;border-top:1px solid var(--border)}.projects-end p{margin:0;color:var(--muted);font-size:14px}
@media(max-width:760px){.home-page .review-carousel{padding:30px 6%;display:block}.review-carousel>.eyebrow{margin-bottom:16px}.home-page .review-carousel blockquote{font-size:20px}.review-slides{min-height:195px}.review-nav{margin-top:14px}.review-slide figcaption span{display:block;margin:4px 0 0}.project-showcase{padding:50px 6%}.project-showcase-heading{display:block;margin-bottom:28px}.project-showcase-heading h2{font-size:37px}.project-showcase-heading .text-link{margin-top:20px}.project-composition{grid-template-columns:1fr;gap:35px}.featured-project:first-child{grid-row:auto}.project-photo img,.featured-project:first-child .project-photo img{height:310px}.featured-project h3{font-size:26px}.projects-end{display:block;margin-top:30px}.projects-end .text-link{margin-top:16px}.slideshow .hero-foot{padding-bottom:0}}
@media(prefers-reduced-motion:reduce){.carousel-outgoing{transition:none!important}.review-slide{animation:none}}
/* Consistent compact testimonials, with arrows at opposite screen edges. */
body .review.review-carousel{position:relative;padding:35px 8%;display:grid;grid-template-columns:220px minmax(0,1fr);gap:35px;align-items:center;text-align:left;background:var(--deep)}
body .review.review-carousel blockquote{font:italic 22px/1.5 Georgia,serif;margin:0 0 14px;max-width:850px}
.review-carousel .review-nav{position:absolute;inset:0;margin:0;pointer-events:none;display:block}
.review-carousel .review-nav button{position:absolute;top:50%;transform:translateY(-50%);pointer-events:auto;width:42px;height:48px;background:#173d32;color:var(--cream)}
.review-carousel [data-review-prev]{left:2%}.review-carousel [data-review-next]{right:2%}
.review-source{display:inline-block;margin-top:8px;font-size:13px;color:#bbd7c5;text-decoration:underline;text-underline-offset:3px}
.review-carousel .review-slides{min-height:160px}
@media(max-width:760px){body .review.review-carousel{padding:30px 56px;display:block}body .review.review-carousel blockquote{font-size:20px}.review-carousel>.eyebrow{margin-bottom:16px}.review-carousel .review-slides{min-height:225px}.review-carousel .review-nav button{width:32px;height:44px}.review-carousel [data-review-prev]{left:10px}.review-carousel [data-review-next]{right:10px}}
/* A warm invitation to begin, shared by the closing section on every page. */
.consult-chapter{padding:90px 7%;display:grid;grid-template-columns:1.15fr 1fr;gap:7%;align-items:center;background:linear-gradient(125deg,#173b30 0%,#122e29 58%,#19241f 100%);border-top:1px solid #57705f;color:var(--cream)}
.consult-story>.eyebrow{color:#b7cbb5;text-transform:uppercase;letter-spacing:2px;margin-bottom:30px}
.consult-story h2{font-size:clamp(46px,5.8vw,88px);line-height:.99;letter-spacing:-3px;font-weight:800;color:var(--cream);margin-bottom:34px}
.consult-promise{font-size:20px;line-height:1.7;color:#f0f2e6;margin:0}.consult-promise span{font-size:17px;color:#c2d1c4}
.consult-card{padding:40px;background:#263e32;border:1px solid #758469;border-radius:12px;box-shadow:0 20px 50px #0003}
.consult-card>.eyebrow{color:#d2dbb7;font-size:12px;letter-spacing:1.5px;margin-bottom:20px}
.consult-card h3{font:400 clamp(30px,3vw,42px)/1.12 Georgia,serif;color:#ffffcc;letter-spacing:-.6px;margin:0 0 20px}
.consult-card>p:not(.eyebrow):not(.booking-note){color:#d7e0d5;font-size:16px;line-height:1.75}
.consult-card ul{list-style:none;padding:0;margin:25px 0 30px;color:#e6eddd;font-size:15px}
.consult-card li{display:flex;gap:12px;margin:10px 0}.consult-card li:before{content:'✓';color:#b9d2a5}
.consult-card .button{display:flex;width:100%;min-height:48px;font-size:15px;padding:13px 20px;white-space:normal;text-align:center}
.consult-card .booking-note{text-align:center;font-size:13px;color:#b7c7b9;margin:11px 0 0}
.consult-direct{border-top:1px solid #74856866;margin-top:28px;padding-top:23px}.consult-direct>p:first-child{font-size:14px;color:#c9d6c9;margin-bottom:10px}.consult-direct>div{display:flex;gap:25px;flex-wrap:wrap;align-items:center}.consult-phone{font-size:23px;font-weight:600;color:#ffffcc}.consult-email{font-size:14px;text-decoration:underline;text-underline-offset:4px;color:#e0e8d6}.consult-direct .consult-hours{font-size:13px;color:#b7c7b9;margin:14px 0 0}
@media(max-width:900px){.consult-chapter{gap:35px;padding:65px 6%}.consult-story h2{font-size:52px;letter-spacing:-2px}.consult-card{padding:28px}}
@media(max-width:760px){.consult-chapter{grid-template-columns:1fr;gap:32px;padding:50px 6%}.consult-story>.eyebrow{margin-bottom:20px}.consult-story h2{font-size:clamp(42px,11vw,64px);margin-bottom:24px}.consult-promise{font-size:18px}.consult-promise span{font-size:16px}.consult-card{padding:27px 22px}.consult-card h3{font-size:33px}.consult-card .button{font-size:14px}.consult-direct>div{gap:14px}}
/* Homepage invitation over the owner's Siloam stone walkway photograph. */
.home-page .consult-chapter{background-image:linear-gradient(90deg,rgba(8,22,17,.8) 0%,rgba(10,27,21,.64) 48%,rgba(8,22,17,.74) 100%),url('/_c/images/consult-walkway.webp');background-size:cover;background-position:center;background-repeat:no-repeat}
.home-page .consult-story h2{text-shadow:0 3px 16px rgba(0,0,0,.8)}
.home-page .consult-chapter .consult-card{background:rgba(22,43,32,.88);border-color:rgba(210,219,183,.45);box-shadow:0 18px 50px rgba(0,0,0,.35);backdrop-filter:blur(4px)}
@media(max-width:760px){.home-page .consult-chapter{background-image:linear-gradient(180deg,rgba(8,22,17,.76),rgba(8,22,17,.67)),url('/_c/images/consult-walkway.webp');background-position:45% center}}

#wix-fields>label,#wix-fields>fieldset{display:block;margin-bottom:22px}.form-error{color:#ffaaa1;font-size:14px}.form-error:empty{display:none}#wix-fields [aria-invalid="true"]{outline:2px solid #ffaaa1}#consult-form button:disabled{opacity:.6}#wix-form-status{margin-top:18px}

/* Active service and organized footer navigation. */
.service-home .service-strip .service-card{transition:background-color .25s,border-color .25s,box-shadow .25s,transform .25s}
.service-home .service-strip .service-card.service-active{background:#28675b;border-color:#b6cfa6;box-shadow:inset 0 0 0 2px #b6cfa6,0 8px 24px #0003}
.service-home .service-strip .service-card.service-active h3{color:#ffffcc}
.service-home .service-strip .service-card.service-active p{color:#f1f5eb}
.service-home .service-strip .service-card:focus-visible{outline:3px solid #ffffcc;outline-offset:2px}
footer{align-items:start;grid-template-columns:minmax(0,1.15fr) minmax(150px,.65fr) minmax(0,1fr);column-gap:clamp(28px,5vw,80px)}
footer>div{min-width:0}footer h3{margin:0 0 18px}
footer .footer-quick-links{display:flex;flex-direction:column;align-items:flex-start;gap:0}
footer .footer-quick-links a.text-link{display:flex;width:100%;min-height:40px;align-items:center;margin:0;padding:6px 0;font-size:14px;line-height:1.5;text-decoration:none}
footer .footer-quick-links a:hover,footer .social a:hover{color:#ffffcc;text-decoration:underline;text-underline-offset:5px}
footer .social{gap:12px 22px;flex-wrap:wrap;margin-top:18px}
footer .social a{display:inline-flex;align-items:center;gap:9px;min-height:44px;line-height:1.4}
footer .social svg{width:21px;height:21px;flex:none;color:currentColor}
footer a:focus-visible{outline:2px solid #ffffcc;outline-offset:4px}
@media(max-width:760px){footer{grid-template-columns:1fr;row-gap:32px}footer .footer-quick-links{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}footer .footer-quick-links h3{grid-column:1/-1;margin-bottom:10px}footer .social{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.service-home .service-strip .service-card{transition:none}}

/* Clear header, centered navigation and service links. */
body header,body header.is-scrolled{background:transparent;border-bottom-color:transparent;box-shadow:none;backdrop-filter:none}
@media(min-width:901px){body header nav{position:absolute;left:50%;transform:translateX(-50%);margin:0;justify-content:center;white-space:nowrap}body header .header-consult{margin-left:auto}body header>a:first-child{flex-basis:clamp(190px,23.4vw,351px);min-width:0}}
.feature-grid .feature-services-button{display:inline-flex;margin-top:24px;background:#ffffcc;color:#173d32;border:1px solid #ffffcc;border-radius:5px;min-height:44px;padding:12px 18px;font-size:14px;text-shadow:none}
.feature-grid .feature-services-button:hover{background:#fffde6;color:#122e29}
#services{scroll-margin-top:150px}
@media(max-width:760px){.feature-grid .feature-services-button{font-size:13px;margin-top:20px;padding:11px 15px}#services{scroll-margin-top:110px}}

/* Consistent main headings, with the original italic editorial accents. */
body :is(h1,h2,h3,h4,h5,h6):not(.script):not(.heading-accent){font-family:Arial,Helvetica,sans-serif;font-weight:800}
body :is(h1,h2,h3,h4,h5,h6) :is(em,i),body .heading-accent{font-family:Georgia,serif;font-weight:400;font-style:italic}

/* Compact, alternating project-photo columns. */
.photo-wall{padding:70px 24px 0;background:#1c2220;overflow:hidden}
.photo-wall-heading{max-width:1160px;margin:0 auto 34px;text-align:center}
.photo-wall-heading h2{font-size:clamp(30px,4vw,54px);line-height:1.12;margin:12px 0 18px;color:#ffffcc}
.photo-wall-pause{background:transparent;border:1px solid #81988c;border-radius:4px;color:#ffffcc;padding:9px 16px;font:inherit;font-size:12px;cursor:pointer}
.photo-wall-pause:focus-visible{outline:2px solid #ffffcc;outline-offset:4px}
.photo-wall-window{height:580px;max-width:1160px;margin:auto;overflow:hidden;mask-image:linear-gradient(transparent,#000 7%,#000 93%,transparent)}
.photo-wall-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:start}
.photo-wall-track{animation:odc-photo-rise 48s linear infinite;animation-play-state:paused;will-change:transform}
.photo-wall-column:nth-child(even) .photo-wall-track{animation-direction:reverse;animation-duration:55s}
.photo-wall-group{display:grid;gap:18px;padding-bottom:18px}
.photo-wall-tile{display:block;overflow:hidden;border-radius:6px;background:#122e29;aspect-ratio:4/3}
.photo-wall-tile:nth-child(2){aspect-ratio:4/5}
.photo-wall-tile img{display:block;width:100%;height:100%;object-fit:cover}
.photo-wall .photo-wall-track{animation-play-state:running}
.photo-wall-tile:focus-visible{outline:3px solid #ffffcc;outline-offset:-4px}
@keyframes odc-photo-rise{from{transform:translateY(0)}to{transform:translateY(-50%)}}
@media(max-width:600px){.photo-wall{padding:44px 12px 0}.photo-wall-window{height:450px}.photo-wall-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-wall-group{gap:12px;padding-bottom:12px}.photo-wall-column:nth-child(n+3){display:none}.photo-wall-heading{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){.photo-wall-track{animation:none;will-change:auto}.photo-wall-pause{display:none}}

/* A continuous, non-interactive photo backdrop with a centered gallery invitation. */
body .photo-wall{position:relative;padding:0 24px;isolation:isolate;margin:40px 0}
body .photo-wall-window{height:640px;pointer-events:none;user-select:none}
body .photo-wall::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(10,22,17,.12),rgba(10,22,17,.52) 40%,rgba(10,22,17,.52) 60%,rgba(10,22,17,.12))}
body .photo-wall-heading{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 auto;padding:32px 24px;pointer-events:none}
body .photo-wall-heading .eyebrow{color:#ffffcc;text-shadow:0 2px 6px #000,0 0 20px #000;margin:0 0 10px}
body .photo-wall-heading h2{max-width:900px;margin:0 0 28px;font-size:clamp(34px,4.5vw,62px);text-shadow:0 3px 8px rgba(0,0,0,.9),0 0 28px rgba(0,0,0,.65)}
body .photo-wall-heading h2 em{color:#ffffcc}
body .photo-wall-gallery-link{pointer-events:auto;box-shadow:0 4px 18px rgba(0,0,0,.25);padding:14px 26px}
@media(max-width:600px){body .photo-wall{padding:0 12px;margin:28px 0}body .photo-wall-window{height:520px}body .photo-wall-heading{padding:26px 24px}body .photo-wall-heading h2{font-size:38px;line-height:1.12;max-width:340px}body .photo-wall-heading .eyebrow{font-size:11px;letter-spacing:2px}body .photo-wall-gallery-link{padding:12px 22px}}

/* Draft featured-project slider. */
.project-showcase .project-composition{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#698d7c #1c2220;padding-bottom:18px;align-items:stretch;overscroll-behavior-x:contain}
.project-showcase .featured-project{flex:0 0 calc((100% - 56px)/3);min-width:0;grid-row:auto;scroll-snap-align:start}
.project-showcase .featured-project .project-photo img{width:100%;height:300px;object-fit:cover;transform:none;pointer-events:none;user-select:none}
.project-showcase .project-photo{cursor:default}
.project-showcase .project-services{line-height:1.9}
.project-services span{display:inline;border-radius:3px;transition:color .2s,background-color .2s,box-shadow .2s;cursor:default}
.project-services span:hover,.project-services span:focus-visible{color:#ffffcc;background:#28675b;box-shadow:0 0 0 5px #28675b;outline:none}
.project-showcase .project-draft-note{font-size:11px;color:#b4c0b8;line-height:1.4;margin-top:10px;font-style:italic}
.project-slider-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:14px}
.project-slider-controls p{font-size:12px;color:#b4c0b8;margin:0}.project-slider-controls>div{display:flex;gap:10px}
.project-slider-controls button{border:1px solid #829a8d;background:transparent;color:#ffffcc;border-radius:50%;width:44px;height:44px;font-size:28px;cursor:pointer}.project-slider-controls button:hover{background:#28675b}.project-slider-controls button:disabled{opacity:.3;cursor:default}
@media(max-width:1000px){.project-showcase .featured-project{flex-basis:calc((100% - 28px)/2)}}
@media(max-width:600px){.project-showcase .project-composition{gap:18px}.project-showcase .featured-project{flex-basis:88%}.project-showcase .featured-project .project-photo img{height:255px}.project-showcase .featured-project h3{font-size:25px}}

/* Three-project compositions with a single sliding bar. */
.project-showcase .project-composition{gap:32px;scrollbar-width:none;position:relative;align-items:start}
.project-composition::-webkit-scrollbar{display:none}
.project-group{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;align-items:start}
.project-showcase .project-group .featured-project{min-width:0;scroll-snap-align:none}
.project-showcase .project-group .featured-project:first-child{grid-row:span 2}
.project-showcase .project-group .project-photo img{height:270px}
.project-showcase .project-group .featured-project:first-child .project-photo img{height:710px}
.project-slider-controls{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.project-slider-controls label{color:#b4c0b8;font-size:12px}
#project-position{appearance:none;-webkit-appearance:none;display:block;width:100%;height:28px;margin:0;background:transparent;cursor:grab;border:0;padding:0;touch-action:pan-y}
#project-position::-webkit-slider-runnable-track{height:5px;background:#354b40;border-radius:5px}
#project-position::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;height:13px;width:clamp(60px,20vw,180px);margin-top:-4px;border-radius:12px;background:#ffffcc;border:0}
#project-position::-moz-range-track{height:5px;background:#354b40;border-radius:5px}
#project-position::-moz-range-thumb{height:13px;width:clamp(60px,20vw,180px);border-radius:12px;background:#ffffcc;border:0}
#project-position:focus-visible{outline:2px solid #ffffcc;outline-offset:5px}
@media(max-width:760px){.project-group{grid-template-columns:1fr 1fr;gap:24px 16px}.project-showcase .project-group .featured-project:first-child{grid-column:1/-1;grid-row:auto}.project-showcase .project-group .featured-project:first-child .project-photo img{height:330px}.project-showcase .project-group .project-photo img{height:165px}.project-showcase .project-group .featured-project h3{font-size:20px;line-height:1.2}.project-showcase .project-group .featured-project:first-child h3{font-size:28px}.project-group .eyebrow{font-size:10px;letter-spacing:1px}.project-showcase .project-group .project-services{font-size:12px;line-height:1.8}.project-group .project-draft-note{font-size:10px}}

/* Let the next composition peek into view as a swipe cue. */
.project-showcase .project-composition{gap:24px}
.project-showcase .project-group{flex-basis:calc(100% - 80px)}
@media(max-width:760px){.project-showcase .project-composition{gap:14px}.project-showcase .project-group{flex-basis:calc(100% - 44px)}}

/* Mobile only: one project at a time, with the next card peeking in. */
@media(max-width:760px){
.project-showcase .project-group{display:contents}
.project-showcase .project-group .featured-project{flex:0 0 calc(100% - 44px);scroll-snap-align:start;scroll-snap-stop:always;grid-column:auto;grid-row:auto}
.project-showcase .project-group .featured-project .project-photo img{height:300px}
.project-showcase .project-group .featured-project h3{font-size:28px;line-height:1.2}
.project-showcase .project-group .featured-project .project-services{font-size:14px;line-height:1.8}
}
@media(max-width:760px){.project-showcase .project-group .featured-project:first-child .project-photo img{height:300px}}

/* Full-width photo gallery, compact inner navigation, and project refinements. */
body footer{background:#000}
body .full-width-gallery{width:100%;padding-left:0;padding-right:0;margin:36px 0;max-width:none}
body .full-width-gallery .photo-wall-window{width:100%;max-width:none}
body .full-width-gallery .photo-wall-columns{gap:14px}
.project-showcase .project-composition{padding-bottom:12px;overflow-y:hidden;transition:height .25s ease}
.project-showcase .project-slider-controls{margin-top:0;gap:2px}
.project-showcase .project-photo img{transition:transform .5s ease,filter .4s ease}
@media(hover:hover){.project-showcase .featured-project:hover .project-photo img{transform:scale(1.035);filter:brightness(1.08)}}




body:not(.home-page) .inner-hero{min-height:420px;height:62vh;max-height:650px}
body:not(.home-page) .inner-hero .slide-img{object-position:center center}
.service-photo-details{padding-block:48px}
.service-photo-details h2{margin:0 0 26px;font-size:clamp(28px,3vw,42px)}
.service-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.service-photo-grid figure{margin:0;min-width:0}
.service-photo-grid img{display:block;width:100%;height:250px;object-fit:cover;object-position:center;border-radius:6px}
.service-photo-grid figcaption{font-size:14px;line-height:1.55;color:#becdc3;margin-top:12px}
footer .social{flex-wrap:wrap;gap:14px}
#wix-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}
#wix-fields>fieldset,#wix-fields>.form-wide{grid-column:1/-1}
#wix-fields>label{min-width:0}
@media(max-width:900px){.service-photo-grid{gap:16px}.service-photo-grid img{height:210px}}
@media(max-width:600px){body:not(.home-page) .inner-hero{height:54vh;min-height:360px}.service-photo-grid{grid-template-columns:1fr}.service-photo-grid img{height:260px}.service-photo-details{padding-block:32px}#wix-fields{grid-template-columns:1fr}body .full-width-gallery .photo-wall-columns{gap:10px}}
@media(prefers-reduced-motion:reduce){.project-showcase .project-composition,.project-showcase .project-photo img{transition:none}}

/* Original ODC three-leaf artwork, isolated from the full logo without redrawing it. */
:is(.intro h2,.section-heading h2,.project-showcase-heading h2,.service-photo-details h2,.consult-story h2,.photo-wall-heading h2,.contact-layout h2)::before {
  content:"";
  display:block;
  width:120px;
  height:50px;
  margin:0 0 18px;
  background-image:url('/_c/images/odc-logo.png');
  background-repeat:no-repeat;
  background-size:320px 160px;
  background-position:-6px -29px;
  pointer-events:none;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.3));
}
.intro h2::before,.section-heading h2::before,.photo-wall-heading h2::before {margin-left:auto;margin-right:auto;}
@media(max-width:600px){
  :is(.intro h2,.section-heading h2,.project-showcase-heading h2,.service-photo-details h2,.consult-story h2,.photo-wall-heading h2,.contact-layout h2)::before {
    width:96px;height:40px;background-size:256px 128px;background-position:-4.8px -23.2px;margin-bottom:14px;
  }
}

/* Side controls remain reachable on touch screens; tracks retain native finger scrolling. */
.slider-shell{position:relative;min-width:0;max-width:100%}
.track-arrow{position:absolute;z-index:4;top:38%;transform:translateY(-50%);width:44px;height:52px;padding:0;display:grid;place-items:center;background:#173d32ed;color:#ffffcc;border:1px solid #ffffcc99;border-radius:5px;font:40px/1 Georgia,serif;cursor:pointer;box-shadow:0 3px 14px #0006;touch-action:manipulation}
.track-prev{left:4px}.track-next{right:4px}
.track-arrow:hover{background:#28675b}.track-arrow:focus-visible{outline:3px solid #ffffcc;outline-offset:3px}
.service-strip,#project-slider{touch-action:pan-x pan-y; -webkit-overflow-scrolling:touch}
.slideshow,.review-carousel,.carousel-lightbox{touch-action:pan-y pinch-zoom}
.carousel-controls .carousel-arrow{min-width:44px;min-height:48px;pointer-events:auto}
@media(max-width:760px){.track-arrow{top:130px;width:44px;height:48px}.track-prev{left:2px}.track-next{right:2px}}

/* Homepage-only video background preview. */
.home-page .consult-video-preview{position:relative;isolation:isolate;overflow:hidden;background:#122e29 url('/_c/images/consult-walkway.webp') center/cover no-repeat}
.consult-background-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;pointer-events:none}
.consult-video-preview::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,19,14,.72),rgba(5,19,14,.4) 55%,rgba(5,19,14,.58));pointer-events:none}
.home-page .consult-video-preview .consult-card{background:rgba(16,35,26,.72)}
@media(max-width:760px){.consult-video-preview::after{background:linear-gradient(180deg,rgba(5,19,14,.57),rgba(5,19,14,.76))}}
@media(prefers-reduced-motion:reduce){.consult-background-video{display:none}}

/* Subtle raised homepage consultation card; links remain normally clickable. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
.home-page .consult-chapter .consult-card{transform:perspective(1000px) rotateX(0deg) rotateY(0deg);transition:transform .35s ease-out,box-shadow .35s ease-out,border-color .35s ease-out;box-shadow:0 22px 50px #0006,0 2px 0 #ffffcc22 inset;backface-visibility:hidden}
.home-page .consult-chapter .consult-card.consult-tilting{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-4px);transition:transform .12s ease-out,box-shadow .35s ease-out;box-shadow:0 32px 65px #0008,0 2px 0 #ffffcc33 inset;border-color:#c8d8ad99}
}
@font-face{font-family:'Dancing Script';font-style:normal;font-weight:600;font-display:swap;src:url('/_c/fonts/dancing-script-600.woff2') format('woff2')}
header .button.header-consult,header.is-scrolled .button.header-consult{font-family:'Dancing Script','Brush Script MT',cursive;font-size:22px;font-weight:600;line-height:1;letter-spacing:.2px;color:var(--cream);background:linear-gradient(180deg,#3d8a79 0%,#28675b 55%,#1e5147 100%);border:1px solid #143f36;border-radius:8px;padding:10px 24px 12px;text-shadow:0 1px 0 rgb(0 0 0 / 45%);box-shadow:inset 0 1px 0 rgb(255 255 255 / 30%),inset 0 -2px 0 rgb(0 0 0 / 22%),0 4px 0 #0e2b25,0 8px 14px rgb(0 0 0 / 45%);transition:transform .12s ease,box-shadow .12s ease,background .2s}
header .button.header-consult:hover,header.is-scrolled .button.header-consult:hover{background:linear-gradient(180deg,#43917f 0%,#2e7366 55%,#225a4f 100%);transform:translateY(-1px);box-shadow:inset 0 1px 0 rgb(255 255 255 / 34%),inset 0 -2px 0 rgb(0 0 0 / 22%),0 5px 0 #0e2b25,0 10px 18px rgb(0 0 0 / 45%)}
header .button.header-consult:active,header.is-scrolled .button.header-consult:active{transform:translateY(3px);box-shadow:inset 0 2px 6px rgb(0 0 0 / 45%),0 1px 0 #0e2b25,0 2px 4px rgb(0 0 0 / 35%)}
header .button.header-consult:focus-visible{outline:2px solid var(--cream);outline-offset:4px}
@media(min-width:761px) and (max-width:1150px){header .button.header-consult,header.is-scrolled .button.header-consult{font-size:18px;padding:8px 15px 10px}}
/* Header logo (leaves + name): sized by width so it stays compact and crisp */
body header .logo{width:230px;height:auto;max-width:none;max-height:none;object-fit:contain;object-position:left center;filter:drop-shadow(0 1px 2px rgb(0 0 0 / 55%))}
@media(min-width:761px) and (max-width:1150px){body header .logo{width:195px}}
@media(max-width:760px){body header .logo{width:170px}}
/* Header logo centered in the space it owns: left column on desktop, the room before the buttons on smaller screens */
body header>a:first-child{display:flex;align-items:center;justify-content:center;flex:1 1 auto;min-width:0}
@media(min-width:901px){
  body header{display:grid;grid-template-columns:minmax(max-content,1fr) max-content minmax(max-content,1fr);align-items:center}
  body header>a:first-child{grid-column:1;justify-self:stretch}
  body header nav{grid-column:2;position:static;left:auto;transform:none;width:max-content}
  body header .header-consult{grid-column:3;justify-self:end;margin-left:0}
}
/* Mobile bottom bar: consult button matches the desktop header button; richer call link */
body .mobile-actions{padding:10px 5% calc(12px + env(safe-area-inset-bottom))}
body .mobile-actions .button{font-family:'Dancing Script','Brush Script MT',cursive;font-size:20px;font-weight:600;line-height:1;letter-spacing:.2px;color:var(--cream);background:linear-gradient(180deg,#3d8a79 0%,#28675b 55%,#1e5147 100%);border:1px solid #143f36;border-radius:8px;padding:10px 20px 12px;min-height:44px;text-shadow:0 1px 0 rgb(0 0 0 / 45%);box-shadow:inset 0 1px 0 rgb(255 255 255 / 30%),inset 0 -2px 0 rgb(0 0 0 / 22%),0 4px 0 #0e2b25,0 7px 12px rgb(0 0 0 / 45%);transition:transform .12s ease,box-shadow .12s ease}
body .mobile-actions .button:active{transform:translateY(3px);box-shadow:inset 0 2px 6px rgb(0 0 0 / 45%),0 1px 0 #0e2b25,0 2px 4px rgb(0 0 0 / 35%)}
body .mobile-actions .mobile-call{display:flex;align-items:center;gap:11px;min-height:44px;color:var(--cream);text-decoration:none}
.mobile-call-icon{position:relative;flex-shrink:0;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--cream);background:radial-gradient(circle at 35% 30%,rgb(255 255 204 / 18%),rgb(255 255 204 / 6%));border:1px solid rgb(255 255 204 / 55%);transition:background .2s}
.mobile-call-icon svg{width:19px;height:19px}
.mobile-call-icon::after{content:"";position:absolute;inset:-1px;border-radius:50%;border:1px solid rgb(166 224 198 / 75%);animation:odc-call-ring 2.8s ease-out infinite;pointer-events:none}
@keyframes odc-call-ring{0%{transform:scale(1);opacity:.85}70%,100%{transform:scale(1.55);opacity:0}}
@media(prefers-reduced-motion:reduce){.mobile-call-icon::after{animation:none;opacity:0}}
.mobile-call:active .mobile-call-icon{background:rgb(255 255 204 / 24%)}
.mobile-call-text{display:flex;flex-direction:column;line-height:1.15}
.mobile-call-text strong{font-size:14px;font-weight:700;letter-spacing:.3px}
.mobile-call-text small{margin-top:3px;font-size:12px;letter-spacing:.4px;color:#bbc5be}
body .mobile-actions{gap:14px}
body .mobile-actions .mobile-call{flex-shrink:0}
.mobile-call-text small{white-space:nowrap}
body .mobile-actions .button{flex:0 1 auto;min-width:0;padding:10px 16px 12px;font-size:19px;white-space:nowrap}
@media(max-width:340px){.mobile-call-text small{display:none}}
/* iPhone: let the hero run under the status bar; keep the fixed header clear of the clock/notch */
body header{top:env(safe-area-inset-top,0px)}
/* Phones only: solid strip behind the logo that stays at the top (fills the status-bar area too),
   and a light that travels around the menu button's border so it stands out */
@property --odc-a{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes odc-orbit{to{--odc-a:360deg}}
@media(max-width:760px){
  body header,body header.is-scrolled{top:0;height:calc(88px + env(safe-area-inset-top,0px));padding-top:calc(8px + env(safe-area-inset-top,0px));background:rgb(14 16 15 / 58%);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid rgb(255 255 255 / 12%);box-shadow:0 4px 16px rgb(0 0 0 / 35%)}
  body header nav{top:calc(88px + env(safe-area-inset-top,0px))}
  body header .menu-toggle{position:relative;isolation:isolate;border-radius:8px;border-color:rgb(255 255 204 / 28%);box-shadow:0 0 12px rgb(166 224 198 / 22%)}
  body header .menu-toggle::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:2px;background:conic-gradient(from var(--odc-a),transparent 0deg 240deg,rgb(166 224 198 / 55%) 285deg,#fffde6 330deg,transparent 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:odc-orbit 2.8s linear infinite;pointer-events:none}
}
@media(max-width:760px) and (prefers-reduced-motion:reduce){body header .menu-toggle::before{animation:none;background:rgb(255 255 204 / 65%)}}

/* Menu headings are links (About us, Services, Gallery); the ⌄ arrow opens the dropdown */
nav summary{display:flex;align-items:center}
nav summary>a{color:inherit;text-decoration:none}
nav summary>a:hover{color:white}
nav summary:after{margin-left:4px;padding:6px 0 6px 2px}
@media(max-width:900px){header nav summary{justify-content:space-between}header nav summary:after{font-size:18px;padding:4px 12px;margin-left:12px;border-left:1px solid #ffffff25}}

/* Review source: Google logo badge (no outbound link) */
.review-source.review-google{display:inline-flex;align-items:center;gap:7px;margin-top:10px;padding:5px 11px 5px 8px;border-radius:999px;background:rgb(255 255 255 / 92%);color:#3c4043;font:600 12.5px/1 Arial,Helvetica,sans-serif;text-decoration:none;letter-spacing:.1px}
.review-source.review-google svg{flex:none;display:block}
.review-source.review-google{width:34px;height:34px;padding:0;gap:0;justify-content:center;border-radius:50%;box-shadow:0 2px 8px rgb(0 0 0 / 25%)}
/* keep the G exactly centered (older .rw-card/.review-source rules set display:inline-block) */
span.review-source.review-google{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;line-height:0;font-size:0;text-align:center}
span.review-source.review-google svg{display:block;width:20px;height:20px;margin:0}

/* 5-star rating on every review: stars light up one by one when the review comes into view; hover makes them ripple */
.review-stars{display:flex;gap:3px;margin:12px 0 10px}
.review-review-carousel .review-stars,.review-carousel .review-stars{justify-content:center}
.rs-star{display:inline-flex;color:#4a5a53;transform:scale(.6);opacity:.35;transition:transform .45s cubic-bezier(.3,1.7,.5,1),opacity .3s,color .3s,filter .3s;transition-delay:calc(var(--i) * 110ms)}
.rs-star svg{display:block;fill:currentColor}
.review-stars.is-lit .rs-star{color:#fbbc04;transform:scale(1);opacity:1;filter:drop-shadow(0 0 5px rgb(251 188 4 / 45%))}
.review-stars.is-lit:hover .rs-star{animation:rs-ripple .6s ease calc(var(--i) * 70ms)}
.review-stars.is-lit .rs-star:hover{transform:scale(1.35) rotate(-8deg);filter:drop-shadow(0 0 10px rgb(251 188 4 / 80%))}
@keyframes rs-ripple{0%,100%{transform:translateY(0) scale(1)}40%{transform:translateY(-6px) scale(1.2)}}
@media(prefers-reduced-motion:reduce){.rs-star{transition:none;transform:none;opacity:1;color:#fbbc04}.review-stars.is-lit:hover .rs-star{animation:none}}

/* photo wall animates only while visible (app.js adds .is-playing) */
.photo-wall .photo-wall-track{animation-play-state:paused}
.photo-wall.is-playing .photo-wall-track{animation-play-state:running}
@media(prefers-reduced-motion:reduce){.photo-wall.is-playing .photo-wall-track{animation-play-state:paused}}

/* Header logo: the three leaves get the same per-leaf colored light as the homepage headline (text untouched).
   Leaves occupy x 7-239, y 8-98 of the 636x146 logo image. */
.logo-wrap{position:relative;display:block;line-height:0}
.logo-leaf-shine{position:absolute;left:1.1%;top:5.48%;width:36.64%;height:62.33%;pointer-events:none;mix-blend-mode:overlay;opacity:.8;
  background:linear-gradient(90deg,#8cc4ff 0 33.5%,#7ff0bd 33.5% 67%,#ffb88c 67% 100%);
  -webkit-mask:url('/_c/images/odc-logo-header.png') 1.73% 14.5%/272.96% 160.44% no-repeat,linear-gradient(100deg,transparent 42%,#000 48%,#000 52%,transparent 58%) 100% 0/250% 100% no-repeat;
  -webkit-mask-composite:source-in;
  mask:url('/_c/images/odc-logo-header.png') 1.73% 14.5%/272.96% 160.44% no-repeat,linear-gradient(100deg,transparent 42%,#000 48%,#000 52%,transparent 58%) 100% 0/250% 100% no-repeat;
  mask-composite:intersect;animation:odc-logo-leaf-shine 3.2s linear infinite}
@keyframes odc-logo-leaf-shine{from{-webkit-mask-position:1.73% 14.5%,100% 0;mask-position:1.73% 14.5%,100% 0}to{-webkit-mask-position:1.73% 14.5%,0 0;mask-position:1.73% 14.5%,0 0}}
@media(prefers-reduced-motion:reduce){.logo-leaf-shine{animation:none;display:none}}
/* Phones: logo centered on the screen (not in the space beside the menu button); menu button stays on the right */
@media(max-width:760px){
  body header>a:first-child{position:absolute;left:50%;top:calc(env(safe-area-inset-top,0px) + 44px);transform:translate(-50%,-50%);flex:none;width:auto;max-width:none;z-index:1}
  body header .menu-toggle{margin-left:auto}
}
/* "Colorado" in the service-area heading: the C drawn as the Colorado flag C (red C, gold disc).
   The real letter stays in the text for screen readers and search engines. */
.co-flag-word{white-space:nowrap}
.co-flag-c{display:inline-block;width:1em;margin-right:.02em;text-align:center;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M94.81 32.8A48 48 0 1 0 94.81 67.2L73.81 59.14A25.5 25.5 0 1 1 73.81 40.86Z' fill='%23BF0A30'/%3E%3Ccircle cx='50' cy='50' r='25.5' fill='%23FFD700'/%3E%3C/svg%3E") 50% 50%/1em 1em no-repeat;filter:drop-shadow(0 2px 4px rgb(0 0 0 / 35%))}
/* the real letter stays in the line (invisible), so every reader gets "Colorado" as one word */
.co-flag-c-text{color:transparent;text-shadow:none}
/* Desktop and tablet: the same see-through dark strip behind the header as on phones */
@media(min-width:761px){
  body header,body header.is-scrolled{background:rgb(14 16 15 / 58%);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid rgb(255 255 255 / 12%);box-shadow:0 4px 16px rgb(0 0 0 / 35%)}
}
/* footer: Terms of Use sits right next to Privacy Policy; copyright stays on the right */
.footer-bottom .privacy-policy-link+.privacy-policy-link{margin-right:auto}
