.announcement-banner[data-astro-cid-mpls5b2o]{padding:.6rem max(1rem, calc((100vw - var(--max)) / 2));background:var(--cream);color:var(--ink);text-align:center;font-size:.95rem}.announcement-banner[data-astro-cid-mpls5b2o] p[data-astro-cid-mpls5b2o]{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.2rem .9rem;margin:0;display:inline-flex}.announcement-banner[data-astro-cid-mpls5b2o] a[data-astro-cid-mpls5b2o]{white-space:nowrap;font-weight:600}.email-popup-dismiss[data-astro-cid-3knauszm]{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.75rem;line-height:1;position:absolute;top:.65rem;right:.85rem}.email-popup-dismiss[data-astro-cid-3knauszm]:hover{color:var(--ink)}:where(html){--ease-1:cubic-bezier(.25,0,.5,1);--ease-2:cubic-bezier(.25,0,.4,1);--ease-3:cubic-bezier(.25,0,.3,1);--ease-4:cubic-bezier(.25,0,.2,1);--ease-5:cubic-bezier(.25,0,.1,1);--ease-in-1:cubic-bezier(.25,0,1,1);--ease-in-2:cubic-bezier(.5,0,1,1);--ease-in-3:cubic-bezier(.7,0,1,1);--ease-in-4:cubic-bezier(.9,0,1,1);--ease-in-5:cubic-bezier(1,0,1,1);--ease-out-1:cubic-bezier(0,0,.75,1);--ease-out-2:cubic-bezier(0,0,.5,1);--ease-out-3:cubic-bezier(0,0,.3,1);--ease-out-4:cubic-bezier(0,0,.1,1);--ease-out-5:cubic-bezier(0,0,0,1);--ease-in-out-1:cubic-bezier(.1,0,.9,1);--ease-in-out-2:cubic-bezier(.3,0,.7,1);--ease-in-out-3:cubic-bezier(.5,0,.5,1);--ease-in-out-4:cubic-bezier(.7,0,.3,1);--ease-in-out-5:cubic-bezier(.9,0,.1,1);--ease-elastic-out-1:cubic-bezier(.5,.75,.75,1.25);--ease-elastic-out-2:cubic-bezier(.5,1,.75,1.25);--ease-elastic-out-3:cubic-bezier(.5,1.25,.75,1.25);--ease-elastic-out-4:cubic-bezier(.5,1.5,.75,1.25);--ease-elastic-out-5:cubic-bezier(.5,1.75,.75,1.25);--ease-elastic-in-1:cubic-bezier(.5,-.25,.75,1);--ease-elastic-in-2:cubic-bezier(.5,-.5,.75,1);--ease-elastic-in-3:cubic-bezier(.5,-.75,.75,1);--ease-elastic-in-4:cubic-bezier(.5,-1,.75,1);--ease-elastic-in-5:cubic-bezier(.5,-1.25,.75,1);--ease-elastic-in-out-1:cubic-bezier(.5,-.1,.1,1.5);--ease-elastic-in-out-2:cubic-bezier(.5,-.3,.1,1.5);--ease-elastic-in-out-3:cubic-bezier(.5,-.5,.1,1.5);--ease-elastic-in-out-4:cubic-bezier(.5,-.7,.1,1.5);--ease-elastic-in-out-5:cubic-bezier(.5,-.9,.1,1.5);--ease-step-1:steps(2);--ease-step-2:steps(3);--ease-step-3:steps(4);--ease-step-4:steps(7);--ease-step-5:steps(10);--ease-elastic-1:var(--ease-elastic-out-1);--ease-elastic-2:var(--ease-elastic-out-2);--ease-elastic-3:var(--ease-elastic-out-3);--ease-elastic-4:var(--ease-elastic-out-4);--ease-elastic-5:var(--ease-elastic-out-5);--ease-squish-1:var(--ease-elastic-in-out-1);--ease-squish-2:var(--ease-elastic-in-out-2);--ease-squish-3:var(--ease-elastic-in-out-3);--ease-squish-4:var(--ease-elastic-in-out-4);--ease-squish-5:var(--ease-elastic-in-out-5);--ease-spring-1:linear(0,.006,.025 2.8%,.101 6.1%,.539 18.9%,.721 25.3%,.849 31.5%,.937 38.1%,.968 41.8%,.991 45.7%,1.006 50.1%,1.015 55%,1.017 63.9%,1.001);--ease-spring-2:linear(0,.007,.029 2.2%,.118 4.7%,.625 14.4%,.826 19%,.902,.962,1.008 26.1%,1.041 28.7%,1.064 32.1%,1.07 36%,1.061 40.5%,1.015 53.4%,.999 61.6%,.995 71.2%,1);--ease-spring-3:linear(0,.009,.035 2.1%,.141 4.4%,.723 12.9%,.938 16.7%,1.017,1.077,1.121,1.149 24.3%,1.159,1.163,1.161,1.154 29.9%,1.129 32.8%,1.051 39.6%,1.017 43.1%,.991,.977 51%,.974 53.8%,.975 57.1%,.997 69.8%,1.003 76.9%,1);--ease-spring-4:linear(0,.009,.037 1.7%,.153 3.6%,.776 10.3%,1.001,1.142 16%,1.185,1.209 19%,1.215 19.9% 20.8%,1.199,1.165 25%,1.056 30.3%,1.008 33%,.973,.955 39.2%,.953 41.1%,.957 43.3%,.998 53.3%,1.009 59.1% 63.7%,.998 78.9%,1);--ease-spring-5:linear(0,.01,.04 1.6%,.161 3.3%,.816 9.4%,1.046,1.189 14.4%,1.231,1.254 17%,1.259,1.257 18.6%,1.236,1.194 22.3%,1.057 27%,.999 29.4%,.955 32.1%,.942,.935 34.9%,.933,.939 38.4%,1 47.3%,1.011,1.017 52.6%,1.016 56.4%,1 65.2%,.996 70.2%,1.001 87.2%,1);--ease-bounce-1:linear(0,.004,.016,.035,.063,.098,.141,.191,.25,.316,.391 36.8%,.563,.766,1 58.8%,.946,.908 69.1%,.895,.885,.879,.878,.879,.885,.895,.908 89.7%,.946,1);--ease-bounce-2:linear(0,.004,.016,.035,.063,.098,.141 15.1%,.25,.391,.562,.765,1,.892 45.2%,.849,.815,.788,.769,.757,.753,.757,.769,.788,.815,.85,.892 75.2%,1 80.2%,.973,.954,.943,.939,.943,.954,.973,1);--ease-bounce-3:linear(0,.004,.016,.035,.062,.098,.141 11.4%,.25,.39,.562,.764,1 30.3%,.847 34.8%,.787,.737,.699,.672,.655,.65,.656,.672,.699,.738,.787,.847 61.7%,1 66.2%,.946,.908,.885 74.2%,.879,.878,.879,.885 79.5%,.908,.946,1 87.4%,.981,.968,.96,.957,.96,.968,.981,1);--ease-bounce-4:linear(0,.004,.016 3%,.062,.141,.25,.391,.562 18.2%,1 24.3%,.81,.676 32.3%,.629,.595,.575,.568,.575,.595,.629,.676 48.2%,.811,1 56.2%,.918,.86,.825,.814,.825,.86,.918,1 77.2%,.94 80.6%,.925,.92,.925,.94 87.5%,1 90.9%,.974,.965,.974,1);--ease-bounce-5:linear(0,.004,.016 2.5%,.063,.141,.25 10.1%,.562,1 20.2%,.783,.627,.534 30.9%,.511,.503,.511,.534 38%,.627,.782,1 48.7%,.892,.815,.769 56.3%,.757,.753,.757,.769 61.3%,.815,.892,1 68.8%,.908 72.4%,.885,.878,.885,.908 79.4%,1 83%,.954 85.5%,.943,.939,.943,.954 90.5%,1 93%,.977,.97,.977,1);--ease-circ-in:cubic-bezier(.6,.04,.98,.335);--ease-circ-in-out:cubic-bezier(.785,.135,.15,.86);--ease-circ-out:cubic-bezier(.075,.82,.165,1);--ease-cubic-in:cubic-bezier(.55,.055,.675,.19);--ease-cubic-in-out:cubic-bezier(.645,.045,.355,1);--ease-cubic-out:cubic-bezier(.215,.61,.355,1);--ease-expo-in:cubic-bezier(.95,.05,.795,.035);--ease-expo-in-out:cubic-bezier(1,0,0,1);--ease-expo-out:cubic-bezier(.19,1,.22,1);--ease-quad-in:cubic-bezier(.55,.085,.68,.53);--ease-quad-in-out:cubic-bezier(.455,.03,.515,.955);--ease-quad-out:cubic-bezier(.25,.46,.45,.94);--ease-quart-in:cubic-bezier(.895,.03,.685,.22);--ease-quart-in-out:cubic-bezier(.77,0,.175,1);--ease-quart-out:cubic-bezier(.165,.84,.44,1);--ease-quint-in:cubic-bezier(.755,.05,.855,.06);--ease-quint-in-out:cubic-bezier(.86,0,.07,1);--ease-quint-out:cubic-bezier(.23,1,.32,1);--ease-sine-in:cubic-bezier(.47,0,.745,.715);--ease-sine-in-out:cubic-bezier(.445,.05,.55,.95);--ease-sine-out:cubic-bezier(.39,.575,.565,1)}:root{color-scheme:light;--forest:#12372a;--forest-deep:#0c2720;--pine:#12372a;--moss:#545964;--lichen:#dad3be;--accent:#545964;--accent-deep:#545964;--clay:var(--accent);--ember:#dad3be;--ink:#12372a;--muted:#545964;--paper:#f3efe6;--cream:#dad3be;--surface:#fff;--white:#fff;--line:#dad3be;--line-strong:#dad3be;--error:#96392c;--max:1280px;--radius:8px;--panel-radius:12px;--button-radius:24px;--shadow-soft:0 24px 60px #0c272024;--mountain-wire:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 280'%3E%3Cg fill='none' stroke='%2312372A' stroke-opacity='.075' stroke-width='2'%3E%3Cpath d='M0 225 155 92 248 170 390 48 520 188 645 78 780 202 930 62 1200 228'/%3E%3Cpath d='M110 235 252 118 342 188 456 92 580 216 706 126 828 222 984 104 1120 220'/%3E%3Cpath d='M305 196 390 48 432 150M888 170 930 62 972 162M602 176 645 78 690 168'/%3E%3C/g%3E%3C/svg%3E");--mountain-wire-light:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 280'%3E%3Cg fill='none' stroke='%23F3EFE6' stroke-opacity='.11' stroke-width='2'%3E%3Cpath d='M0 225 155 92 248 170 390 48 520 188 645 78 780 202 930 62 1200 228'/%3E%3Cpath d='M110 235 252 118 342 188 456 92 580 216 706 126 828 222 984 104 1120 220'/%3E%3Cpath d='M305 196 390 48 432 150M888 170 930 62 972 162M602 176 645 78 690 168'/%3E%3C/g%3E%3C/svg%3E");--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;font-family:var(--font-sans)}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);scroll-behavior:smooth}body{background:var(--paper);text-rendering:optimizelegibility;flex-direction:column;min-width:320px;min-height:100svh;margin:0;display:flex}main{flex:1 0 auto}body.modal-open{overflow:hidden}img{max-width:100%;height:auto;display:block}picture{width:100%;display:block}a{color:inherit;text-underline-offset:.18em}h1,h2,h3,.brand,.footer-brand{font-family:var(--font-serif);font-weight:500}h1,h2,h3,p{margin-top:0}h1{max-width:960px;margin-bottom:0;font-size:5.35rem;line-height:.96}h2{margin-bottom:0;font-size:3.7rem;line-height:1}h3{margin-bottom:0;font-size:1.7rem;line-height:1.1}p,span,li,label,input,textarea,select,legend{font-size:1rem;line-height:1.65}.skip-link{z-index:100;background:var(--forest);color:var(--paper);padding:.65rem .9rem;position:fixed;top:1rem;left:1rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:20;width:100%;min-height:64px;padding:.6rem max(1rem, calc((100vw - var(--max)) / 2));background:var(--forest);border-bottom:1px solid var(--forest-deep);justify-content:space-between;align-items:center;gap:2rem;margin:0;display:flex;position:sticky;top:0}.brand{color:var(--paper);grid-template-columns:auto 1fr;align-items:center;gap:.08rem .75rem;text-decoration:none;display:grid}.brand-mark{border:1px solid var(--cream);border-radius:var(--radius);width:2.45rem;height:2.45rem;font-family:var(--font-sans);grid-row:span 2;place-items:center;font-size:.72rem;font-weight:800;display:inline-grid}.brand-mark .line-icon{border:0;border-radius:0;width:1.45rem;height:1.45rem;padding:0}.brand span:nth-child(2){font-size:1.12rem;line-height:1}.brand span:last-child{color:var(--cream);font-family:var(--font-sans);letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-weight:800;line-height:1}.site-nav,.site-footer nav{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.nav-toggle,.nav-toggle-button{display:none}.site-nav a,.site-footer a{border-radius:var(--radius);text-decoration:none}.site-nav a{color:var(--cream);padding:.55rem .75rem;font-size:.85rem;font-weight:500}.site-nav a[aria-current=page],.site-nav a:hover{color:var(--paper);background:0 0}.site-nav a:last-child{border-radius:var(--button-radius);background:var(--cream);color:var(--forest);padding:.55rem .95rem}.site-nav a:last-child:hover,.site-nav a:last-child[aria-current=page]{background:var(--paper);color:var(--forest)}.home-hero{isolation:isolate;min-height:min(760px,100svh - 132px);color:var(--paper);background:var(--forest-deep);display:grid;position:relative;overflow:hidden}.home-hero:before{z-index:0;pointer-events:none;content:"";background:var(--mountain-wire-light) center calc(100% + 9.5rem) / 1200px 280px repeat-x;height:24%;position:absolute;inset:auto 0 0}.home-hero-image,.home-hero-overlay{width:100%;height:100%;position:absolute;inset:0}.home-hero>picture{z-index:-2;height:100%;position:absolute;inset:0}.home-hero-image{z-index:-2;object-fit:cover;object-position:center 42%}.home-hero-overlay{z-index:-1;background:linear-gradient(90deg,#0c2720e6,#0c272075 46%,#0c272033),linear-gradient(#0c27200d 56%,#0c272094)}.home-hero-copy{z-index:1;width:min(100% - 2rem, var(--max));align-content:end;gap:1.2rem;margin:0 auto;padding:5rem 0;display:grid;position:relative}.home-hero-copy h1{max-width:760px;color:var(--white)}.home-hero-copy span{color:#f3efe6e0;max-width:620px;font-size:1.14rem}.eyebrow,.home-hero-copy p,.section-heading p,.section-kicker p{color:var(--clay);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:900}.home-hero-copy p,.dark-section .eyebrow,.cta-band-dark .eyebrow,.accent-section .eyebrow{color:var(--muted)}.home-hero-copy p{color:var(--cream)}.button-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.button{border:1px solid var(--forest);border-radius:var(--button-radius);min-height:44px;color:var(--forest);transition:transform .16s var(--ease-3), background-color .16s var(--ease-3), color .16s var(--ease-3), border-color .16s var(--ease-3);background:0 0;justify-content:center;align-items:center;padding:.82rem 1.05rem;font-size:.9rem;font-weight:500;text-decoration:none;display:inline-flex}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--forest);color:var(--paper)}.button-primary:hover{background:var(--forest-deep);border-color:var(--forest-deep)}.button-secondary{border-color:var(--cream);background:var(--cream);color:var(--forest)}.button-outlined{border-color:var(--muted);color:var(--muted);background:0 0}.home-hero .button-outlined{color:var(--paper);border-color:#f3efe694}.button-light{border-color:var(--cream);background:var(--cream);color:var(--forest)}.image-ribbon{width:min(100% - 2rem, var(--max));grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"a a b c""a a d d""e f g h";gap:.75rem;margin:1rem auto 0;display:grid}.ribbon-item{border-radius:var(--radius);background:var(--cream);aspect-ratio:4/3;min-height:0;display:block;position:relative;overflow:hidden}.ribbon-item img{object-fit:cover;width:100%;height:100%}.ribbon-item span{z-index:1;color:var(--paper);font-size:.95rem;font-weight:800;line-height:1.2;display:none;position:absolute;bottom:.85rem;left:.95rem}.ribbon-item picture,.portfolio-card picture,.gallery-hero picture,.inquire-aside picture{height:100%}.ribbon-item-1{grid-area:a}.ribbon-item-2{grid-area:b}.ribbon-item-3{grid-area:c}.ribbon-item-4{aspect-ratio:8/3;grid-area:d}.ribbon-item-5{grid-area:e}.ribbon-item-6{grid-area:f}.ribbon-item-7{grid-area:g}.ribbon-item-8{grid-area:h}.section,.page-hero,.split-section,.about-layout,.inquire-layout,.process-section,.cta-band{width:min(100% - 2rem, var(--max));margin:0 auto}.section,.page-hero,.process-section{padding:5.75rem 0}.section.no-top{padding-top:0}.section-intro{gap:2rem;display:grid}.section-kicker{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:end;gap:2rem;padding-bottom:1.5rem;display:grid}.section-kicker span,.section-heading span,.page-hero p,.gallery-hero span,.about-layout p,.process-card p,.package-card li,.inquire-aside p{color:var(--muted)}.section-heading{gap:.75rem;max-width:760px;margin-bottom:2rem;display:grid}.section-heading.wide{max-width:880px}.section-heading.compact{margin-bottom:1.5rem}.page-hero{gap:1rem;display:grid}.page-hero-centered{align-content:center;min-height:calc(100svh - 240px)}.page-hero-centered p:not(.eyebrow){max-width:42rem;color:var(--muted)}.page-hero-split{grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);align-items:center;gap:3rem}.page-hero-split p:last-child{max-width:560px;margin-bottom:0;font-size:1.1rem}.portfolio-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem;display:grid}.portfolio-card{border-radius:var(--radius);border:.5px solid var(--line);background:var(--surface);color:var(--forest);grid-column:span 2;align-content:start;text-decoration:none;display:grid;position:relative;overflow:hidden}.portfolio-card-1,.portfolio-card-2{grid-column:span 3}.portfolio-card img{object-fit:cover;width:100%;height:100%;min-height:0;transition:transform .32s var(--ease-3)}.portfolio-card picture{height:310px;position:relative;overflow:hidden}.portfolio-card-1 picture,.portfolio-card-2 picture{height:410px}.portfolio-card:after{display:none}.portfolio-card-count{color:var(--muted);padding:1rem 1rem 0;font-size:.78rem;font-weight:500}.portfolio-card>div{gap:.45rem;padding:.3rem 1rem 1.15rem;display:grid}.portfolio-card>div span{font-family:var(--font-serif);color:var(--forest);font-size:1.6rem;line-height:1}.portfolio-card p{max-width:34rem;color:var(--muted);margin:0;font-size:.95rem}.portfolio-card:hover img{transform:scale(1.035)}.split-section,.about-layout{border-top:1px solid var(--line);grid-template-columns:.9fr 1.1fr;align-items:center;gap:4.5rem;padding:5.75rem 0;display:grid}.dark-section,.cta-band-dark,.accent-section{color:var(--forest);background:var(--cream);box-shadow:0 0 0 100vmax var(--cream);clip-path:inset(0 -100vmax);position:relative}.dark-section h2,.cta-band-dark h2,.accent-section h2{color:var(--forest)}.dark-section .button,.accent-section .button{margin-top:1rem}.home-services-cta{border-top:0;grid-template-columns:minmax(0,1fr) auto;gap:2rem}.home-services-cta>.button{place-self:center start}.process-section{gap:1.25rem;display:grid}.compact-section{padding-top:0}.process-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.process-card,.package-card{border:.5px solid var(--line);border-radius:var(--radius);background:var(--surface);align-content:start;gap:1rem;display:grid}.process-card{padding:1.3rem}.process-card>span,.package-index{color:var(--muted);letter-spacing:.1em;font-size:.72rem;font-weight:500}.package-card-top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.package-badge{background:var(--forest);color:var(--paper);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border:0;border-radius:10px;padding:.28rem .45rem;font-size:.68rem;font-weight:500;line-height:1.1}.package-card-popular{border:2px solid var(--forest);box-shadow:0 18px 48px #12372a1f}.process-card p,.package-card p{margin-bottom:0}.services-list{width:min(100% - 2rem, var(--max));gap:4.5rem;margin:0 auto;display:grid}.service-group{border-bottom:1px solid var(--line);gap:1.25rem;padding-bottom:4.5rem;display:grid}.package-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.package-card{color:inherit;padding:1.25rem;text-decoration:none;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s}.package-card:hover{border-color:var(--forest);background:var(--surface);transform:translateY(-2px);box-shadow:0 18px 42px #12372a1f}.package-card:focus-visible{outline:3px solid var(--cream);outline-offset:4px}.package-card ul{gap:.35rem;margin:0;padding-left:1.1rem;display:grid}.package-card-cta{border-radius:var(--button-radius);background:var(--cream);width:fit-content;min-height:40px;color:var(--forest);justify-content:center;align-items:center;padding:.68rem .95rem;font-size:.86rem;font-weight:500;display:inline-flex}.package-card-popular .package-card-cta{background:var(--forest);color:var(--paper)}.price{color:var(--forest);margin:.35rem 0 0;font-size:1.25rem;font-weight:500}.about-layout-feature{border-top:0;min-height:calc(100svh - 96px)}.about-layout img{border-radius:var(--panel-radius);object-fit:cover;width:100%;max-height:760px;box-shadow:var(--shadow-soft)}.about-layout>div{gap:1.1rem;display:grid}.about-layout p{max-width:660px;margin-bottom:0;font-size:1.15rem}.inquire-layout{grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);align-items:start;gap:3rem;padding:4rem 0 5.75rem;display:grid}.inquire-aside{border-radius:var(--panel-radius);background:var(--forest);color:var(--paper);box-shadow:var(--shadow-soft);display:grid;position:sticky;top:6rem;overflow:hidden}.inquire-aside img{object-fit:cover;width:100%;height:360px}.inquire-aside>div{gap:.85rem;padding:1.3rem;display:grid}.inquire-aside h1{color:var(--white);font-size:3rem}.inquire-aside p{color:#f3efe6c2;margin-bottom:0}.inquire-aside a{color:var(--paper);font-weight:800}.form-section{border:.5px solid var(--line);border-radius:var(--panel-radius);background:var(--surface);width:100%;padding:1.25rem}.form-response-note{color:var(--muted);margin:0 0 1rem;font-size:.78rem;font-weight:500;display:inline-flex}.contact-form{gap:1rem;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.contact-form label,.contact-form fieldset{gap:.45rem;display:grid}.contact-form label,.contact-form legend{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:500}.contact-form fieldset{border:.5px solid var(--line);border-radius:var(--radius);background:var(--paper);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:1rem}.contact-form legend{grid-column:1/-1;padding:0 .2rem}.check-label{color:var(--ink);grid-template-columns:auto 1fr;align-items:center;font-weight:650}input,textarea,select{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper);width:100%;color:var(--ink);font:inherit;padding:.78rem .85rem}input[type=checkbox]{width:1.05rem;height:1.05rem;accent-color:var(--forest)}input[type=date],input[type=date]::-webkit-datetime-edit,input[type=date]::-webkit-datetime-edit-text,input[type=date]::-webkit-datetime-edit-month-field,input[type=date]::-webkit-datetime-edit-day-field,input[type=date]::-webkit-datetime-edit-year-field{color:var(--ink);-webkit-text-fill-color:var(--ink);opacity:1}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.65}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.contact-form input:not([type=checkbox]),.contact-form select{min-height:3rem}.contact-form select{padding-block:.5rem;font-size:1.05rem}input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--forest);outline-offset:3px}.contact-form input:user-invalid,.contact-form select:user-invalid,.contact-form textarea:user-invalid{border-color:var(--error);box-shadow:0 0 0 1px var(--error)}.field-error{color:var(--error);letter-spacing:normal;text-transform:none;font-size:.85rem;font-weight:500;display:none}.contact-form label:has(:user-invalid) .field-error{display:block}.form-note{min-height:1.5rem;color:var(--muted);margin:0;font-size:.9rem}.form-note[data-form-error]{color:var(--error)}.submission-modal[hidden]{display:none}.submission-modal{z-index:80;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.submission-modal-backdrop{backdrop-filter:blur(10px);background:#0c272094;position:absolute;inset:0}.submission-modal-card:focus{outline:none}.submission-modal-card{z-index:1;border:.5px solid var(--forest);border-radius:var(--panel-radius);background:var(--mountain-wire) center calc(100% + 8rem) / 900px 210px no-repeat, var(--cream);width:min(100%,560px);color:var(--ink);gap:1rem;padding:clamp(1.5rem,5vw,2.75rem);display:grid;position:relative;box-shadow:0 30px 90px #0c272057}.submission-modal-card h2{font-size:clamp(2.2rem,7vw,3.65rem)}.submission-modal-card p:not(.eyebrow){max-width:32rem;color:var(--muted);margin-bottom:0}.submission-modal-card .button{justify-self:start}.form-honeypot{width:1px;height:1px;position:absolute;left:-100vw;overflow:hidden}.gallery-hero{width:min(100% - 2rem, var(--max));grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);align-items:end;gap:3rem;margin:0 auto;padding:4rem 0 3rem;display:grid}.gallery-hero img{border-radius:var(--panel-radius);object-fit:cover;width:100%;height:520px;box-shadow:var(--shadow-soft)}.gallery-hero>div{gap:1rem;padding-bottom:1rem;display:grid}.gallery-count{color:var(--clay);letter-spacing:.08em;text-transform:uppercase;margin-bottom:0;font-weight:900}.gallery{width:min(100% - 2rem, var(--max));columns:3 280px;column-gap:1rem;margin:0 auto 3rem}.gallery a{break-inside:avoid;border-radius:var(--radius);background:var(--cream);margin-bottom:1rem;display:block;overflow:hidden}.gallery img{width:100%}.gallery picture{height:auto}.testimonial-section{gap:1rem;display:grid}.testimonial-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.testimonial-card{border:0;border-left:3px solid var(--forest);border-radius:0 var(--radius) var(--radius) 0;background:var(--cream);align-content:space-between;gap:1.25rem;margin:0;padding:1.25rem;display:grid}.testimonial-card blockquote{margin:0}.testimonial-card blockquote p{color:var(--ink);font-family:var(--font-serif);margin:0;font-size:.95rem;font-style:italic;line-height:1.24}.testimonial-card figcaption{color:var(--muted);gap:.15rem;display:grid}.testimonial-card figcaption span:first-child{color:var(--muted);font-weight:500}.testimonial-card figcaption span:last-child{font-size:.88rem}.faq-section{padding-top:0}.faq-list{gap:.75rem;max-width:920px;display:grid}.faq-item{border:.5px solid var(--line);border-radius:var(--radius);background:var(--surface)}.faq-item summary{cursor:pointer;color:var(--forest);padding:1rem 1.1rem;font-size:.95rem;font-weight:500}.faq-item summary::marker{color:var(--clay)}.faq-item p{color:var(--muted);margin:0;padding:0 1.1rem 1.1rem}.cta-band{justify-content:space-between;align-items:center;gap:2rem;padding:3.5rem 0 5.75rem;display:flex}.cta-band h2{max-width:760px}.site-footer{width:min(100% - 2rem, var(--max));background:var(--forest);box-shadow:0 0 0 100vmax var(--forest);clip-path:inset(0 -100vmax);color:var(--cream);border-top:0;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:2rem;margin:0 auto;padding:2.25rem 0 0;display:grid}.site-footer p{margin-bottom:0}.footer-primary,.footer-contact{gap:.45rem;display:grid}.footer-contact{justify-items:end}.footer-brand{color:var(--paper);font-size:1.55rem;font-weight:500}.footer-primary p:not(.footer-brand){color:var(--cream)}.site-footer nav{gap:.75rem}.footer-contact-links{flex-wrap:wrap;justify-content:end;align-items:center;gap:.6rem;display:flex}.icon-link{color:var(--cream);place-items:center;display:inline-grid}.icon-link:hover .line-icon,.icon-link:focus-visible .line-icon{border-color:var(--paper);color:var(--paper);background:0 0}.line-icon{border:1px solid var(--cream);width:2.25rem;height:2.25rem;color:var(--cream);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;background:0 0;border-radius:999px;flex:none;padding:.38rem}.footer-bottom{background:var(--forest-deep);box-shadow:0 0 0 100vmax var(--forest-deep);clip-path:inset(0 -100vmax);grid-column:1/-1;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding:.85rem 0;display:flex}.footer-bottom span{color:var(--cream);font-size:.72rem;line-height:1.4}@media (width<=980px){h1{font-size:4rem}h2{font-size:3rem}.page-hero-split,.split-section,.about-layout,.inquire-layout,.gallery-hero,.section-kicker{grid-template-columns:1fr}.portfolio-card,.portfolio-card-1,.portfolio-card-2{grid-column:span 3}.testimonial-grid{grid-template-columns:1fr}.inquire-aside{position:static}}@media (width<=760px){h1{font-size:2.75rem;line-height:1.02}h2{font-size:2.35rem}h3{font-size:1.45rem}.site-header,.site-footer,.cta-band{flex-direction:column;grid-template-columns:1fr;align-items:flex-start}.site-header{flex-direction:row;align-items:center;gap:1rem;position:sticky}.nav-toggle{opacity:0;width:1px;height:1px;position:absolute}.nav-toggle-button{border:1px solid var(--cream);border-radius:var(--button-radius);cursor:pointer;grid-template-rows:repeat(3,1px);align-content:center;justify-items:center;gap:.28rem;width:2.5rem;height:2.5rem;margin-left:auto;padding:.62rem;display:grid}.nav-toggle:focus-visible+.nav-toggle-button{outline:3px solid var(--cream);outline-offset:3px}.nav-toggle-button span{background:var(--cream);width:1rem;height:1px;display:block}.site-nav{display:none}.nav-toggle:checked~.site-nav{background:var(--forest);border-top:1px solid var(--forest-deep);justify-content:stretch;gap:.35rem;padding:.75rem 1rem 1rem;display:grid;position:absolute;top:100%;left:0;right:0}.site-nav a{padding:.6rem 0}.site-nav a:last-child{justify-self:start;padding:.55rem .95rem}.home-hero{min-height:680px}.home-hero-copy{padding:3.5rem 0 4rem}.home-hero-overlay{background:linear-gradient(#0c27206b,#0c2720db),linear-gradient(90deg,#0c2720c2,#0c272038)}.home-hero-copy h1{max-width:12ch}.home-hero-copy span{max-width:22rem}.image-ribbon,.portfolio-grid,.package-grid,.process-grid,.form-grid,.contact-form fieldset{grid-template-columns:1fr}.image-ribbon{width:100%;padding:0 0 1rem max(.75rem, calc((100vw - var(--max)) / 2));overscroll-behavior-inline:contain;scroll-padding-left:max(.75rem, calc((100vw - var(--max)) / 2));scroll-snap-type:inline mandatory;scrollbar-width:none;touch-action:pan-x;-webkit-overflow-scrolling:touch;grid-template-areas:none;gap:.75rem;margin-top:.75rem;display:flex;overflow-x:auto}.image-ribbon::-webkit-scrollbar{display:none}.ribbon-item,.ribbon-item-1,.ribbon-item-2,.ribbon-item-3,.ribbon-item-4,.ribbon-item-5,.ribbon-item-6,.ribbon-item-7,.ribbon-item-8,.portfolio-card,.portfolio-card-1,.portfolio-card-2{grid-area:auto}.ribbon-item{aspect-ratio:4/5;scroll-snap-align:start;scroll-snap-stop:always;min-height:auto;box-shadow:var(--shadow-soft);flex:0 0 min(78vw,20rem)}.ribbon-item:after{content:"";background:linear-gradient(#0000,#0c2720b8);height:34%;position:absolute;inset:auto 0 0}.ribbon-item span{display:block}.ribbon-item-1 img{object-position:center 36%}.portfolio-card picture,.portfolio-card-1 picture,.portfolio-card-2 picture{height:300px}.gallery-hero img,.inquire-aside img{height:340px}.footer-contact{justify-items:start}.footer-contact-links{justify-content:start}.footer-bottom{flex-direction:column}.footer-bottom span:last-child{text-align:left}}@media (width<=460px){h1{font-size:2.25rem;line-height:1.02}h2{font-size:2rem}.brand-mark{width:2.2rem;height:2.2rem}.button,.button-row{width:100%}.home-hero{min-height:620px}.home-hero-copy span{font-size:1rem}.section,.page-hero,.process-section,.split-section,.about-layout{padding:4rem 0}}
