@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Barlow+Condensed:wght@500;600;700&family=Bitter:wght@500;600&display=swap');
:root{--forest:#173b31;--paper:#f1f0e8;--ink:#183a30;--muted:#75816e;--line:#d1d5c6;--accent:#d5dfa7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button,input,select,textarea{font:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8c9f53;outline-offset:5px}button{cursor:pointer}button[hidden],a[hidden]{display:none!important}.skip{position:fixed;top:-100px;background:var(--accent);padding:12px;z-index:100}.skip:focus{top:0}.header{height:96px;padding:0 5%;display:flex;align-items:center;gap:35px;background:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid #d8dccd}.brand{display:flex;align-items:center;gap:9px;flex-shrink:0}.brand svg{width:38px;height:44px}.brand>span{font-family:Sora,sans-serif;font-size:31px;font-weight:800;letter-spacing:2px;line-height:1}.brand small{display:block;font-size:7px;letter-spacing:1.4px;margin-top:8px;font-weight:600}.header nav{display:flex;gap:33px;font-size:12px;margin:auto}.header nav a{position:relative}.header nav a:after{content:'';position:absolute;bottom:-7px;height:1px;background:var(--forest);left:0;width:0;transition:width .2s}.header nav a:hover:after{width:100%}.header-contact{border:1px solid #aeb8a4;padding:15px 18px;font-size:11px}.header-contact span{margin-left:27px}.menu{display:none}.hero{display:grid;grid-template-columns:47% 53%;background:var(--forest);color:var(--paper);min-height:680px;height:calc(100svh - 96px);max-height:950px;position:relative}.hero-copy{grid-column:1;grid-row:1;padding:65px 9% 26px 11%;display:flex;flex-direction:column;align-items:start;position:relative;z-index:1}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:600;margin:0 0 28px;line-height:1.8}.hero .eyebrow{color:#c0ccb2;display:flex;align-items:center;gap:10px;font-size:8px;letter-spacing:1.4px}.dot{width:6px;height:6px;background:var(--accent);border-radius:50%;flex-shrink:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Sora,sans-serif}h1{font-size:clamp(52px,6.3vw,103px);font-weight:500;line-height:1.04;letter-spacing:-5px;margin-bottom:27px}em{font-style:normal;color:var(--accent)}.hero-description{font-size:14px;line-height:1.8;max-width:305px;color:#c7d0c0;margin-bottom:28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;border:0;padding:18px 23px;font-size:11px;font-weight:600;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px);background:#bfcd8e}.button span{font-size:23px;font-weight:400}.pale{background:var(--accent);color:var(--forest)}.forest{background:var(--forest);color:var(--paper)}.forest:hover{background:#2b5141}.hero-photo{grid-column:2;grid-row:1;position:relative;overflow:hidden}.hero-photo img{object-position:54% 35%;animation:arrive 1s ease-out}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#10291d65,transparent 40%)}.photo-caption{position:absolute;bottom:30px;right:30px;z-index:1;font-size:8px;letter-spacing:1.7px;color:white}.hero-foot{margin-top:auto;padding-top:35px;width:100%;display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.7px;color:#adbea0}.hero-foot a{border:1px solid #6f8565;width:35px;height:35px;display:grid;place-items:center;font-size:20px;border-radius:50%}.strap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 5%;border-bottom:1px solid var(--line);font-size:9px;letter-spacing:1.8px;font-weight:600}.strap b{font-size:22px;font-weight:400}.section{padding:100px 7%}h2{font-size:clamp(34px,3.7vw,58px);font-weight:500;line-height:1.18;letter-spacing:-2.4px;margin-bottom:28px}h2>span{color:#85917d}.intro{display:grid;grid-template-columns:1fr 2.5fr;gap:30px}.intro>.eyebrow{margin-top:10px}.intro h2{font-size:clamp(30px,3.4vw,53px)}.intro>div>p{max-width:570px;font-size:14px;line-height:1.9;color:#66725d;margin:30px 0 0}.services{padding-top:30px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:42px}.section-heading h2{margin:0}.section-heading>p{font-size:12px;line-height:1.9;color:#6d7962;max-width:330px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px 24px}.card-image{height:330px;position:relative;overflow:hidden;background:#d6dacd}.card-image img{transition:transform .6s}.service-card:hover img{transform:scale(1.04)}.card-number{position:absolute;top:17px;left:18px;font-size:11px;background:var(--paper);padding:7px 10px}.card-arrow{position:absolute;bottom:18px;right:18px;background:var(--paper);color:var(--forest);width:37px;height:37px;display:grid;place-items:center;border-radius:50%;font-size:22px}.card-copy{padding:21px 0 0}.card-copy .eyebrow{font-size:8px;color:#6a795d;letter-spacing:1.5px}.card-copy h3{font-size:21px;font-weight:500;letter-spacing:-.6px;margin:8px 0 8px}.card-copy p{font-size:12px;color:#758069;margin:0}.feature{display:grid;grid-template-columns:1.15fr 1fr;background:var(--forest);color:var(--paper)}.feature-image{position:relative;min-height:650px}.feature-image img{position:absolute;object-position:40% center}.feature-copy{padding:80px 13% 65px 12%}.feature-copy .eyebrow{font-size:8px;color:#b9c7aa}.feature-copy h2{font-size:clamp(43px,4.5vw,72px);line-height:1.06;letter-spacing:-3px}.feature-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;color:#bdcbb5;margin:30px 0}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid #8d9d7d;padding:13px 0;font-size:11px}.text-link span{font-size:22px}.text-link:hover{color:#8ea85a}.vertical-label{position:absolute;left:25px;bottom:30px;background:var(--paper);padding:13px 16px;font-size:8px;letter-spacing:1.6px}.gallery-section{background:#e5e8dc}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.filters button{border:1px solid #bcc6ae;padding:10px 20px;background:transparent;color:var(--ink);font-size:11px}.filters button[aria-pressed=true]{background:var(--forest);color:var(--paper);border-color:var(--forest)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.gallery-item{padding:0;border:0;position:relative;overflow:hidden;height:320px;background:#bcc8b0;text-align:left;color:white}.gallery-item[hidden]{display:none}.gallery-item img{transition:transform .5s}.gallery-item:hover img{transform:scale(1.06)}.gallery-item>span{position:absolute;left:0;right:0;bottom:0;padding:50px 18px 18px;background:linear-gradient(0deg,#10251dd9,transparent);font-size:11px}.gallery-item b{float:right;font-size:20px;font-weight:400}.about{display:grid;grid-template-columns:1fr 1fr}.about-copy{padding:95px 14%}.about-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;color:#6c7860}.about-photo{position:relative;min-height:650px}.about-photo img{position:absolute;object-position:55% center}.about-photo>span{position:absolute;bottom:28px;left:28px;font-size:8px;letter-spacing:2px;background:var(--paper);padding:12px 16px}.location{border-top:1px solid var(--line);margin-top:55px;padding-top:20px;display:flex;justify-content:space-between;gap:10px;font-size:7px;letter-spacing:1.3px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:55px}.steps article{border-top:1px solid #bbc6ac;padding-top:25px}.steps article>span{font-size:11px;color:#7a8a65}.steps h3{font-size:22px;font-weight:500;letter-spacing:-.5px;margin:28px 0 16px}.steps p{font-size:12px;line-height:1.9;color:#768069;max-width:290px}.cta{padding:75px 7%;background:var(--accent)}.cta>div{display:flex;align-items:center;justify-content:space-between}.cta h2{font-size:clamp(58px,7.5vw,115px);letter-spacing:-5px;line-height:1.02;margin-bottom:30px}.cta em{color:#748654}.cta>p:last-child{font-size:12px;line-height:1.9;margin:0}.round-link{display:grid;place-items:center;border-radius:50%;border:1px solid #92a075;width:130px;height:130px;font-size:70px;font-weight:400;transition:background .2s}.round-link:hover{background:var(--forest);color:var(--paper)}footer{padding:55px 7% 25px}.footer-top{display:grid;grid-template-columns:1fr 1fr 1.2fr;align-items:start;gap:25px}.footer-top>p{font-size:13px;line-height:1.8;color:#748165}.footer-top>div{display:flex;flex-direction:column;align-items:end;gap:12px;font-size:12px}.footer-bottom{margin-top:40px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:8px;color:#75816d}.footer-bottom>div{display:flex;gap:20px}.lightbox{border:0;background:#10251d;color:white;width:100vw;max-width:none;height:100svh;max-height:none;padding:65px 7% 45px;inset:0;margin:0;overflow:hidden}.lightbox::backdrop{background:#10251def}.lightbox[open]{display:grid;grid-template-columns:45px 1fr 45px;align-items:center;gap:25px}.lightbox figure{height:100%;max-height:calc(100svh - 130px);margin:0;display:flex;flex-direction:column;align-items:center;min-height:0}.lightbox figure img{min-height:0;object-fit:contain}.lightbox figcaption{font-size:11px;padding:16px;text-align:center}.lightbox button{border:1px solid #7b8d72;background:transparent;color:white;width:40px;height:40px;font-size:23px}.lightbox .lb-close{position:absolute;top:18px;right:25px;width:auto;padding:0 15px;font-size:12px}.lb-count{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-size:10px}.detail-hero{display:grid;grid-template-columns:1fr 1fr;min-height:610px;background:var(--forest);color:var(--paper)}.detail-copy{padding:40px 12% 70px 14%}.breadcrumb{font-size:11px;display:inline-block;margin-bottom:65px;color:#bac8ad}.detail-copy h1{font-size:clamp(42px,4.7vw,73px);letter-spacing:-3px;overflow-wrap:normal;hyphens:auto}.detail-copy>.eyebrow{font-size:8px;color:#b7c5a7}.detail-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;color:#c6d0bd;margin-bottom:30px}.detail-hero>img{max-height:740px;min-height:100%}.detail-body{display:grid;grid-template-columns:1fr 2fr;gap:50px}.detail-body>div{max-width:700px}.detail-body p:not(.eyebrow){font-size:15px;line-height:1.9;color:#65735a}.detail-body ul{list-style:none;padding:15px 0 0;margin:20px 0 0}.detail-body li{border-top:1px solid var(--line);padding:19px 0;font-size:13px}.detail-body li:before{content:'↗';margin-right:22px}.detail-photo{height:570px;position:relative;margin:0 7%;background:#d6dccd}.detail-photo img{object-fit:contain}.detail-photo span{position:absolute;bottom:0;left:0;background:var(--forest);color:var(--paper);padding:18px 22px;font-size:8px;letter-spacing:1.5px}.request-strip{display:grid;grid-template-columns:1fr 1fr;gap:40px;border-bottom:1px solid var(--line)}.request-strip p{font-size:15px;line-height:1.9;max-width:440px;color:#6a775e}.related{padding-top:65px}.two{grid-template-columns:1fr 1fr}.contact-page{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:90px}.contact-intro h1{font-size:clamp(50px,6vw,88px);letter-spacing:-4px}.contact-intro em{color:#819465}.contact-intro>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#6b775e}.contact-phone{display:block;font-family:Sora,sans-serif;font-size:clamp(19px,2.4vw,36px);margin-top:40px;letter-spacing:-1px}.contact-phone span{font-size:28px}.contact-email{display:inline-block;font-size:14px;margin-top:15px;border-bottom:1px solid var(--line);padding-bottom:8px}address{font-size:12px;font-style:normal;line-height:1.9;margin-top:35px}form{padding:30px;background:#e2e7d7}label{display:block;font-size:11px;margin-bottom:23px}input,select,textarea{display:block;width:100%;padding:14px 0;border:0;border-bottom:1px solid #a6b398;background:transparent;color:var(--ink);font-size:13px;border-radius:0}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-note{font-size:10px;line-height:1.8;color:#6a775b}.form-note a{text-decoration:underline}form .button{width:100%;margin-top:12px}#status,#fallback{font-size:11px;line-height:1.8}#status{margin-top:18px}.contact-image{height:430px;position:relative}.contact-image img{object-position:center 60%;filter:brightness(.65)}.contact-image p{position:absolute;left:7%;bottom:35px;color:var(--paper);font-size:38px;letter-spacing:-1px;line-height:1.25;font-family:Sora,sans-serif}.legal{max-width:1000px;min-height:65vh}.legal h1{font-size:62px;letter-spacing:-3px}.legal h2{font-size:27px;margin-top:40px;letter-spacing:-1px}.legal p{font-size:14px;line-height:1.9;max-width:720px}.legal a{text-decoration:underline}@keyframes arrive{from{transform:scale(1.04)}to{transform:scale(1)}}@media(min-width:1650px){.hero-copy{padding-left:15%}.section{padding-left:max(7%,calc((100vw - 1450px)/2));padding-right:max(7%,calc((100vw - 1450px)/2))}.card-image{height:400px}}
@media(max-width:1050px){.header{gap:20px}.header nav{gap:22px}.hero{min-height:650px}.hero-copy{padding-top:55px}h1{font-size:68px;letter-spacing:-3.5px}.hero-description{font-size:13px}.card-image{height:270px}.card-copy h3{font-size:18px}.gallery-item{height:270px}.feature-image{min-height:580px}.feature-copy{padding:65px 10%}.about-copy{padding:75px 12%}.contact-page{gap:6%}form{padding:25px}}
@media(max-width:760px){html{scroll-padding-top:78px}.header{height:78px;padding:0 6%;gap:17px}.brand>span{font-size:26px}.brand svg{width:30px}.brand small{font-size:5.7px;letter-spacing:1px}.header-contact{margin-left:auto;padding:12px;font-size:9px}.header-contact span{margin-left:12px}.menu{width:24px;height:30px;border:0;background:none;padding:5px 0;display:flex;flex-direction:column;justify-content:center;gap:6px}.menu span{height:1px;width:24px;background:var(--forest)}.menu[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.header nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:25px 7%;font-size:16px;border-bottom:1px solid var(--line)}.header nav.open{display:flex;flex-direction:column;gap:25px}.hero{height:auto;max-height:none;min-height:0;grid-template-columns:1fr}.hero-photo{grid-column:1;grid-row:2;height:490px}.hero-photo img{object-position:50% 32%}.hero-copy{grid-column:1;grid-row:1;padding:45px 7% 25px}.hero h1{font-size:clamp(57px,10.5vw,82px);letter-spacing:-3.5px}.hero h1 br:nth-child(2){display:none}.hero-description{font-size:14px;max-width:370px}.hero .eyebrow{margin-bottom:22px}.hero-foot{padding-top:35px}.photo-caption{bottom:22px;right:7%;font-size:7px}.strap{font-size:8px;letter-spacing:1px;gap:12px;padding:20px 6%}.strap span:last-child{display:none}.strap b{font-size:17px}.section{padding:65px 7%}h2{font-size:36px;letter-spacing:-1.7px}.intro{grid-template-columns:1fr;gap:5px}.intro h2{font-size:32px}.intro>div>p{font-size:13px;margin-top:20px}.services{padding-top:25px}.section-heading{align-items:start;gap:20px;margin-bottom:30px}.section-heading>p{display:none}.service-grid{grid-template-columns:1fr 1fr;gap:30px 18px}.card-image{height:300px}.card-copy h3{font-size:19px}.feature{grid-template-columns:1fr}.feature-image{min-height:440px}.feature-image img{object-position:50% center}.feature-copy{padding:50px 7%}.feature-copy h2{font-size:57px}.feature-copy h2 br:nth-child(2){display:none}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.gallery-item{height:290px}.filters button{padding:9px 13px;font-size:10px}.about{grid-template-columns:1fr}.about-copy{padding:65px 7%}.about-copy h2{font-size:45px}.about-photo{min-height:530px}.location{max-width:380px;margin-top:35px}.steps{gap:25px;margin-top:35px}.steps h3{font-size:18px}.steps p{font-size:11px}.cta{padding:60px 7%}.cta h2{font-size:65px;letter-spacing:-3px}.round-link{width:85px;height:85px;font-size:46px}.footer-top{grid-template-columns:1fr 1fr}.footer-top>p{display:none}.footer-top>div{font-size:11px}.footer-bottom{flex-wrap:wrap;line-height:1.9}.footer-bottom>span:last-child{display:none}.detail-hero{grid-template-columns:1fr}.detail-copy{padding:28px 7% 45px}.breadcrumb{margin-bottom:40px}.detail-copy h1{font-size:55px;max-width:600px}.detail-hero>img{height:470px;min-height:0}.detail-body{grid-template-columns:1fr;gap:5px}.detail-body p:not(.eyebrow){font-size:14px}.detail-photo{height:450px}.request-strip{grid-template-columns:1fr;gap:0}.request-strip h2{margin-bottom:15px}.contact-page{grid-template-columns:1fr;gap:40px}.contact-intro h1{font-size:70px}.contact-phone{font-size:30px;margin-top:30px}.contact-image{height:350px}.contact-image p{font-size:31px}.lightbox{padding-left:12px;padding-right:12px}.lightbox[open]{grid-template-columns:30px 1fr 30px;gap:7px}.lightbox button{width:30px}.lightbox figcaption{font-size:10px}}
@media(max-width:440px){.header{gap:12px}.header-contact{font-size:8px;padding:11px 9px}.header-contact span{display:none}.hero-photo{height:390px}.hero-copy{padding-top:35px}.hero .eyebrow{font-size:7px}.hero h1{font-size:60px}.hero-description{font-size:13px}.hero-foot{font-size:7px}.strap{font-size:7px;gap:8px}.service-grid{grid-template-columns:1fr}.card-image{height:370px}.card-copy h3{font-size:23px}.gallery-item{height:230px}.gallery-item>span{font-size:9px;padding:35px 12px 12px}.gallery-item b{font-size:15px}.gallery-grid{gap:10px}.feature-image{min-height:350px}.feature-copy h2{font-size:50px}.steps{grid-template-columns:1fr;gap:25px}.steps article{padding-left:40px;position:relative}.steps article>span{position:absolute;left:0;top:25px}.steps h3{font-size:20px;margin:0 0 12px}.steps p{font-size:12px;max-width:none;margin:0}.cta h2{font-size:56px}.round-link{width:65px;height:65px;font-size:35px}.cta>.eyebrow{font-size:8px}.footer-top{grid-template-columns:1fr;gap:25px}.footer-top>div{align-items:start}.footer-bottom>div{gap:15px}.detail-copy h1{font-size:45px;letter-spacing:-2px}.detail-hero>img{height:370px}.detail-photo{height:360px}.detail-photo span{font-size:7px;padding:14px}.contact-intro h1{font-size:63px}.form-row{grid-template-columns:1fr;gap:0}form{padding:25px 20px}.contact-image p{font-size:26px}.legal h1{font-size:45px;letter-spacing:-2px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media(max-width:760px){.hero h1 br:nth-child(2){display:initial}.hero h1{font-size:clamp(53px,9vw,68px)}}
@media(max-width:440px){.hero h1{font-size:53px;letter-spacing:-2.8px}}
/* Original emblem and a more distinctive Sora wordmark. */
.brand{gap:14px}.brand-emblem{width:64px;height:64px;object-fit:contain;flex-shrink:0}.brand>span{font-family:'Barlow Condensed',sans-serif;font-size:29px;font-weight:600;letter-spacing:.5px}.brand small{font-family:'DM Sans',sans-serif;font-size:7px;letter-spacing:1.8px;margin-top:7px;font-weight:500}.brand .brand-owner{font-size:6px;letter-spacing:1.1px;margin-top:5px;color:#748365}h1,h2{font-weight:400}h1{letter-spacing:-4px}h2{letter-spacing:-2px}.hero h1{font-size:clamp(50px,5.8vw,94px)}.header nav{font-size:13px}.header-contact{font-size:12px}.eyebrow{font-size:10px}.hero-description{font-size:15px}.card-copy h3{font-weight:500;line-height:1.4}.footer-top .brand-emblem{width:70px;height:70px}
@media(max-width:1050px){.header nav{gap:20px}.header{gap:22px}.hero h1{font-size:66px}}
@media(max-width:760px){.brand{gap:9px}.brand-emblem{width:48px;height:48px}.brand>span{font-size:23px}.brand small{font-size:5.5px;letter-spacing:1.1px;margin-top:5px}.brand .brand-owner{font-size:5px;letter-spacing:.6px;margin-top:4px}.header-contact{font-size:9px}.hero h1{font-size:clamp(48px,8.5vw,65px);letter-spacing:-2.5px}.hero-description{font-size:14px}.footer-top .brand-emblem{width:58px;height:58px}}
@media(max-width:440px){.header{padding-left:5%;padding-right:5%;gap:10px}.brand-emblem{width:45px;height:45px}.brand>span{font-size:21px}.header-contact{font-size:8px;padding:11px 8px}.hero h1{font-size:49px;letter-spacing:-2.7px}.hero-description{font-size:13px}}
.strap-saw{display:flex;align-items:center;justify-content:center;flex-shrink:0}.strap-saw img{width:38px;height:26px;object-fit:contain}@media(max-width:760px){.strap-saw img{width:29px;height:20px}}@media(max-width:440px){.strap-saw img{width:25px;height:18px}}
/* Distinct roles: expressive display titles, quiet reading text, clear service names. */
h1,h2{font-family:'Barlow Condensed',sans-serif;font-weight:600;letter-spacing:-.6px;line-height:1.03}h3,.card-copy h3,.steps h3{font-family:'DM Sans',sans-serif;font-weight:600;letter-spacing:-.4px;line-height:1.35}.hero h1{text-transform:uppercase;font-size:clamp(76px,8.1vw,132px);line-height:.95;letter-spacing:-1px}.hero h1 em{font-weight:500}.hero-description{font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.9}.brand>span{font-family:'Barlow Condensed',sans-serif;font-size:38px;font-weight:700;letter-spacing:1.7px}.brand small{font-family:'DM Sans',sans-serif;letter-spacing:1.4px}.brand .brand-owner{letter-spacing:.8px}h2{font-size:clamp(42px,4.5vw,70px)}.intro h2{font-size:clamp(38px,4.2vw,65px)}.detail-copy h1{font-size:clamp(60px,6vw,95px);letter-spacing:-1px;line-height:1.02}.feature-copy h2{font-size:clamp(60px,6vw,92px);letter-spacing:-.7px}.about-copy h2{font-size:clamp(48px,4.6vw,72px)}.contact-intro h1{font-size:clamp(65px,7.5vw,112px);letter-spacing:-1px}.cta h2{font-size:clamp(76px,9vw,140px);letter-spacing:-1px}.contact-phone{font-family:'DM Sans',sans-serif}.eyebrow{font-family:'DM Sans',sans-serif;font-weight:500;letter-spacing:2px}.legal h1{font-family:'Barlow Condensed',sans-serif;font-size:68px;letter-spacing:0}.legal h2{font-family:'DM Sans',sans-serif;font-size:24px;letter-spacing:-.5px}
@media(max-width:1050px){.hero h1{font-size:90px}.brand>span{font-size:34px}}
@media(max-width:760px){.brand>span{font-size:28px}.brand small{font-size:5.5px;letter-spacing:1px}.brand .brand-owner{font-size:5px;letter-spacing:.5px}.hero h1{font-size:clamp(72px,12vw,98px);letter-spacing:-.5px}.hero-description{font-size:14px}h2{font-size:45px}.intro h2{font-size:39px}.feature-copy h2{font-size:68px}.about-copy h2{font-size:57px}.detail-copy h1{font-size:65px}.contact-intro h1{font-size:82px}.cta h2{font-size:84px}}
@media(max-width:440px){.brand>span{font-size:27px}.hero h1{font-size:76px}.hero-description{font-size:13px}.section-heading h2{font-size:43px}.intro h2{font-size:36px}.feature-copy h2{font-size:60px}.detail-copy h1{font-size:56px}.cta h2{font-size:70px}.contact-intro h1{font-size:76px}.legal h1{font-size:54px}}
/* Selected work photographs: generous landscape crops and a quiet, optional film. */
.gallery-item{height:300px}.gallery-grid .gallery-item:first-child{grid-column:span 2}.gallery-grid .gallery-item:first-child img{object-position:center 55%}.field-film{display:grid;grid-template-columns:.8fr 1.4fr;gap:7%;align-items:center;border-bottom:1px solid var(--line)}.film-copy>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#6b775e}.film-copy .film-note{font-size:10px;margin-top:25px}.film-player{background:#173b31}.film-player video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.film-copy h2{font-size:clamp(40px,4vw,64px)}
@media(max-width:760px){.field-film{grid-template-columns:1fr;gap:28px}.gallery-item{height:270px}.gallery-grid .gallery-item:first-child{grid-column:span 1}.gallery-grid .gallery-item:first-child{grid-column:1/-1}.film-copy h2{font-size:44px}}
@media(max-width:440px){.gallery-item{height:230px}.gallery-grid .gallery-item:first-child{height:270px}.film-copy>p:not(.eyebrow){font-size:13px}}
/* The owner's woodland photograph replaces the pale page background. */
body{background:#102c22 url('assets/rueckegasse-opt.jpg') center center/cover fixed no-repeat;color:#f1f0e8}body:before{content:'';position:fixed;inset:0;background:rgba(7,25,17,.64);z-index:-1;pointer-events:none}body{isolation:isolate;--line:rgba(218,229,204,.23)}.header{background:rgba(14,39,28,.93);color:#f1f0e8;border-bottom-color:rgba(218,229,204,.2);backdrop-filter:blur(14px)}.brand .brand-owner{color:#c7d4b7}.header nav a:after{background:#d5dfa7}.header-contact{border-color:#9aac85}.menu span{background:#f1f0e8}.strap{background:rgba(14,39,28,.55);color:#e7edda;border-color:var(--line)}.strap-saw img{filter:brightness(0) invert(90%) sepia(17%) saturate(350%) hue-rotate(28deg)}.section{background:rgba(10,32,23,.32)}.intro,.process,.detail-body,.request-strip,.related{background:rgba(10,32,23,.42)}.gallery-section{background:rgba(10,32,23,.22)}.about{background:rgba(10,32,23,.56)}.intro>div>p,.section-heading>p,.card-copy p,.about-copy>p:not(.eyebrow),.steps p,.film-copy>p:not(.eyebrow),.detail-body p:not(.eyebrow),.request-strip p,.contact-intro>p:not(.eyebrow),.footer-top>p{color:#d1dcc5}.eyebrow,.card-copy .eyebrow,.steps article>span{color:#c7d7ae}h2>span,.about-copy h2>span{color:#c5d3ad}.card-number,.card-arrow{color:#173b31}.card-copy h3{color:#f1f0e8}.filters button{color:#edf0e3;border-color:#99ac80;background:rgba(12,35,24,.44)}.filters button[aria-pressed=true]{background:#d5dfa7;border-color:#d5dfa7;color:#173b31}.text-link{border-color:#b6c99b}.text-link:hover{color:#d5dfa7}.steps article,.location,.request-strip{border-color:var(--line)}.location{color:#d1dcc5}.cta{color:#173b31;background:#d5dfa7}.cta .eyebrow{color:#173b31}.cta h2{color:#173b31}footer{background:rgba(9,29,20,.84);color:#f1f0e8}.footer-bottom{color:#ccd7bf;border-color:var(--line)}.contact-page form{background:rgba(12,37,25,.8);border:1px solid var(--line);backdrop-filter:blur(8px)}input,select,textarea{color:#f1f0e8;border-color:#a1b48b}input::placeholder,textarea::placeholder{color:#b9c8aa}select option{background:#173b31;color:#f1f0e8}.form-note{color:#c4d1b5}.legal{background:rgba(10,32,23,.78)}.detail-photo{background:rgba(10,32,23,.5)}.header nav.open{background:rgba(14,39,28,.98)}.film-player{box-shadow:0 12px 45px #0004}
@media(max-width:760px){body{background-attachment:scroll;background-size:auto 100vh;background-repeat:repeat-y}.header nav{background:#102c22}.header-contact{color:#f1f0e8}}
@media(max-width:760px){body{background-attachment:fixed;background-size:cover;background-repeat:no-repeat}}
/* Original emblem with the requested two-line company name. */
.brand>.brand-wordmark{display:flex;flex-direction:column;gap:7px;letter-spacing:0;line-height:1.1}.brand .brand-trade{font-family:'DM Sans',sans-serif;font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;margin:0;color:#d5dfa7}.brand-wordmark strong{font-family:'Bitter',Georgia,serif;font-size:27px;font-weight:500;letter-spacing:-.5px;color:#f1f0e8;white-space:nowrap}.header{gap:28px}.footer-top .brand-wordmark strong{font-size:29px}
@media(max-width:1050px){.header nav{gap:21px}.brand .brand-trade{font-size:9px;letter-spacing:1.7px}.brand-wordmark strong{font-size:24px}}
@media(max-width:760px){.brand>.brand-wordmark{gap:5px}.brand .brand-trade{font-size:8px;letter-spacing:1.1px}.brand-wordmark strong{font-size:21px;letter-spacing:-.4px}.header{gap:14px}.header-contact{font-size:9px}.footer-top .brand-wordmark strong{font-size:27px}.footer-top .brand-trade{font-size:10px}}
@media(max-width:440px){.header{gap:10px}.brand-wordmark strong{font-size:19px}.brand .brand-trade{font-size:7px;letter-spacing:1px}.header-contact{font-size:8px}}
/* Freestanding original cliff, conifers and skyline cable: no rectangular backdrop. */
.brand-emblem{width:78px;height:78px;object-fit:contain;background:none;border:0;border-radius:0;filter:brightness(0) invert(88%) sepia(24%) saturate(350%) hue-rotate(27deg)}.brand{gap:15px}.header{height:108px}.footer-top .brand-emblem{width:90px;height:90px}
@media(max-width:760px){.header{height:86px}.header nav{top:86px}.brand-emblem{width:58px;height:58px}.brand{gap:10px}.footer-top .brand-emblem{width:76px;height:76px}}
@media(max-width:440px){.brand-emblem{width:53px;height:53px}.brand{gap:8px}.brand-wordmark strong{font-size:18px}.brand .brand-trade{font-size:7px;letter-spacing:.7px}.header-contact{padding:10px 7px;font-size:8px}}
/* Readable link sizes and generous touch targets across the website. */
.header nav{font-size:16px;gap:28px}.header nav a{padding:12px 0}.header-contact{display:inline-flex;align-items:center;gap:14px;font-size:15px;min-height:46px;padding:12px 17px}.header-contact span{margin:0}.header-contact .contact-short{display:none}.text-link{font-size:16px;line-height:1.5;min-height:48px;padding:12px 0}.button{font-size:16px;min-height:52px;padding:16px 23px}.breadcrumb{font-size:15px;padding:10px 0;min-height:44px}.filters button{font-size:15px;min-height:44px;padding:11px 20px}.footer-top>div{font-size:16px;gap:10px}.footer-top>div a{display:inline-flex;align-items:center;min-height:44px}.footer-bottom{font-size:13px;align-items:center}.footer-bottom>div{gap:24px;flex-wrap:wrap}.footer-bottom>div a,.maker-game{font-size:14px;line-height:1.5;min-height:44px;display:inline-flex;align-items:center}.form-note{font-size:12px}.form-note a{font-size:14px;text-underline-offset:3px}#fallback{font-size:15px;min-height:44px;padding:12px 0}.contact-email{font-size:17px;min-height:44px;line-height:1.7}.gallery-item>span{font-size:14px;line-height:1.5}.hero-foot a{width:44px;height:44px}
@media(max-width:1050px){.header nav{font-size:15px;gap:20px}.header-contact{font-size:14px;gap:12px;padding:12px 14px}.header{gap:20px}}
@media(max-width:760px){.header{gap:12px}.header-contact{font-size:14px;gap:8px;padding:10px 12px;min-height:44px}.header-contact .contact-label{display:none}.header-contact .contact-short{display:inline}.header-contact>span:last-child{display:inline;font-size:18px}.menu{width:44px;height:44px;padding:10px;flex-shrink:0}.header nav{font-size:19px;gap:12px;padding:20px 7%}.header nav a{min-height:46px;display:flex;align-items:center}.text-link{font-size:16px;max-width:none}.button{font-size:15px}.filters button{font-size:14px;padding:11px 15px}.footer-top>div{font-size:16px}.footer-bottom{font-size:12px;gap:15px}.footer-bottom>div{gap:22px}.gallery-item>span{font-size:12px}.contact-email{font-size:16px}}
@media(max-width:440px){.header{padding-left:4%;padding-right:4%;gap:7px}.header-contact{font-size:14px;padding:10px;gap:6px}.header-contact>span:last-child{font-size:16px}.gallery-item>span{font-size:12px}.footer-bottom>div a,.maker-game{font-size:14px}}
.service-photo-section{padding-top:65px;padding-bottom:65px}.service-gallery-grid .gallery-item,.service-gallery-grid .gallery-item:first-child{grid-column:auto;height:340px}.service-gallery-grid .gallery-item img{object-position:center}.detail-hero>img[src*="roman-traktor-mit-holz"]{object-position:40% center}
@media(max-width:760px){.service-gallery-grid{grid-template-columns:1fr 1fr}.service-gallery-grid .gallery-item,.service-gallery-grid .gallery-item:first-child{height:280px}.service-gallery-grid .gallery-item:last-child{grid-column:1/-1}.detail-hero>img[src*="roman-traktor-mit-holz"]{object-position:center 35%}}
@media(max-width:440px){.service-gallery-grid{grid-template-columns:1fr}.service-gallery-grid .gallery-item,.service-gallery-grid .gallery-item:first-child{height:320px}.service-photo-section{padding-top:45px;padding-bottom:45px}}
@media(min-width:761px){.service-gallery-grid .gallery-item:last-child{grid-column:auto}.detail-hero>img[src*="kran-baumkrone"]{object-position:55% center}}
.service-gallery-grid:has(>.gallery-item:nth-child(2):last-child){grid-template-columns:1fr 1fr}
@media(max-width:440px){.service-gallery-grid:has(>.gallery-item:nth-child(2):last-child){grid-template-columns:1fr}}
.gallery-status{font-size:14px;color:#d1dcc5;margin:0 0 20px;line-height:1.6}.gallery-more{margin-top:28px}.filters{gap:10px;margin-bottom:22px}.filters button{display:inline-flex;align-items:center;gap:10px}.filter-count{font-size:11px;line-height:1;padding:5px 7px;border:1px solid currentColor;border-radius:20px;opacity:.8}.gallery-grid:has(.gallery-item[hidden]) .gallery-item:first-child{grid-column:auto}.gallery-item[hidden]{display:none!important}.service-gallery-grid .gallery-item:last-child{grid-column:auto}.service-gallery-grid:has(>.gallery-item:nth-child(3)){grid-template-columns:repeat(3,1fr)}
@media(max-width:760px){.filters button{font-size:14px;padding:11px 13px;gap:8px}.filter-count{font-size:10px}.service-gallery-grid:has(>.gallery-item:nth-child(3)){grid-template-columns:repeat(2,1fr)}}
@media(max-width:440px){.service-gallery-grid:has(>.gallery-item:nth-child(3)){grid-template-columns:1fr}.gallery-status{font-size:13px}.gallery-more{width:100%;justify-content:space-between}}
/* Dedicated page introductions and compact homepage directory. */
.page-intro{padding-top:75px;padding-bottom:65px;border-bottom:1px solid var(--line)}.page-intro h1{font-size:clamp(65px,6vw,100px);line-height:1.02;max-width:1100px;letter-spacing:-1px}.page-intro>p:not(.eyebrow){max-width:650px;font-size:17px;line-height:1.8;color:#d1dcc5;margin-bottom:0}.page-intro+.services{padding-top:65px}.page-intro+.gallery-section{padding-top:65px}.home-portal h2{font-family:'DM Sans',sans-serif;font-size:24px;line-height:1.3;letter-spacing:-.6px;font-weight:600;margin:12px 0}.home-portal .card-copy p{font-size:15px;line-height:1.8}.home-directory .card-image{height:330px}.footer-nav{display:flex;flex-wrap:wrap;gap:15px 32px;margin-top:35px;padding-top:20px;border-top:1px solid var(--line)}.footer-nav a{font-size:16px;min-height:44px;display:inline-flex;align-items:center}.header nav a[aria-current=page]{color:#d5dfa7}.header nav a[aria-current=page]:after{width:100%}.about-copy h1{font-size:clamp(60px,5.5vw,86px);line-height:1.04;letter-spacing:-1px}.about-copy h1 em{color:#c5d3ad}
@media(max-width:1050px){.header nav{gap:17px;font-size:14px}.header{gap:18px}.header-contact{font-size:14px}.home-portal h2{font-size:21px}}
@media(max-width:760px){.page-intro{padding-top:45px;padding-bottom:45px}.page-intro h1{font-size:64px}.page-intro>p:not(.eyebrow){font-size:15px}.home-directory .service-grid{grid-template-columns:1fr}.home-directory .card-image{height:360px}.home-portal h2{font-size:25px}.header nav{font-size:19px;gap:12px}.about-copy h1{font-size:65px}.footer-nav{gap:6px 25px}}
@media(max-width:440px){.page-intro h1{font-size:52px}.home-directory .card-image{height:310px}.about-copy h1{font-size:58px}.footer-nav a{font-size:15px}}
/* Readability pass: supporting text must remain legible on large screens. */
.eyebrow,.hero .eyebrow,.feature-copy .eyebrow,.detail-copy>.eyebrow{font-size:16px;letter-spacing:1.5px;line-height:1.65}.hero-description{font-size:20px;line-height:1.7;max-width:460px}.hero-foot{font-size:17px;letter-spacing:1.1px;line-height:1.5;gap:20px}.hero-foot a{width:48px;height:48px;flex-shrink:0}.strap{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;padding:28px 5%;font-size:18px;letter-spacing:1px;line-height:1.5;text-align:center}.strap>span{display:block}.strap>span:last-child{display:block}.home-directory .section-heading{align-items:start}.home-directory .section-heading>div{max-width:1050px}.home-directory .section-heading h2{font-size:clamp(46px,4vw,76px);line-height:1.08}.company-promise{font-size:22px;line-height:1.6;color:#e0e8d5;margin:22px 0 0;max-width:780px}.card-copy .eyebrow{font-size:14px;letter-spacing:1px}.home-portal .card-copy p{font-size:18px;line-height:1.7}.cta>.eyebrow{font-size:18px;letter-spacing:1.2px;margin-bottom:28px}.cta>p:last-child{font-size:22px;line-height:1.7;max-width:850px}.footer-top{grid-template-columns:1fr 1fr 1.35fr;gap:30px;align-items:center}.footer-top>p{font-size:22px;line-height:1.7;margin:0}.footer-top>div a[href^="tel:"]{font-size:30px;font-weight:600;letter-spacing:-.5px;line-height:1.5;min-height:50px;white-space:nowrap}.footer-top>div a[href^="mailto:"]{font-size:20px;line-height:1.6;min-height:46px}.photo-caption{font-size:13px;letter-spacing:1px}.header nav{font-size:18px}.header-contact{font-size:17px}
@media(min-width:1800px){.eyebrow,.hero .eyebrow,.feature-copy .eyebrow,.detail-copy>.eyebrow{font-size:18px}.hero-description{font-size:23px;max-width:540px}.hero-foot{font-size:20px}.strap{font-size:21px}.company-promise{font-size:25px}.cta>.eyebrow{font-size:20px}.cta>p:last-child{font-size:25px}.footer-top>p{font-size:25px}.footer-top>div a[href^="tel:"]{font-size:36px}.footer-top>div a[href^="mailto:"]{font-size:23px}.header nav{font-size:20px}.header-contact{font-size:19px}}
@media(min-width:761px) and (max-width:1350px){.hero{min-height:780px}.footer-top{grid-template-columns:1fr 1.35fr}.footer-top>p{grid-column:1;grid-row:2}.footer-top>div{grid-column:2;grid-row:1/3}.footer-top>div a[href^="tel:"]{font-size:27px}}
@media(max-width:1050px){.header nav{font-size:16px;gap:16px}.header-contact{font-size:15px}.strap{font-size:16px;gap:18px}.footer-top>p{font-size:20px}}
@media(max-width:760px){.eyebrow,.hero .eyebrow,.feature-copy .eyebrow,.detail-copy>.eyebrow{font-size:14px;letter-spacing:1px}.hero .eyebrow{font-size:12px}.hero-description{font-size:18px;line-height:1.75;max-width:100%}.hero-foot{font-size:15px;letter-spacing:.8px}.strap{grid-template-columns:1fr 1fr;font-size:15px;gap:17px 24px;padding:24px 7%}.strap>span:last-child{display:block}.company-promise{font-size:19px;margin-top:18px}.home-directory .section-heading h2{font-size:46px}.card-copy .eyebrow{font-size:13px}.home-portal .card-copy p{font-size:17px}.cta>.eyebrow{font-size:16px}.cta>p:last-child{font-size:19px;line-height:1.7}.footer-top{grid-template-columns:1fr;gap:25px}.footer-top>p{display:block;grid-column:auto;grid-row:auto;font-size:20px}.footer-top>div{grid-column:auto;grid-row:auto;align-items:start}.footer-top>div a[href^="tel:"]{font-size:28px}.footer-top>div a[href^="mailto:"]{font-size:18px;overflow-wrap:anywhere}.header nav{font-size:19px}.header-contact{font-size:14px}.photo-caption{font-size:11px}}
@media(max-width:440px){.hero-foot{font-size:14px}.strap{font-size:14px;letter-spacing:.5px;gap:15px}.home-directory .section-heading h2{font-size:42px}.cta>.eyebrow{font-size:15px}.cta>p:last-child{font-size:18px}.footer-top>div a[href^="tel:"]{font-size:26px}.header-contact{font-size:14px}}
/* Photographs without editorial labels; retain accessible descriptions. */
.gallery-item>span.gallery-open{position:absolute;left:auto;right:14px;bottom:14px;width:40px;height:40px;display:grid;place-items:center;padding:0;background:rgba(12,35,24,.7);border:1px solid rgba(239,243,226,.65);border-radius:50%;font-size:23px;line-height:1;color:#f1f0e8}.lightbox figcaption[hidden]{display:none!important}
@media(max-width:440px){.gallery-item>span.gallery-open{width:34px;height:34px;right:10px;bottom:10px;font-size:20px}}

/* Plain linked location and contact form feedback. */
.location-link{font-size:14px;letter-spacing:1.1px;font-weight:500;line-height:1.6;color:inherit}.location-link:hover{text-decoration:underline;text-underline-offset:4px}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#status{font-size:17px;line-height:1.65}#status[data-state="error"]{color:#f4c4ae}#status[data-state="success"]{color:#d5dfa7}#project-form button:disabled{opacity:.65;cursor:wait}#project-form[aria-busy="true"]{cursor:progress}

/* On phones the opening photograph appears before the text, within the first screen. */
@media(max-width:760px){.hero-photo{grid-row:1;grid-column:1;height:clamp(260px,42svh,420px)}.hero-copy{grid-row:2;grid-column:1}.hero-photo img{object-position:50% 32%}.hero-photo .photo-caption{font-size:9px;letter-spacing:1px;right:6%;bottom:18px}.hero-copy{padding-top:32px}.hero-foot{padding-top:24px}}

/* Consistent mobile picture-first entry across all content pages. */
.mobile-page-photo{display:none}
@media(max-width:760px){
 .mobile-page-photo{display:block;height:clamp(240px,36svh,360px);overflow:hidden}.mobile-page-photo img{object-position:center 48%}
 .detail-hero>img{grid-column:1;grid-row:1;height:clamp(260px,40svh,400px);min-height:0;width:100%}.detail-copy{grid-column:1;grid-row:2;padding-top:28px}.detail-copy .breadcrumb{margin-bottom:28px}
 .about-photo{grid-column:1;grid-row:1;min-height:0;height:clamp(280px,44svh,440px)}.about-photo img{object-position:55% 35%}.about-copy{grid-column:1;grid-row:2;padding-top:36px}
 .contact-main{display:flex;flex-direction:column}.contact-main>.contact-image{order:-1;height:clamp(240px,34svh,340px);margin:0}.contact-main>.contact-image p{font-size:26px}.contact-page{padding-top:36px}
}

/* Legal pages: centered, readable panel at every viewport size. */
.legal.section{width:calc(100% - 48px);max-width:960px;min-height:0;margin:48px auto 64px;padding:56px clamp(24px,5vw,72px);background:rgba(10,32,23,.94);border:1px solid var(--line)}
.legal .eyebrow{font-size:10px;line-height:1.7;margin-bottom:16px}
.legal h1{font-size:clamp(44px,6vw,68px);line-height:1.1;letter-spacing:0;margin-bottom:36px;overflow-wrap:anywhere}
.legal h2{font-size:20px;line-height:1.4;letter-spacing:0;margin:32px 0 12px;padding-top:24px;border-top:1px solid var(--line)}
.legal p{font-size:15px;line-height:1.85;max-width:70ch;margin-bottom:20px;color:#e0e7d8}
.legal p:last-child{margin-bottom:0}
.legal a{text-underline-offset:4px;text-decoration-thickness:1px;overflow-wrap:anywhere}
.legal a:hover{color:var(--accent)}
@media(max-width:600px){.legal.section{width:calc(100% - 28px);margin:24px auto 32px;padding:32px 22px}.legal .eyebrow{font-size:9px;letter-spacing:1.3px}.legal h1{margin-bottom:28px}.legal h2{font-size:18px;margin-top:26px;padding-top:20px}.legal p{font-size:14px}}
