: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: #6B7280;--lichen: #DAD3BE;--accent: #6B7280;--accent-deep: #6B7280;--clay: var(--accent);--ember: #DAD3BE;--ink: #12372A;--muted: #6B7280;--paper: #F3EFE6;--cream: #DAD3BE;--surface: #FFFFFF;--white: #FFFFFF;--line: #DAD3BE;--line-strong: #DAD3BE;--max: 1280px;--radius: 8px;--panel-radius: 12px;--button-radius: 24px;--shadow-soft: 0 24px 60px rgba(12, 39, 32, .14);--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{margin:0;min-width:320px;background:var(--paper);text-rendering:optimizeLegibility}body.modal-open{overflow:hidden}img{display:block;max-width:100%}picture{display:block;width:100%}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{position:fixed;left:1rem;top:1rem;z-index:100;transform:translateY(-150%);background:var(--forest);color:var(--paper);padding:.65rem .9rem}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:2rem;width:100%;min-height:64px;margin:0;padding:.6rem max(1rem,calc((100vw - var(--max)) / 2));background:var(--forest);border-bottom:1px solid var(--forest-deep)}.brand{display:grid;grid-template-columns:auto 1fr;gap:.08rem .75rem;align-items:center;color:var(--paper);text-decoration:none}.brand-mark{grid-row:span 2;display:inline-grid;width:2.45rem;height:2.45rem;place-items:center;border:1px solid var(--cream);border-radius:var(--radius);font-family:var(--font-sans);font-size:.72rem;font-weight:800}.brand span:nth-child(2){font-size:1.12rem;line-height:1}.brand span:last-child{color:var(--cream);font-family:var(--font-sans);font-size:.72rem;font-weight:800;letter-spacing:.16em;line-height:1;text-transform:uppercase}.site-nav,.site-footer nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.nav-toggle,.nav-toggle-button{display:none}.site-nav a,.site-footer a{border-radius:var(--radius);text-decoration:none}.site-nav a{padding:.55rem .75rem;color:var(--cream);font-size:.85rem;font-weight:500}.site-nav a[aria-current=page],.site-nav a:hover{background:transparent;color:var(--paper)}.site-nav a:last-child{padding:.55rem .95rem;border-radius:var(--button-radius);background:var(--cream);color:var(--forest)}.site-nav a:last-child:hover,.site-nav a:last-child[aria-current=page]{background:var(--paper);color:var(--forest)}.home-hero{position:relative;isolation:isolate;display:grid;min-height:min(760px,calc(100svh - 132px));overflow:hidden;color:var(--paper);background:var(--forest-deep)}.home-hero:before{position:absolute;inset:auto 0 0;z-index:0;height:24%;pointer-events:none;content:"";background:var(--mountain-wire-light) center calc(100% + 9.5rem) / 1200px 280px repeat-x}.home-hero-image,.home-hero-overlay{position:absolute;inset:0;width:100%;height:100%}.home-hero>picture{position:absolute;inset:0;z-index:-2;height:100%}.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(0deg,#0c272094,#0c27200d 44%)}.home-hero-copy{position:relative;z-index:1;display:grid;align-content:end;gap:1.2rem;width:min(100% - 2rem,var(--max));margin:0 auto;padding:5rem 0}.home-hero-copy h1{max-width:760px;color:var(--white)}.home-hero-copy span{max-width:620px;color:#f3efe6e0;font-size:1.14rem}.eyebrow,.home-hero-copy p,.section-heading p,.section-kicker p{margin:0;color:var(--clay);font-size:.78rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.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{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:.82rem 1.05rem;border:1px solid var(--forest);border-radius:var(--button-radius);background:transparent;color:var(--forest);text-decoration:none;font-size:.9rem;font-weight:500;transition:transform .16s var(--ease-3),background-color .16s var(--ease-3),color .16s var(--ease-3),border-color .16s var(--ease-3)}.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);background:transparent;color:var(--muted)}.home-hero .button-outlined{color:var(--paper);border-color:#f3efe694}.button-light{border-color:var(--cream);background:var(--cream);color:var(--forest)}.image-ribbon{display:grid;grid-template-areas:"a a b c" "a a d d" "e f g h";grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;width:min(100% - 2rem,var(--max));margin:1rem auto 0}.ribbon-item{position:relative;display:block;min-height:0;overflow:hidden;border-radius:var(--radius);background:var(--cream);aspect-ratio:4 / 3}.ribbon-item img{width:100%;height:100%;object-fit:cover}.ribbon-item span{position:absolute;left:.95rem;bottom:.85rem;z-index:1;display:none;color:var(--paper);font-size:.95rem;font-weight:800;line-height:1.2}.ribbon-item picture,.portfolio-card picture,.gallery-hero picture,.about-layout 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{grid-area:d;aspect-ratio:8 / 3}.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{display:grid;gap:2rem}.section-kicker{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:2rem;align-items:end;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}.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{display:grid;gap:.75rem;max-width:760px;margin-bottom:2rem}.section-heading.wide{max-width:880px}.section-heading.compact{margin-bottom:1.5rem}.page-hero{display:grid;gap:1rem}.page-hero-centered{min-height:calc(100svh - 240px);align-content:center}.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:end;gap:3rem}.page-hero-split p:last-child{max-width:560px;margin-bottom:.3rem;font-size:1.1rem}.portfolio-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem}.portfolio-card{position:relative;display:grid;align-content:start;grid-column:span 2;overflow:hidden;border-radius:var(--radius);border:.5px solid var(--line);background:var(--surface);color:var(--forest);text-decoration:none}.portfolio-card-1,.portfolio-card-2{grid-column:span 3}.portfolio-card img{width:100%;height:100%;min-height:0;object-fit:cover;transition:transform .32s var(--ease-3)}.portfolio-card picture{position:relative;height:310px;overflow:hidden}.portfolio-card-1 picture,.portfolio-card-2 picture{height:410px}.portfolio-card:after{display:none}.portfolio-card-count{padding:1rem 1rem 0;color:var(--muted);font-size:.78rem;font-weight:500}.portfolio-card>div{display:grid;gap:.45rem;padding:.3rem 1rem 1.15rem}.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;margin:0;color:var(--muted);font-size:.95rem}.portfolio-card:hover img{transform:scale(1.035)}.split-section,.about-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:4.5rem;align-items:center;padding:5.75rem 0;border-top:1px solid var(--line)}.dark-section,.cta-band-dark,.accent-section{position:relative;color:var(--forest);background:var(--cream);box-shadow:0 0 0 100vmax var(--cream);clip-path:inset(0 -100vmax)}.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{grid-template-columns:minmax(0,1fr) auto;gap:2rem;border-top:0}.home-services-cta>.button{align-self:center;justify-self:start}.process-section{display:grid;gap:1.25rem}.compact-section{padding-top:0}.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.process-card,.package-card{display:grid;align-content:start;gap:1rem;border:.5px solid var(--line);border-radius:var(--radius);background:var(--surface)}.process-card{padding:1.3rem}.process-card>span,.package-index{color:var(--muted);font-size:.72rem;font-weight:500;letter-spacing:.1em}.package-card-top{display:flex;gap:.75rem;align-items:flex-start;justify-content:space-between}.package-badge{padding:.28rem .45rem;border:0;border-radius:10px;background:var(--forest);color:var(--paper);font-size:.68rem;font-weight:500;letter-spacing:.04em;line-height:1.1;text-transform:uppercase;white-space:nowrap}.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{display:grid;gap:4.5rem;width:min(100% - 2rem,var(--max));margin:0 auto}.service-group{display:grid;gap:1.25rem;padding-bottom:4.5rem;border-bottom:1px solid var(--line)}.package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.package-card{color:inherit;padding:1.25rem;text-decoration:none;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.package-card:hover{border-color:var(--forest);background:var(--surface);box-shadow:0 18px 42px #12372a1f;transform:translateY(-2px)}.package-card:focus-visible{outline:3px solid var(--cream);outline-offset:4px}.package-card ul{display:grid;gap:.35rem;margin:0;padding-left:1.1rem}.package-card-cta{display:inline-flex;min-height:40px;width:fit-content;align-items:center;justify-content:center;padding:.68rem .95rem;border-radius:var(--button-radius);background:var(--cream);color:var(--forest);font-size:.86rem;font-weight:500}.package-card-popular .package-card-cta{background:var(--forest);color:var(--paper)}.price{margin:.35rem 0 0;color:var(--forest);font-size:1.25rem;font-weight:500}.about-layout-feature{min-height:calc(100svh - 96px);border-top:0}.about-layout img{width:100%;max-height:760px;border-radius:var(--panel-radius);object-fit:cover;box-shadow:var(--shadow-soft)}.about-layout>div{display:grid;gap:1.1rem}.about-layout p{max-width:660px;margin-bottom:0;font-size:1.15rem}.inquire-layout{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);gap:3rem;align-items:start;padding:4rem 0 5.75rem}.inquire-aside{position:sticky;top:6rem;display:grid;overflow:hidden;border-radius:var(--panel-radius);background:var(--forest);color:var(--paper);box-shadow:var(--shadow-soft)}.inquire-aside img{width:100%;height:360px;object-fit:cover}.inquire-aside>div{display:grid;gap:.85rem;padding:1.3rem}.inquire-aside h1{color:var(--white);font-size:3rem}.inquire-aside p{margin-bottom:0;color:#f3efe6c2}.inquire-aside a{color:var(--paper);font-weight:800}.form-section{width:100%;padding:1.25rem;border:.5px solid var(--line);border-radius:var(--panel-radius);background:var(--surface)}.form-response-note{display:inline-flex;margin:0 0 1rem;color:var(--muted);font-size:.78rem;font-weight:500}.contact-form{display:grid;gap:1rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.contact-form label,.contact-form fieldset{display:grid;gap:.45rem}.contact-form label,.contact-form legend{color:var(--muted);font-size:.78rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.contact-form fieldset{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:1rem;border:.5px solid var(--line);border-radius:var(--radius);background:var(--paper)}.contact-form legend{grid-column:1 / -1;padding:0 .2rem}.check-label{grid-template-columns:auto 1fr;align-items:center;color:var(--ink);font-weight:650}input,textarea,select{width:100%;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper);color:var(--ink);padding:.78rem .85rem;font:inherit}input[type=checkbox]{width:1.05rem;height:1.05rem;accent-color:var(--forest)}input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--forest);outline-offset:3px}.form-note{min-height:1.5rem;margin:0;color:var(--muted);font-size:.9rem}.submission-modal[hidden]{display:none}.submission-modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:1rem}.submission-modal-backdrop{position:absolute;inset:0;background:#0c272094;backdrop-filter:blur(10px)}.submission-modal-card{position:relative;z-index:1;display:grid;gap:1rem;width:min(100%,560px);padding:clamp(1.5rem,5vw,2.75rem);border:.5px solid var(--forest);border-radius:var(--panel-radius);background:var(--mountain-wire) center calc(100% + 8rem) / 900px 210px no-repeat,var(--cream);color:var(--ink);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;margin-bottom:0;color:var(--muted)}.submission-modal-card .button{justify-self:start}.form-honeypot{position:absolute;left:-100vw;width:1px;height:1px;overflow:hidden}.gallery-hero{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:3rem;align-items:end;width:min(100% - 2rem,var(--max));margin:0 auto;padding:4rem 0 3rem}.gallery-hero img{width:100%;height:520px;border-radius:var(--panel-radius);object-fit:cover;box-shadow:var(--shadow-soft)}.gallery-hero>div{display:grid;gap:1rem;padding-bottom:1rem}.gallery-count{margin-bottom:0;color:var(--clay);font-weight:900;letter-spacing:.08em;text-transform:uppercase}.gallery{width:min(100% - 2rem,var(--max));margin:0 auto 3rem;columns:3 280px;column-gap:1rem}.gallery a{display:block;margin-bottom:1rem;break-inside:avoid;overflow:hidden;border-radius:var(--radius);background:var(--cream)}.gallery img{width:100%}.gallery picture{height:auto}.testimonial-section{display:grid;gap:1rem}.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.testimonial-card{display:grid;gap:1.25rem;align-content:space-between;margin:0;padding:1.25rem;border:0;border-left:3px solid var(--forest);border-radius:0 var(--radius) var(--radius) 0;background:var(--cream)}.testimonial-card blockquote{margin:0}.testimonial-card blockquote p{margin:0;color:var(--ink);font-family:var(--font-serif);font-size:.95rem;font-style:italic;line-height:1.24}.testimonial-card figcaption{display:grid;gap:.15rem;color:var(--muted)}.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{display:grid;gap:.75rem;max-width:920px}.faq-item{border:.5px solid var(--line);border-radius:var(--radius);background:var(--surface)}.faq-item summary{cursor:pointer;padding:1rem 1.1rem;color:var(--forest);font-size:.95rem;font-weight:500}.faq-item summary::marker{color:var(--clay)}.faq-item p{margin:0;padding:0 1.1rem 1.1rem;color:var(--muted)}.cta-band{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:3.5rem 0 5.75rem}.cta-band h2{max-width:760px}.site-footer{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:2rem;width:min(100% - 2rem,var(--max));margin:0 auto;padding:2.25rem 0 0;border-top:0;background:var(--forest);box-shadow:0 0 0 100vmax var(--forest);clip-path:inset(0 -100vmax);color:var(--cream)}.site-footer p{margin-bottom:0}.footer-primary,.footer-contact{display:grid;gap:.45rem}.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{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:end}.icon-link{display:inline-grid;place-items:center;color:var(--cream)}.icon-link:hover .line-icon,.icon-link:focus-visible .line-icon{border-color:var(--paper);background:transparent;color:var(--paper)}.line-icon{width:2.25rem;height:2.25rem;padding:.38rem;border:1px solid var(--cream);border-radius:999px;background:transparent;color:var(--cream);fill:none;flex:0 0 auto;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.footer-bottom{display:flex;grid-column:1 / -1;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding:.85rem 0;background:var(--forest-deep);box-shadow:0 0 0 100vmax var(--forest-deep);clip-path:inset(0 -100vmax)}.footer-bottom span{color:var(--cream);font-size:.72rem;line-height:1.4}.footer-bottom span:last-child{color:var(--muted);text-align:right}@media(max-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(max-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{align-items:flex-start;grid-template-columns:1fr;flex-direction:column}.site-header{position:sticky;align-items:center;flex-direction:row;gap:1rem}.nav-toggle{position:absolute;width:1px;height:1px;opacity:0}.nav-toggle-button{display:grid;grid-template-rows:repeat(3,1px);align-content:center;justify-items:center;gap:.28rem;width:2.5rem;height:2.5rem;padding:.62rem;border:1px solid var(--cream);border-radius:var(--button-radius);cursor:pointer;margin-left:auto}.nav-toggle:focus-visible+.nav-toggle-button{outline:3px solid var(--cream);outline-offset:3px}.nav-toggle-button span{display:block;width:1rem;height:1px;background:var(--cream)}.site-nav{display:none}.nav-toggle:checked~.site-nav{position:absolute;top:100%;right:0;left:0;display:grid;justify-content:stretch;gap:.35rem;padding:.75rem 1rem 1rem;background:var(--forest);border-top:1px solid var(--forest-deep)}.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(180deg,#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{display:flex;grid-template-areas:none;width:100%;margin-top:.75rem;padding:0 0 1rem max(.75rem,calc((100vw - var(--max)) / 2));gap:.75rem;overflow-x:auto;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}.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-column:auto;grid-area:auto}.ribbon-item{flex:0 0 min(78vw,20rem);min-height:auto;aspect-ratio:4 / 5;scroll-snap-align:start;scroll-snap-stop:always;box-shadow:var(--shadow-soft)}.ribbon-item:after{position:absolute;inset:auto 0 0;height:34%;content:"";background:linear-gradient(180deg,transparent,rgba(12,39,32,.72))}.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(max-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}}
