:root{--w-green:#173B37;--w-gold:#D5AB62;--w-ink:#192E2A;--w-muted:#66746D;--w-paper:#F5F4EF;--w-white:#fff;--w-border:#E7E8E1;--w-soft:#EFF2EB;--w-wide:1280px;--w-radius:10px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--w-white);color:var(--w-ink);font:16px/1.65 "Segoe UI",Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}::selection{background:#d8c29b;color:#102d28}:focus-visible{outline:3px solid var(--w-gold);outline-offset:4px}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{line-height:1.13;letter-spacing:-.043em}h1{font-weight:790}h2{font-weight:780}em{font-style:normal}main{overflow:hidden}.wrap{width:min(var(--w-wide),calc(100% - 72px));margin-inline:auto}.skip-link{position:fixed;left:18px;top:-100px;padding:12px 20px;background:var(--w-green);color:white;z-index:999}.skip-link:focus{top:12px}.utility-bar{background:var(--w-green);color:#e6e9e1;font-size:12px;font-weight:560;letter-spacing:.01em}.utility-inner{display:flex;align-items:center;justify-content:space-between;min-height:39px;gap:20px}.utility-contact{display:flex;gap:28px;align-items:center}.utility-contact a,.utility-area{display:flex;align-items:center;gap:8px}.utility-contact a:hover{color:var(--w-gold)}.utility-area{color:#ceddd6}.utility-area svg{color:var(--w-gold)}.site-header{background:rgba(255,255,255,.975);position:relative;z-index:80;border-bottom:1px solid #eff0ea}.nav-shell{min-height:93px;display:flex;align-items:center;gap:42px;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;min-width:270px}.brand-logo{width:auto;height:auto;max-width:320px;max-height:92px;object-fit:contain}.brand-icon{position:relative;width:43px;height:46px;border:2px solid var(--w-green);display:grid;place-items:center;color:var(--w-green);transform:skewY(-2deg)}.brand-icon-roof{position:absolute;width:17px;height:8px;border-top:2px solid var(--w-gold);border-right:2px solid var(--w-gold);transform:rotate(-45deg);top:-9px;left:12px;background:white}.brand-icon-w{font-size:26px;font-weight:820;letter-spacing:-.12em;margin-left:-3px;line-height:1}.brand-type{display:flex;flex-direction:column;line-height:1}.brand-type strong{font-family:Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:-.055em;font-size:29px;line-height:1}.brand-dot{color:var(--w-gold)}.brand-type small{color:#61716b;font-size:8px;font-weight:800;letter-spacing:.17em;margin-top:8px;white-space:nowrap}.site-nav{margin-left:auto}.nav-list{display:flex;align-items:center;gap:32px;list-style:none;margin:0;padding:0}.nav-list li{position:relative}.nav-list a{font-size:14px;font-weight:650;color:#273b35;white-space:nowrap;transition:color .2s}.nav-list a:hover,.nav-list .current-menu-item>a,.nav-list .current_page_item>a{color:#a3793e}.nav-list .sub-menu{position:absolute;z-index:50;top:100%;left:-12px;min-width:190px;background:#fff;padding:13px;list-style:none;box-shadow:0 20px 40px #102b261a;border:1px solid var(--w-border);display:grid;gap:8px}.menu-toggle{display:none;background:transparent;border:0;padding:9px;color:var(--w-green)}.button{display:inline-flex;align-items:center;justify-content:center;gap:17px;border:1px solid transparent;min-height:53px;padding:13px 21px;font-size:14px;line-height:1.2;font-weight:750;text-align:center;transition:background .22s,color .22s,transform .22s,border-color .22s;white-space:nowrap}.button svg,.inline-link svg,.text-link svg,.footer-link svg,.card-arrow svg{transition:transform .22s}.button:hover svg,.inline-link:hover svg,.text-link:hover svg,.footer-link:hover svg,.card-arrow:hover svg{transform:translate(3px,-3px)}.button:hover{transform:translateY(-2px)}.button-nav{min-height:47px;padding:11px 18px;background:var(--w-green);color:white}.button-nav:hover{background:#244d47}.button-primary{color:white;background:var(--w-green)}.button-primary:hover{background:#24524b}.button-dark{background:var(--w-green);color:white}.button-dark:hover{background:#24534b}.button-gold{background:var(--w-gold);color:#173831}.button-gold:hover{background:#f0cb8b}.eyebrow{display:flex;align-items:center;gap:13px;font-size:11px;letter-spacing:.205em;color:#8b795f;font-weight:820;line-height:1.6;margin:0 0 25px;text-transform:uppercase}.eyebrow-line{width:25px;height:2px;background:var(--w-gold)}.dark-eyebrow{color:#9a7950}.eyebrow-light{color:#d5b887}.hero-section{background:var(--w-paper);position:relative;isolation:isolate}.hero-section:before{content:"";position:absolute;left:0;top:0;width:52%;height:100%;background:radial-gradient(ellipse at 8% 85%,#e5e6dc 0%,transparent 57%);z-index:-1}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:7%;align-items:center;padding-top:49px;padding-bottom:62px;min-height:640px}.hero-copy{padding:36px 0 55px;max-width:660px}.hero-copy h1{font-size:clamp(46px,5.15vw,78px);line-height:1.065;letter-spacing:-.067em;max-width:680px;margin:0 0 27px;color:#1a332e}.hero-intro{font-size:17px;line-height:1.85;color:#62716a;max-width:510px;margin:0 0 30px}.hero-actions{display:flex;align-items:center;gap:31px;flex-wrap:wrap}.hero-actions .button{min-height:58px;padding-inline:24px}.text-link{display:inline-flex;gap:11px;align-items:center;font-size:14px;font-weight:760;border-bottom:1px solid #b8c1b6;padding-block:10px}.hero-signature{display:flex;align-items:center;gap:12px;margin-top:47px}.signature-symbol{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e5e8dc;color:var(--w-green)}.hero-signature span:last-child{display:grid;line-height:1.45}.hero-signature strong{font-size:12px;color:#324640}.hero-signature small{font-size:12px;color:#7d8981}.hero-media{position:relative;min-height:520px;height:100%;max-height:640px;isolation:isolate}.hero-photo{position:absolute;inset:0 14px 25px 0;background-color:#a4b1a4;background-position:center;background-size:cover;box-shadow:0 22px 50px rgba(12,48,40,.11)}.hero-media:before{content:"";position:absolute;right:-16px;top:19px;bottom:0;width:75%;border:2px solid var(--w-gold);z-index:-1}.hero-media-ornament{position:absolute;left:-22px;top:27px;width:84px;height:84px;border:8px solid var(--w-paper);border-radius:50%;background:var(--w-gold);mix-blend-mode:normal;opacity:.9}.hero-badge{position:absolute;bottom:4px;left:-36px;display:flex;gap:15px;align-items:center;padding:21px 26px;background:white;box-shadow:0 18px 45px #102f2840;min-width:251px}.hero-badge-symbol{color:var(--w-green);width:47px;height:47px;border:1px solid #dfe8df;display:grid;place-items:center}.hero-badge strong{display:block;line-height:1.2;font-size:16px;font-weight:780}.hero-badge small{display:block;color:#7c887e;margin-top:8px;font-size:11px}.hero-bottom{min-height:65px;display:flex;align-items:center;gap:21px;border-top:1px solid #e0e2d9;color:#52685f;font-size:12px;font-weight:700;letter-spacing:.025em}.hero-bottom>span:first-child{display:flex;align-items:center;gap:8px;color:var(--w-green);margin-right:22px}.hero-bottom .dot-sep{color:var(--w-gold);font-size:20px}.hero-bottom a{display:flex;align-items:center;gap:9px;margin-left:auto;color:var(--w-green)}.section{padding:108px 0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:48px}.section-heading h2,.story-copy h2,.area-grid h2,.contact-cta h2,.other-grid h2,.contact-details h2{font-size:clamp(36px,4.2vw,58px);line-height:1.12;letter-spacing:-.055em;margin:0}.section-heading h2 em,.story-copy h2 em,.other-grid h2 em,.contact-details h2 em{color:#83978c}.section-heading-right{max-width:385px}.section-heading-right p{font-size:15px;line-height:1.85;color:#65746b;margin-bottom:17px}.inline-link{display:inline-flex;gap:15px;align-items:center;color:var(--w-green);font-size:13px;font-weight:800;border-bottom:1px solid #cbd1c7;padding:8px 0}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.service-card{background:#f7f8f4;border:1px solid #edf0e8;padding:28px 28px 25px;min-height:292px;position:relative;transition:transform .24s,box-shadow .24s,border-color .24s}.service-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px #173b3712;border-color:#cddad0}.service-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:26px}.service-icon{display:grid;place-items:center;width:57px;height:57px;background:#e9eee7;color:var(--w-green)}.service-nr{color:#aeb8aa;font-size:11px;font-weight:850;letter-spacing:.13em}.service-card h2,.service-card h3{font-size:20px;letter-spacing:-.027em;line-height:1.25;margin:0 0 10px}.service-card p{color:#6f7b74;font-size:13px;line-height:1.8;max-width:300px;margin:0 0 20px}.card-arrow{position:absolute;bottom:22px;right:25px;color:var(--w-green);display:grid;place-items:center;width:30px;height:30px}.story-section{background:#f4f4ee;padding:115px 0}.story-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:10%;align-items:center}.story-photos{min-height:595px;position:relative}.story-photo{position:absolute;overflow:hidden;background:#d9e1d4}.story-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.story-photo:hover img{transform:scale(1.035)}.story-photo-main{left:0;top:0;width:76%;height:77%}.story-photo-detail{right:0;bottom:22px;width:56%;height:51%;border:10px solid #f4f4ee}.photo-index{position:absolute;bottom:42px;left:0;display:flex;align-items:center;gap:19px;font-size:10px;font-weight:800;letter-spacing:.12em;color:#7b897b}.photo-index span:first-child{color:var(--w-green);font-size:13px}.story-copy{padding:10px 0}.story-copy h2{margin:0 0 28px}.story-copy>p:not(.eyebrow){color:#65736a;font-size:15px;line-height:1.9;max-width:520px;margin-bottom:19px}.story-facts{display:flex;gap:39px;border-top:1px solid #dfe3db;border-bottom:1px solid #dfe3db;padding:23px 0;margin:34px 0}.story-facts>div{display:flex;align-items:center;gap:15px}.story-facts strong{color:var(--w-green);font-size:36px;letter-spacing:-.06em;line-height:1}.story-facts span{color:#64736b;font-size:11px;line-height:1.5}.gallery-teaser{padding-bottom:112px}.gallery-heading{align-items:end}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.project-card{display:block;min-width:0}.project-photo{position:relative;aspect-ratio:1.25;overflow:hidden;background:#dbe1da}.project-photo>img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.project-card:hover .project-photo>img{transform:scale(1.07)}.project-more{position:absolute;right:0;bottom:0;display:grid;place-items:center;background:var(--w-gold);color:#193a33;width:50px;height:50px;transition:background .2s}.project-card:hover .project-more{background:#f0ce94}.project-meta{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 2px}.project-meta h2,.project-meta h3{font-size:17px;margin:0;letter-spacing:-.02em}.project-meta>span{font-size:11px;color:#8b958b;white-space:nowrap}.area-section{background:var(--w-green);padding:76px 0;color:white;position:relative;isolation:isolate}.area-section:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(130deg,transparent 0,transparent 80px,rgba(255,255,255,.025) 81px,rgba(255,255,255,.025) 82px);z-index:-1}.area-grid{display:grid;grid-template-columns:1fr .73fr;gap:10%;align-items:center}.area-grid h2{color:white;font-size:clamp(35px,4vw,54px)}.area-grid h2 em{color:#c4d0c3}.area-right p{color:#d3dfd5;font-size:15px;line-height:1.9;margin-bottom:20px;max-width:490px}.area-phone{display:inline-flex;align-items:center;gap:13px;font-size:24px;font-weight:740;letter-spacing:-.03em;color:#e7cb93}.area-phone:hover{color:#fff}.contact-cta{background:#faf9f5;padding:85px 0}.contact-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:35px;position:relative;padding:5px 0 5px 34px}.cta-accent{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--w-gold)}.contact-cta h2{font-size:clamp(33px,3.8vw,50px)}.contact-cta-inner>div>p:last-child{margin:18px 0 0;color:#66756c;font-size:14px}.site-footer{background:#102824;color:#d6dfd6}.footer-top{display:grid;grid-template-columns:1.5fr .7fr 1.15fr 1.05fr;gap:55px;padding:77px 0 64px}.footer-logo{display:inline-flex;align-items:center;max-width:270px}.footer-logo-image{width:auto;height:auto;max-width:100%;max-height:118px;object-fit:contain}.footer-logo-text{font-family:Arial,Helvetica,sans-serif;font-size:35px;font-weight:900;letter-spacing:-.055em;line-height:1;color:#fff}.footer-logo-text span{color:var(--w-gold)}.footer-brand p{font-size:13px;margin:15px 0;color:#e5ebe3;line-height:1.65}.footer-brand .footer-quiet{font-size:12px;color:#a9b9af;max-width:235px;line-height:1.8;margin-top:20px}.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.footer-column h2{color:var(--w-gold);font-size:11px;font-weight:850;letter-spacing:.16em;text-transform:uppercase;margin:3px 0 11px}.footer-column a,.footer-column p{color:#c5d1c8;font-size:12px;line-height:1.8;margin:0;overflow-wrap:anywhere}.footer-column a:hover,.footer-bottom a:hover{color:var(--w-gold)}.footer-enquiry p{margin:0 0 8px}.footer-enquiry .footer-link{font-weight:800;color:#fff;font-size:13px;border-bottom:1px solid #648075;padding-bottom:8px;display:inline-flex;align-items:center;gap:9px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:65px;border-top:1px solid #2f4941;color:#91a59a;font-size:11px}.footer-bottom>div{display:flex;align-items:center;gap:21px;flex-wrap:wrap}.mobile-call{display:none}
/* Interior */
.subhero{background:#f3f5ef;padding:91px 0 87px;position:relative}.subhero:after{content:"";position:absolute;right:0;bottom:0;width:23%;height:46%;background:linear-gradient(140deg,transparent 40%,rgba(23,59,55,.025) 40%,rgba(23,59,55,.025) 80%,transparent 80%);pointer-events:none}.subhero h1{font-size:clamp(49px,6.2vw,79px);letter-spacing:-.068em;line-height:1.05;margin:0;color:#1c3933}.subhero h1 em{color:#889b8e}.subhero-intro{font-size:17px;line-height:1.85;color:#64736b;max-width:710px;margin:25px 0 0}.subhero .button{margin-top:30px}.services-page{padding-top:78px;padding-bottom:83px}.services-page .service-card{min-height:254px}.services-page .service-card p{margin-bottom:0}.other-services{background:#f4f5f1;padding:95px 0}.other-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:12%}.other-grid h2{margin-bottom:23px}.other-grid>div>p:not(.eyebrow){color:#66766c}.other-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:11px}.other-list>div{display:flex;align-items:flex-start;gap:11px;border-bottom:1px solid #dce2d8;padding:15px 0;font-size:14px;font-weight:650}.other-list svg{color:#648579;flex:none}.service-details{padding-bottom:115px}.service-details .section-heading{margin-bottom:46px}.detail-row{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:#f5f6f1;min-height:365px;margin-bottom:22px}.detail-photo{width:100%;min-height:365px;overflow:hidden}.detail-photo img{width:100%;height:100%;min-height:365px;object-fit:cover}.detail-copy{padding:60px 65px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column}.detail-index{font-size:11px;letter-spacing:.14em;font-weight:800;color:#b08c55;margin:0 0 22px}.detail-copy h3{font-size:clamp(27px,3vw,40px);margin:0 0 17px}.detail-copy p{font-size:15px;color:#65746a;line-height:1.85;margin-bottom:22px;max-width:440px}.detail-row-reverse .detail-photo{grid-column:2;grid-row:1}.detail-row-reverse .detail-copy{grid-column:1;grid-row:1}.slim-cta{padding:72px 0}.slim-cta .area-right .button{margin-top:3px}.gallery-page{padding-top:78px}.gallery-grid{row-gap:35px}.wollner-lightbox{max-width:min(96vw,1050px);max-height:94vh;border:0;background:#112722;padding:15px;color:white;box-shadow:0 30px 90px #0009}.wollner-lightbox::backdrop{background:#000c}.wollner-lightbox img{max-width:100%;max-height:76vh;object-fit:contain;margin:0 auto}.wollner-lightbox .lightbox-close{border:0;background:#fff;color:#183c36;width:42px;height:42px;display:grid;place-items:center;position:absolute;top:15px;right:15px}.lightbox-caption{margin:12px 9px 1px;font-size:14px}.partner-section{padding:80px 0 110px}.partner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.partner-card{height:225px;border:1px solid #e2e8df;background:#f9faf7;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px;gap:24px}.partner-card img{width:auto;height:auto;max-width:85%;max-height:86px;object-fit:contain}.partner-card span{font-size:12px;color:#7a887d}.contact-page{padding:88px 0 120px}.contact-grid{display:grid;grid-template-columns:.87fr 1.13fr;gap:10%;align-items:start}.contact-details h2{margin:0 0 37px}.contact-row{display:flex;align-items:flex-start;gap:18px;border-bottom:1px solid #e2e8df;padding:22px 0}.contact-row>svg{margin-top:4px;color:var(--w-green);flex:none}.contact-row>div>span{font-size:11px;color:#8a988d;font-weight:780;text-transform:uppercase;letter-spacing:.12em;display:block;margin-bottom:7px}.contact-row a{font-size:19px;font-weight:700;overflow-wrap:anywhere}.contact-row p{font-size:15px;line-height:1.8;margin:0;color:#435a50}.contact-area-note{margin-top:40px;background:#f4f6f0;padding:25px 30px}.contact-area-note strong{font-size:13px}.contact-area-note p{margin:5px 0 0;font-size:14px;color:#68766b}.contact-form-card{background:#f5f6f2;padding:43px 45px 45px;border:1px solid #e6eae2}.contact-form-card h2{font-size:34px;margin:0 0 9px}.contact-form-card>p{font-size:14px;color:#748177;margin-bottom:30px}.wollner-form{display:flex;flex-direction:column;gap:17px}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:12px;font-weight:720;color:#354b41}.form-group input,.form-group textarea{border:1px solid #e0e5db;border-radius:0;outline:none;background:white;width:100%;padding:15px 16px;min-height:51px;color:#253b32;transition:border-color .2s}.form-group textarea{resize:vertical;min-height:152px}.form-group input:focus,.form-group textarea:focus{border-color:#6d9585;box-shadow:0 0 0 2px #6d95851c}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca89f;font-size:13px}.optional{font-size:11px;color:#849087}.privacy-check{font-size:12px;line-height:1.65;display:flex;align-items:flex-start;gap:11px;color:#69786e;margin-top:5px}.privacy-check input{accent-color:var(--w-green);width:17px;height:17px;flex:none;margin-top:2px}.privacy-check a{color:var(--w-green);text-decoration:underline}.form-submit{align-self:flex-start;margin-top:5px}.form-footnote{color:#849289;font-size:11px;margin:0}.honeypot{position:absolute!important;left:-99999px!important;width:1px;height:1px;overflow:hidden}.form-notice{padding:12px 16px;font-size:13px;margin-bottom:25px}.form-success{color:#1b5e43;background:#d7efe1}.form-error{color:#933c30;background:#f9e5e1}.generic-subhero{padding:76px 0}.generic-subhero h1{font-size:clamp(42px,5vw,65px)}.generic-content{padding-top:70px;padding-bottom:110px}.entry-content{max-width:860px;font-size:15px;line-height:1.85;color:#43564a;overflow-wrap:anywhere}.entry-content h2{font-size:29px;color:#233d32;margin:35px 0 16px}.entry-content h3{font-size:23px;color:#233d32;margin:29px 0 12px}.entry-content h4{font-size:19px;margin:25px 0 10px}.entry-content a{color:#296d57;text-decoration:underline}.entry-content p,.entry-content ul,.entry-content ol{margin:0 0 17px}.entry-content img{margin:20px 0}.entry-content .wp-block-image img{max-width:100%}.post-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.post-card{padding:35px;background:#f5f6f2}.post-card h2{font-size:29px}.post-card p:not(.detail-index){color:#6a796f}.navigation.pagination{grid-column:1/-1}
@media (max-width:1240px){.nav-shell{gap:23px}.nav-list{gap:21px}.brand{min-width:238px}.brand-type strong{font-size:26px}.brand-type small{font-size:7px}.hero-grid{gap:5%}.hero-copy h1{font-size:clamp(45px,5vw,65px)}}
@media (max-width:1040px){.wrap{width:min(var(--w-wide),calc(100% - 52px))}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;border-top:1px solid var(--w-border);box-shadow:0 20px 30px #132f2920}.site-nav.is-open{display:block}.nav-list{padding:19px 26px;display:flex;flex-direction:column;align-items:stretch;gap:0;max-height:75vh;overflow-y:auto}.nav-list>li>a{display:block;padding:12px 8px;font-size:16px}.nav-list .sub-menu{position:static;box-shadow:none;border:0}.menu-toggle{display:block;margin-left:auto}.button-nav{margin-left:auto}.hero-grid{grid-template-columns:1fr 1fr;gap:28px;min-height:580px}.hero-copy h1{font-size:clamp(42px,4.6vw,59px)}.hero-media{min-height:470px}.hero-badge{left:-18px}.story-grid{gap:5%}.story-photos{min-height:520px}.story-facts{gap:16px}.story-facts strong{font-size:30px}.footer-top{gap:28px;grid-template-columns:1.2fr .7fr 1fr}.footer-enquiry{display:none}.contact-grid{gap:5%}.detail-copy{padding:42px}}
@media (max-width:760px){.wrap{width:calc(100% - 36px)}.utility-inner{min-height:34px}.utility-mail,.utility-area{display:none!important}.site-header .nav-shell{min-height:75px}.brand{min-width:0}.brand-icon{width:38px;height:40px}.brand-type strong{font-size:24px}.brand-type small{font-size:6px}.button-nav{display:none}.hero-grid{grid-template-columns:1fr;min-height:auto;padding:46px 0 65px;gap:13px}.hero-copy{padding:0}.eyebrow{font-size:10px;margin-bottom:18px;letter-spacing:.14em}.hero-copy h1{font-size:clamp(42px,9.7vw,66px);margin:0 0 23px}.hero-intro{font-size:15px;line-height:1.75;margin-bottom:24px}.hero-actions{gap:18px}.hero-signature{margin-top:30px}.hero-media{height:385px;min-height:385px;margin:14px 11px 0 0}.hero-photo{inset:0 12px 14px 0}.hero-badge{padding:14px 16px;left:-3px;min-width:214px;bottom:-5px}.hero-badge strong{font-size:13px}.hero-badge small{font-size:10px}.hero-badge-symbol{width:38px;height:38px}.hero-media-ornament{left:-11px;width:60px;height:60px}.hero-bottom{min-height:60px;gap:12px;flex-wrap:wrap;font-size:10px;padding:13px 0}.hero-bottom>span:first-child{display:none}.hero-bottom .dot-sep{font-size:14px}.hero-bottom a{font-size:11px}.section{padding:72px 0}.section-heading{display:block;margin-bottom:28px}.section-heading h2,.story-copy h2,.other-grid h2,.contact-details h2{font-size:clamp(36px,8vw,50px)}.section-heading-right{max-width:100%;margin-top:24px}.section-heading-right p{font-size:14px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.service-card{min-height:270px;padding:19px 18px}.service-card-top{margin-bottom:20px}.service-icon{width:48px;height:48px}.service-icon svg{width:25px;height:25px}.service-card h2,.service-card h3{font-size:17px}.service-card p{font-size:12px;line-height:1.65}.card-arrow{bottom:15px;right:14px}.story-section{padding:73px 0}.story-grid{grid-template-columns:1fr;gap:30px}.story-photos{min-height:400px;max-width:510px}.story-copy h2{margin-bottom:25px}.story-copy>p:not(.eyebrow){font-size:14px}.story-facts{margin:26px 0}.gallery-heading .inline-link{margin-top:22px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.project-photo{aspect-ratio:1.12}.project-meta{display:block;padding:12px 0}.project-meta h2,.project-meta h3{font-size:15px}.project-meta span{display:none}.area-section{padding:61px 0}.area-grid{grid-template-columns:1fr;gap:23px}.area-grid h2{font-size:clamp(36px,8vw,48px)}.area-right p{font-size:14px;margin-bottom:16px}.area-phone{font-size:22px}.contact-cta{padding:65px 0}.contact-cta-inner{display:block;padding-left:22px}.contact-cta .button{margin-top:26px}.footer-top{grid-template-columns:1fr 1fr;padding:65px 0 40px;gap:35px}.footer-brand{grid-column:1/-1}.footer-bottom{display:block;padding:20px 0 78px}.footer-bottom>div{margin-top:12px;gap:15px}.mobile-call{display:flex;position:fixed;bottom:14px;left:14px;right:14px;align-items:center;justify-content:center;gap:9px;min-height:49px;background:var(--w-green);color:#fff;z-index:100;font-size:14px;font-weight:800;box-shadow:0 9px 28px #13383166}.subhero{padding:66px 0}.subhero h1{font-size:clamp(43px,9vw,60px)}.subhero-intro{font-size:15px}.services-page{padding-top:53px}.other-services{padding:67px 0}.other-grid{grid-template-columns:1fr;gap:30px}.other-list{gap:7px}.other-list>div{font-size:12px}.service-details{padding-bottom:75px}.detail-row{grid-template-columns:1fr}.detail-photo{min-height:260px}.detail-photo img{min-height:260px;max-height:360px}.detail-copy{padding:31px 28px 38px}.detail-row-reverse .detail-photo,.detail-row-reverse .detail-copy{grid-column:auto;grid-row:auto}.gallery-page{padding-top:53px}.partner-section{padding:56px 0}.partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.partner-card{height:170px;padding:19px}.partner-card img{max-height:59px}.contact-page{padding:62px 0}.contact-grid{grid-template-columns:1fr;gap:46px}.contact-details h2{margin-bottom:22px}.contact-row a{font-size:18px}.contact-form-card{padding:30px 21px}.generic-content{padding:55px 0 75px}.post-list{grid-template-columns:1fr}}
@media (max-width:480px){.hero-actions{align-items:stretch}.hero-actions .button{width:100%}.hero-actions .text-link{margin:auto}.hero-copy h1{font-size:42px}.hero-bottom{gap:9px}.hero-bottom a{margin-left:auto}.service-grid{grid-template-columns:1fr}.service-card{min-height:205px}.service-card-top{margin-bottom:14px}.service-card p{max-width:90%}.story-photos{min-height:360px}.story-photo-main{height:80%}.story-photo-detail{height:52%}.story-facts{gap:13px;flex-wrap:wrap}.project-grid{grid-template-columns:1fr}.project-photo{aspect-ratio:1.4}.partner-grid{grid-template-columns:1fr 1fr}.partner-card{height:145px}.form-two{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr 1fr;gap:29px}.footer-column a,.footer-column p{font-size:11px}.contact-cta h2{font-size:35px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}


.partner-text-logo{font-size:clamp(19px,2.4vw,27px);font-weight:800;letter-spacing:-.025em;color:var(--w-green);text-align:center;line-height:1.22}.partner-card>span{letter-spacing:.035em}

/* Version 1.1.3: unified 3:2 imagery in the six service cards */
.service-grid .service-card.service-card-photo{padding:0;overflow:hidden;display:flex;flex-direction:column;min-height:0;background:#f7f8f4}
.service-card-photo .service-card-image{display:block;aspect-ratio:3/2;overflow:hidden;position:relative;background:#e5e9e2;flex:none}
.service-card-photo .service-card-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .35s ease}
.service-card-photo:hover .service-card-image img{transform:scale(1.035)}
.service-card-photo .service-card-body{flex:1;display:flex;flex-direction:column;position:relative;padding:24px 25px 27px;min-height:198px}
.service-card-photo .service-card-count{display:block;color:#899d8f;font-weight:800;font-size:11px;letter-spacing:.12em;margin-bottom:10px}
.service-card-photo .service-card-body h2,.service-card-photo .service-card-body h3{font-size:20px;line-height:1.3;margin:0 0 9px;color:var(--w-green)}
.service-card-photo .service-card-body p{margin:0 32px 25px 0;color:#63736a;font-size:13px;line-height:1.7}
.service-card-photo .service-card-body .card-arrow{bottom:19px;right:21px}
@media (max-width:760px){.service-card-photo .service-card-body{padding:20px 19px 24px;min-height:190px}.service-card-photo .service-card-body h2,.service-card-photo .service-card-body h3{font-size:18px}.service-card-photo .service-card-body p{font-size:13px}}
@media (max-width:480px){.service-card-photo .service-card-body{min-height:155px}}

/* Wollner Modern 1.1.8: logo is anchored to the upper edge of the white header.
   The navigation is laid out independently to avoid its vertical centering
   creating white space above the logo. */
.site-header .nav-shell {
    position: relative;
    height: 108px;
    min-height: 108px;
    padding: 0 !important;
    display: flex;
    align-items: center;
    gap: 26px;
}
.site-header .nav-shell > .brand {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    height: var(--w-logo-height, 102px);
    width: 118px;
    min-width: 0;
    z-index: 1;
}
.site-header .brand-logo {
    display: block;
    flex: none;
    width: auto !important;
    height: var(--w-logo-height, 102px) !important;
    max-width: 118px !important;
    max-height: 110px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain;
    object-position: top left;
}
.site-header .site-nav { margin-left: auto; }
.site-header .button-nav { margin-left: 0; }
@media (max-width: 1040px) {
    .site-header .nav-shell { height: 90px; min-height: 90px; }
    .site-header .nav-shell > .brand { width: 98px; height: 83px; }
    .site-header .brand-logo { height: min(var(--w-logo-height, 102px), 83px) !important; max-height: 83px !important; max-width: 98px !important; }
}
@media (max-width: 760px) {
    .site-header .nav-shell { height: 76px; min-height: 76px; }
    .site-header .nav-shell > .brand { width: 74px; height: 66px; }
    .site-header .brand-logo { height: min(var(--w-logo-height, 102px), 66px) !important; max-height: 66px !important; max-width: 74px !important; }
}

/* 1.1.9: Adminleiste ist bereits im Dokumentfluss beruecksichtigt. Keine zweite Header-Verschiebung. */
body.admin-bar .site-header { top: 0 !important; }

/* Wollner Modern 1.2.0: klare regionale Informationen, Prozess und FAQ */
.seo-intro-panel{display:grid;grid-template-columns:.82fr 1.18fr;gap:9%;margin-top:70px;padding:46px 50px;background:#f2f5ef;border-left:4px solid var(--w-gold)}
.seo-panel-heading h2,.seo-process-heading h2,.seo-faq-grid h2,.seo-gallery-context h2,.seo-contact-help h2{margin:0;font-size:clamp(30px,3.1vw,45px);letter-spacing:-.045em;line-height:1.18;color:#213c32}
.seo-panel-heading h2 em,.seo-process-heading h2 em,.seo-faq-grid h2 em,.seo-gallery-context h2 em,.seo-contact-help h2 em{color:#779384}
.seo-panel-copy p,.seo-process-heading>p,.seo-gallery-context-inner>div:last-child p,.seo-faq-grid>div:first-child>p:not(.eyebrow){font-size:15px;color:#52685d;line-height:1.85;margin:0 0 18px}
.seo-panel-copy .inline-link{margin-top:7px}
.seo-process-section{background:#fff;padding:85px 0 91px}
.seo-process-heading{max-width:760px;margin-bottom:35px}
.seo-process-heading h2{margin-bottom:15px}
.seo-process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.seo-process-card{padding:28px 29px 30px;background:#f5f7f3;border:1px solid #e7ece4}
.seo-process-card>span{display:inline-block;color:#92a297;font-size:13px;font-weight:800;letter-spacing:.12em;margin-bottom:21px}
.seo-process-card h3{font-size:20px;margin:0 0 11px;letter-spacing:-.025em;color:#234039}
.seo-process-card p{color:#65756b;font-size:14px;line-height:1.77;margin:0}
.seo-faq-section{background:#f7f8f4}
.seo-faq-grid{display:grid;grid-template-columns:.68fr 1.32fr;gap:10%}
.seo-faq-grid h2{margin-bottom:22px}
.seo-faq-items{border-top:1px solid #d7e0d5}
.seo-faq-items details{border-bottom:1px solid #d7e0d5;padding:0 0}
.seo-faq-items summary{font-size:16px;color:#213e35;font-weight:720;padding:19px 38px 19px 0;list-style:none;cursor:pointer;position:relative}
.seo-faq-items summary::-webkit-details-marker{display:none}
.seo-faq-items summary::after{content:'+';position:absolute;right:7px;top:18px;font-size:25px;line-height:1;color:#638378;font-weight:400}
.seo-faq-items details[open] summary::after{content:'−'}
.seo-faq-items details>p{font-size:14px;line-height:1.8;color:#64766b;margin:0 28px 21px 0}
.seo-faq-items details a{color:#1e594b;text-decoration:underline;text-underline-offset:3px}
.seo-services-intro{max-width:920px;margin:0 0 47px}
.seo-services-intro h2{font-size:clamp(27px,3vw,38px);margin:0 0 18px;color:#234239}
.seo-services-intro p{font-size:15px;color:#5a7164;line-height:1.85;margin:0 0 16px}
.seo-gallery-context,.seo-partner-context,.seo-contact-help{padding:79px 0;background:#f5f7f2}
.seo-gallery-context-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%;align-items:start}
.seo-gallery-context-inner h2{margin:0}
.seo-gallery-context-inner>div:last-child .inline-link{margin-top:7px}
.seo-contact-help{padding:70px 0 95px}
.seo-contact-help h2{margin-bottom:30px}
.seo-partner-context a:not(.inline-link){color:#215b4b;text-decoration:underline}
@media(max-width:1040px){.seo-intro-panel{gap:6%;padding:36px}.seo-faq-grid{gap:6%}.seo-gallery-context-inner{gap:6%}}
@media(max-width:760px){.seo-intro-panel,.seo-faq-grid,.seo-gallery-context-inner{grid-template-columns:1fr;gap:25px}.seo-intro-panel{padding:27px 25px;margin-top:48px}.seo-process-section{padding:63px 0}.seo-process-grid{grid-template-columns:1fr;gap:12px}.seo-process-card{padding:23px 25px}.seo-process-card>span{margin-bottom:10px}.seo-gallery-context,.seo-partner-context,.seo-contact-help{padding:60px 0}.seo-services-intro{margin-bottom:33px}.seo-faq-grid>div:first-child>p:not(.eyebrow){margin-bottom:0}}


/* Wollner Modern 1.2.1: Navigation bleibt beim Scrollen sichtbar.
 * Sticky statt fixed vermeidet einen leeren Platzhalter und verhindert den
 * vorherigen 32px-Abstand unter der WordPress-Adminleiste. */
.site-header {
    position: sticky;
    top: 0 !important;
    z-index: 1000;
    box-shadow: 0 1px 0 rgba(15, 45, 37, .07);
    transition: box-shadow .2s ease;
}
.site-header.wollner-is-scrolled {
    box-shadow: 0 8px 26px rgba(20, 45, 37, .12);
}
body.admin-bar .site-header { top: 32px !important; }
@media (max-width: 782px) {
    body.admin-bar .site-header { top: 46px !important; }
}
/* Auf Sprungmarken verweisen, ohne sie unter dem Sticky-Header zu verstecken. */
html { scroll-padding-top: calc(126px + var(--wp-admin--admin-bar--height, 0px)); }
@media (max-width:1040px) { html { scroll-padding-top: calc(105px + var(--wp-admin--admin-bar--height, 0px)); } }
@media (max-width:760px) { html { scroll-padding-top: calc(88px + var(--wp-admin--admin-bar--height, 0px)); } }
/* Hauptnavigation 18px, auch im aufgeklappten mobilen Menü. */
.site-header .nav-list a { font-size: 18px; line-height: 1.4; }
/* Lesbare, einheitliche 16px-Fließtexte auf allen Seiten, inkl. responsiver Regeln.
 * Überschriften, Nummern, Eyebrows und ergänzende Mikrolabels behalten ihre Hierarchie. */
body, .entry-content,
.hero-intro, .section-heading-right p,
.service-card p, .service-card-photo .service-card-body p,
.story-copy > p:not(.eyebrow), .area-right p,
.contact-cta-inner > div > p:last-child,
.subhero-intro, .other-list > div, .detail-copy p,
.contact-row p, .contact-area-note p,
.contact-form-card > p, .contact-form-card .privacy-check,
.contact-form-card .form-group label,
.contact-form-card .form-group input,
.contact-form-card .form-group textarea,
.contact-form-card .form-group input::placeholder,
.contact-form-card .form-group textarea::placeholder,
.seo-panel-copy p, .seo-process-heading > p,
.seo-gallery-context-inner > div:last-child p,
.seo-faq-grid > div:first-child > p:not(.eyebrow),
.seo-process-card p, .seo-faq-items details > p,
.seo-services-intro p,
.footer-brand p, .footer-brand .footer-quiet,
.footer-column a, .footer-column p, .footer-bottom,
.button, .inline-link, .text-link,
.hero-signature strong, .hero-signature small,
.story-facts span,
.hero-bottom, .hero-bottom a {
    font-size: 16px;
}
/* Bei längeren Leistungsbeschreibungen die Karte organisch wachsen lassen. */
.service-card-photo .service-card-body { min-height: 215px; }
@media (max-width: 760px) {
    .service-card-photo .service-card-body { min-height: 0; }
    .footer-top { gap: 26px; }
}
@media (max-width: 480px) {
    .service-card-photo .service-card-body { min-height: 0; }
}
/* Zurück nach oben, mobil über dem fixen Telefon-Button. */
.wollner-back-to-top {
    position: fixed;
    right: 26px;
    bottom: 28px;
    z-index: 1010;
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 50%;
    background: var(--w-green);
    color: #fff;
    box-shadow: 0 8px 24px rgba(16, 43, 37, .23);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(12px);
    transition: opacity .22s, visibility .22s, transform .22s, background .22s;
}
.wollner-back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}
.wollner-back-to-top:hover, .wollner-back-to-top:focus-visible {
    background: #295e51;
}
@media (max-width: 760px) {
    .wollner-back-to-top { right: 17px; bottom: 79px; width: 48px; height: 48px; }
}
@media (prefers-reduced-motion: reduce) {
    .wollner-back-to-top, .site-header { transition: none; }
}
