:root {
  --ink: #232422;
  --charcoal: #3f403d;
  --paper: #f2f0e9;
  --white: #fff;
  --green: #6f8e12;
  --green-dark: #5d7709;
  --orange: #b26115;
  --violet: #724b7e;
  --line: rgba(35, 36, 34, .18);
}

@font-face {
  font-family: Reddit;
  src: url('../fonts/RedditSans-Var.ttf');
}

@font-face {
  font-family: RedditItalic;
  src: url('../fonts/RedditSans-Italic-Var.ttf');
}

* { 

box-sizing: border-box;
}

html { 

scroll-behavior: smooth;
}

body { 
margin: 0; 
background: var(--paper); 
color: var(--ink); 
/*font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; */
font-family: 'Reddit',sans-serif;
-webkit-font-smoothing: antialiased;
}

a { 
color: inherit; 
text-decoration: none;
}

img { 
display: block; 
max-width: 100%;
}

.site-header { 
position: absolute; 
z-index: 20; 
top: 0; 
left: 0; 
width: 100%; 
height: 98px; 
display: flex; 
align-items: center; 
justify-content: space-between; 
padding: 0 clamp(24px, 6vw, 92px); 
color: #fff;
}

.brand { 
display: flex; 
align-items: center; 
gap: 14px; 
/*font: 700 15px/1 "Helvetica Neue", sans-serif; */
font: 700 15px/1 'Reddit',sans-serif;
letter-spacing: .16em;
}

.brand img { 
width: 44px; 
height: 44px; 
object-fit: cover; 
border-radius: 2px; 
box-shadow: 0 5px 18px #0004;
}

nav { 
display: flex; 
align-items: center; 
gap: 42px; 
font-size: 13px;
}

nav > a:not(.nav-cta) { 
opacity: .74; 
transition: opacity .2s;
text-transform: uppercase;
}

nav > a:hover { 
opacity: 1;
}

.nav-cta { 
border: 1px solid #ffffff55; 
padding: 13px 18px; 
border-radius: 2px;
}

.nav-cta span, .button span { 
margin-left: 18px;
}

.menu-toggle { 
display: none;
}

.hero { 
position: relative; 
min-height: 760px; 
height: 100vh; 
max-height: 980px; 
overflow: hidden; 
background: #3f403d; 
color: #fff; 
padding: 168px clamp(24px, 8vw, 130px) 80px;
}

.hero::after { 
content: ""; 
position: absolute; 
inset: 0; 
opacity: .07; 
pointer-events: none; 
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}

.hero-grid { 
position: relative; 
z-index: 2; 
width: min(660px, 53vw);
}

.eyebrow, .section-kicker { 
/*font: 600 11px/1 "Helvetica Neue", sans-serif; */
font: 600 11px/1 'Reddit', sans-serif; 
letter-spacing: .2em;
text-transform: uppercase;
}

.eyebrow { 
display: flex; 
gap: 12px; 
align-items: center; 
color: #dfe6c8;
}

.eyebrow span { 
width: 26px; 
height: 2px; 
background: var(--green); 
}
h1, h2, h3 { 
/*font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; */
font-family: 'Reddit',sans-serif;
margin: 0; 
letter-spacing: -.045em;
}

.hero h1 { 
margin-top: 36px; 
font-size: clamp(64px, 8.8vw, 136px); 
font-weight: 500; 
line-height: .84;
}

.hero h1 em, .inner-hero h1 em { 
color: var(--green); 
font-style: normal;
}

.hero-copy { 
max-width: 560px; 
font-size: clamp(17px, 1.4vw, 21px); 
line-height: 1.65; 
color: #d5d5cf; 
margin: 40px 0 38px;
}

.hero-actions { 
display: flex; 
align-items: center; 
gap: 40px;
}

.button { 
display: inline-flex; 
align-items: center; 
justify-content: space-between; 
min-width: 192px; 
padding: 17px 20px; 
border-radius: 2px; 
font-size: 13px; 
font-weight: 600; 
transition: transform .2s, background .2s;
text-transform: uppercase;
}

.button:hover { 
transform: translateY(-2px);
}

.button-primary { 
background: var(--green);
}

.button-primary:hover { 
/*background: #7e9d1c;*/
background: #724b7eff;
}

.text-link { 
font-size: 13px; 
padding: 12px 0; 
border-bottom: 1px solid #ffffff55;
}

.text-link span { 
margin-left: 18px;
}

.hero-art { 
position: absolute; 
z-index: 1; 
width: 48vw; 
height: 48vw; 
max-width: 710px; 
max-height: 710px; 
right: -3vw; 
top: 50%; 
transform: translateY(-46%);
}

.orbit { 
position: absolute; 
border-radius: 50%; 
border: 1px solid #ffffff19; 
inset: 4%;
}

.orbit-two { 
inset: 20%; 
border-color: #ffffff24;
}

.hero-art::before, .hero-art::after { 
content: ""; 
position: absolute; 
border-radius: 50%; 
background: #677f1b; 
filter: blur(1px); 
opacity: .34;
}

.hero-art::before { 
inset: 8%;
}

.hero-art::after { 
inset: 29%; 
background: #91ad3a; 
opacity: .25;
}

.code-card { 
position: absolute; 
z-index: 2; 
width: 52%; 
height: 37%; 
left: 22%; 
top: 31%; 
background: #20211f; 
border: 1px solid #ffffff18; 
box-shadow: 0 32px 80px #0008; 
transform: rotate(-3deg);
}

.code-head { 
height: 36px; 
display: flex; 
align-items: center; 
padding: 0 12px; 
gap: 6px; 
border-bottom: 1px solid #ffffff12; 
color: #777; 
/*font: 9px "Helvetica Neue";*/
font: 9px "Reddit";
}

.code-head i { 
width: 5px; 
height: 5px; 
border-radius: 50%; 
background: #71726f;
}

.code-head span { 
margin-left: auto;
}

.code-lines { 
padding: 18px;
}

.code-lines b { 
display: block; 
height: 5px; 
margin-bottom: 13px; 
border-radius: 5px; 
background: #ffffff16;
}

.code-lines b:nth-child(1), .code-lines b:nth-child(4) { 
width: 34%; 
background: #769113;
}

.code-lines b:nth-child(2) { 
width: 81%; 
margin-left: 13%;
}

.code-lines b:nth-child(3) { 
width: 62%; 
margin-left: 13%; 
background: #b2611588;
}

.code-lines b:nth-child(5) { 
width: 48%; 
margin-left: 13%; 
background: #724b7e88;
}

.code-lines b:nth-child(6) { 
width: 70%;
}

.status-card { 
position: absolute; 
z-index: 4; 
left: 5%; 
bottom: 22%; 
background: #f8f7f2; 
color: var(--ink); 
padding: 14px 18px; 
display: flex; 
gap: 12px; 
align-items: center; 
box-shadow: 0 20px 50px #0004;
}

.status-dot { 
width: 9px; 
height: 9px; 
border-radius: 50%; 
background: var(--green); 
box-shadow: 0 0 0 5px #718d1822;
}

.status-card small { 
display: block; 
/*font: 8px "Helvetica Neue"; */
font: 8px 'Reddit'; 
letter-spacing: .16em; 
color: #888; 
margin-bottom: 4px;
}

.status-card strong { 
/*font: 600 11px "Helvetica Neue";*/
font: 600 11px 'Reddit';
}

.art-label { 
position: absolute; 
z-index: 3; 
/*font: 8px "Helvetica Neue"; */
font: 8px 'Reddit'; 
letter-spacing: .16em; 
color: #ffffff60;
}

.label-one { 
top: 19%; 
left: 8%;
}

.label-two { 
right: 15%; 
bottom: 21%;
}

.scroll-note { 
position: absolute; 
z-index: 2; 
bottom: 42px; 
left: clamp(24px, 6vw, 92px); 
display: flex; 
align-items: center; 
gap: 16px; 
/*font: 8px "Helvetica Neue"; */
font: 8px 'Reddit'; 
letter-spacing: .2em; 
color: #ffffff66;
display: none;
}

.scroll-note span { 
width: 50px; 
height: 1px; 
background: #ffffff40;
}

.statement { 
padding: 140px clamp(24px, 12vw, 190px); 
display: grid; 
grid-template-columns: 1fr 2fr; 
column-gap: 8vw; 
border-bottom: 1px solid var(--line);
}

.section-kicker { 
color: var(--green-dark); 
padding-top: 10px;
}

.section-kicker2 {
color: var(--green-dark); 
font: 600 11px / 1 'Reddit', sans-serif;
letter-spacing: .2em;
text-transform: uppercase;
width: fit-content;
padding-top: 150px;
margin:0 0 0 10vw;
}

.statement h2, .process h2, .cta h2 { 
font-size: clamp(42px, 5vw, 76px); 
font-weight: 500; 
line-height: 1.04;
}

.statement > p:last-child { 
grid-column: 2; 
max-width: 680px; 
font-size: 18px; 
line-height: 1.8; 
color: #65665f; 
margin: 50px 0 0;
}

.services { 
background: #e9e6dd;
}

.services-container {
position: relative;
text-align: center;
width: 100%;
margin:0;
padding: 0;
}

.service { 
min-height: 500px; 
display: inline-grid; 
grid-template-columns: 130px minmax(260px, 1fr) 1.2fr; 
gap: 6vw; 
text-align: left;
align-items: center; 
padding: 80px clamp(24px, 1vw, 150px); 
border-bottom: 1px solid var(--line);
}

.service-number { 
align-self: start; 
/*font: 500 11px "Helvetica Neue"; */
font: 600 11px / 1 'Reddit', sans-serif;
letter-spacing: .2em; 
color: var(--green-dark);
text-transform: uppercase;
}

.service-icon { 
position: relative; 
width: min(29vw, 360px); 
height: min(25vw, 300px); 
justify-self: center;
}

.service-icon::before { 
content: ""; 
position: absolute; 
inset: 0; 
border-radius: 50%; 
opacity: .14;
}

.service-green .service-icon::before { 
background: var(--green); 
}
	
	.service-orange .service-icon::before { 
background: var(--orange); 
}
	
	.service-violet .service-icon::before { 
background: var(--violet);
}

.browser-icon span { 
position: absolute; 
z-index: 1; 
width: 68%; 
height: 50%; 
left: 16%; 
top: 24%; 
border: 2px solid var(--green-dark); 
box-shadow: 13px 13px 0 #5d770922;
}

.browser-icon span::before { 
content: "•••"; 
position: absolute; 
top: -4px; 
left: 8px; 
color: var(--green-dark); 
letter-spacing: 2px;
}

.browser-icon i { 
position: absolute; 
z-index: 2; 
height: 2px; 
left: 26%; 
background: var(--green-dark);
}

.browser-icon i:nth-child(2) { 
width: 28%; 
top: 44%; 
}
	
	.browser-icon i:nth-child(3) { 
width: 45%; 
top: 53%; 
}
	
	.browser-icon i:nth-child(4) { 
width: 35%; 
top: 62%;
}

.phone-icon i { 
position: absolute; 
z-index: 1; 
width: 34%; 
height: 64%; 
left: 33%; 
top: 17%; 
border: 2px solid var(--orange); 
border-radius: 10px; 
box-shadow: 10px 12px 0 #b2611522;
}

.phone-icon i::after { 
content: ""; 
position: absolute; 
width: 15px; 
height: 2px; 
background: var(--orange); 
bottom: 7px; 
left: calc(50% - 7px);
}

.phone-icon span { 
position: absolute; 
z-index: 2; 
left: 45%; 
top: 42%; 
/*font: 700 28px "Helvetica Neue"; */
font: 700 28px 'Reddit'; 
color: var(--orange);
}

.computer-icon span {
position: absolute;
z-index: 1;
width: 62%;
height: 45%;
left: 19%;
top: 22%;
border: 2px solid var(--violet);
border-radius: 5px;
box-shadow: 12px 12px 0 #724b7e22;
}

.computer-icon span::before {
content: "";
position: absolute;
inset: 9px;
border: 1px solid #724b7e55;
background: linear-gradient(145deg, #724b7e18, transparent 60%);
}

.computer-icon span::after {
content: "";
position: absolute;
width: 5px;
height: 5px;
right: 5px;
bottom: 5px;
border-radius: 50%;
background: var(--violet);
}

.computer-icon i {
position: absolute;
z-index: 2;
width: 2px;
height: 15%;
left: calc(50% - 1px);
top: 67%;
background: var(--violet);
}

.computer-icon b {
position: absolute;
z-index: 2;
width: 30%;
height: 2px;
left: 35%;
top: 82%;
background: var(--violet);
}

.service h3 { 
font-size: clamp(42px, 5vw, 68px); 
font-weight: 500; 
margin-bottom: 23px;
}

.service p { 
max-width: 350px; 
color: #62635e; 
font-size: 16px; 
line-height: 1.7;
}

.service ul { 
list-style: none; 
padding: 22px 0 0; 
margin: 0; 
display: grid; 
gap: 11px; 
font-size: 12px; 
font-weight: 600;
}

.service li::before { 
content: "↗"; 
margin-right: 12px; 
color: var(--green-dark);
}

.service-orange li::before { 
color: var(--orange); 
}
	
	.service-violet li::before { 
color: var(--violet);
}

.process { 
padding: 150px clamp(24px, 10vw, 170px); 
display: grid; 
grid-template-columns: 1fr 1fr; 
gap: 10vw; 
background: #f6f4ee;
}

.process-intro > p:last-child { 
max-width: 480px; 
color: #696a64; 
font-size: 17px; 
line-height: 1.7; 
margin-top: 35px;
}

.process-list { 
list-style: none; 
padding: 0; 
margin: 0;
}

.process-list li { 
display: grid; 
grid-template-columns: 45px 1fr; 
gap: 25px; 
padding: 0 0 38px; 
margin-bottom: 38px; 
border-bottom: 1px solid var(--line);
}

.process-list li > span { 
/*font: 600 10px "Helvetica Neue"; */
font: 600 10px "Reddit"; 
color: var(--green-dark);
}

.process-list h3 { 
font-size: 25px; 
font-weight: 600; 
margin-bottom: 12px;
}

.process-list p { 

 color: #6b6c65; 
margin: 0; 
line-height: 1.6;
}

.home-contact { 
padding: 100px clamp(24px, 10vw, 160px); 
background: var(--paper);
}

.home-contact-intro { 
display: grid; 

grid-template-columns: .7fr 2fr; 
gap: 2vw; 
padding-bottom: 40px; 
border-bottom: 1px solid var(--line);
}

.home-contact-intro h2 { 
grid-column: 2; 
font-size: clamp(52px, 7vw, 100px); 
font-weight: 500; 
line-height: .94;
}

.home-contact-intro h2 em { 
color: var(--green-dark); 
font-style: normal;
}

.home-contact-intro > p:last-child { 
grid-column: 2; 
max-width: 610px; 
font-size: 18px; 
line-height: 1.7; 
color: #66675f;
}

.cta { 

position: relative; 
overflow: hidden; 
background: var(--green-dark); 
color: #fff; 
text-align: center; 
padding: 135px 24px;
}

.cta .section-kicker { 
color: #dfe7c9;
}

.cta h2 { 
margin: 25px 0; 
position: relative; 
z-index: 1;
}

.cta > p:not(.section-kicker) { 
color: #edf1e5; 
font-size: 17px; 
margin-bottom: 36px;
}

.button-light { 
background: #fff; 
color: var(--ink); 
position: relative; 
z-index: 1;
}

.button-light:hover {
background: #b26115ff;
color: #fff;
}

.cta-rings { 
position: absolute; 
width: 650px; 
height: 650px; 
border: 1px solid #ffffff1c; 
border-radius: 50%; 
left: 50%; 
top: 50%; 
transform: translate(-50%, -50%);
}

.cta-rings::before, .cta-rings::after { 
content: ""; 
position: absolute; 
border-radius: 50%; 
border: 1px solid #ffffff1c; 
inset: 15%;
}

.cta-rings::after { 
inset: 30%; 
}

footer { 
background: #30312f; 
color: #fff; 
padding: 40px clamp(24px, 7vw, 110px) 25px; 
display: grid; 
grid-template-columns: 1.5fr .8fr; 
gap: 0px;
}

.footer-brand { 
display: flex; 
align-items: center; 
gap: 15px; 
}
	
	.footer-brand img { 
width: 54px;
}

.footer-brand strong, .footer-brand span { 
display: block; 
/*font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; */
font-family: 'Reddit',sans-serif;
}
	
.footer-brand strong { 
letter-spacing: .15em;
font-size: 17px;
}
	
.footer-brand span { 
margin-top: 5px; 
font-size: 10px; 
text-transform: uppercase;
color: #ffffff77;
}

.footer-contact { 
display: flex; 
flex-direction: column; 
gap: 10px; 
font-size: 12px; 
color: #ffffffaa;
}

.footer-contact a:hover { 
color: #fff;
}

.footer-links { 
display: flex; 
align-items: center; 
gap: 42px; 
font-size: 13px;
flex-direction: row-reverse;
}

.footer-links > a, .footer-links2 > a { 
opacity: .74; 
transition: opacity .2s;
text-transform: uppercase;
}

.footer-links > a:hover, .footer-links2 > a:hover { 
opacity: 1;
}

.footer-links2 { 
display: flex; 
align-items: center; 
gap: 42px; 
font-size: 13px;
flex-direction: row-reverse;
}

.footer-contact {
	display: none;
	visibility: hidden;
}

.footer-bottom { 
grid-column: 1/-1; 
display: flex; 
justify-content: space-between; 
border-top: 1px solid #ffffff18; 
padding-top: 24px; 
margin-top: 20px; 
font-size: 10px; 
color: #ffffff66;
}

.reveal { 
opacity: 0; 
transform: translateY(24px); 
transition: opacity .75s ease, transform .75s ease; 
}
	
	.reveal.visible { 
opacity: 1; 
transform: none; 
}

.inner-header { 
position: relative; 
background: var(--charcoal);
}

.back-link { 
font-size: 12px; 
color: #ffffffaa;
}

.inner-page, .legal-page { 
min-height: 80vh; 
padding: 100px clamp(24px, 10vw, 160px) 140px;
}

.inner-hero { 
display: grid; 
grid-template-columns: .7fr 2fr; 
gap: 7vw; 
padding-bottom: 90px; 
border-bottom: 1px solid var(--line);
}

.inner-hero h1 { 
grid-column: 2; 
font-size: clamp(58px, 8vw, 120px); 
line-height: .88; 
font-weight: 500;
}

.inner-hero > p:last-child { 
grid-column: 2; 
max-width: 600px; 
font-size: 18px; 
line-height: 1.7; 
color: #66675f;
}

.contact-grid { 
padding-top: 60px; 
display: grid; 
grid-template-columns: 1fr; 
gap: 30px;
max-width: 800px;
margin: 0 auto;
}

.contact-card { 
background: #e8e5dc; 
padding: 45px; 
min-height: 330px; 
display: flex; 
flex-direction: column;
}

.contact-card > span, .contact-details small { 
/*font: 600 10px "Helvetica Neue";*/
font: 800 12px 'Reddit'; 
letter-spacing: .14em; 
text-transform: uppercase;
color: var(--green-dark);
}

.contact-card h2, .contact-card h3 { 
margin: 30px 0 12px; 
font-size: 27px; 
letter-spacing: -.03em;
}

.large-contact { 
/*font: 500 clamp(20px, 2.2vw, 31px) "Helvetica Neue"; */
font: 500 clamp(20px, 2.2vw, 31px) 'Reddit'; 
border-bottom: 1px solid var(--line); 
padding-bottom: 18px;
}

.large-contact b { 
float: right; 
color: var(--green-dark);
}

.contact-card p { 
margin-top: auto; 
color: #6a6b65; 
line-height: 1.7; 
font-size: 14px;
}

.contact-details { 
grid-column: 1/-1; 
display: grid; 
grid-template-columns: repeat(3, 1fr); 
gap: 30px; 
padding: 30px 0 0 50px;
}

.contact-details p { 
line-height: 1.5; 
font-size: 14px;
margin:0;
padding:10px 0;
}

.contact-form { 
background: #e8e5dc; 
padding: 45px; 
display: grid; 
gap: 25px;
}

.form-row { 
display: grid; 
grid-template-columns: 1fr 1fr 1fr; 
gap: 25px;
}

.contact-form label { 
display: grid; 
gap: 10px; 
font-size: 12px; 
font-weight: 600; 
color: #55564f;
text-transform: uppercase;
}

.contact-form label > span, .contact-form label > a { 
color: var(--green-dark);
}

.contact-form label > span {
text-transform: none;
}

.contact-form input, .contact-form textarea { 
width: 100%; 
border: 0; 
border-bottom: 1px solid #23242244; 
border-radius: 0; 
background: transparent; 
color: var(--ink); 
font: inherit; 
font-size: 16px; 
line-height: 1.5; 
padding: 10px 0 12px; 
outline: none; 
resize: vertical;
}

.contact-form input:focus, .contact-form textarea:focus { 
border-color: var(--green-dark); 
box-shadow: 0 1px 0 var(--green-dark);
}

.contact-form textarea { 
min-height: 130px;
}

.privacy-check { 
display: grid !important; 
grid-template-columns: 18px 1fr; 
align-items: start; 
font-weight: 400 !important; 
line-height: 1.6;
}

.privacy-check input { 
width: 17px; 
height: 17px; 
margin: 2px 0 0; 
padding: 0; 
border: 0; 
box-shadow: none; 
accent-color: var(--green-dark);
}

.privacy-check a { 
text-decoration: underline; 
text-underline-offset: 3px;
}

.form-submit { 
border: 0; 
background: var(--green-dark); 
color: #fff; 
cursor: pointer; 
justify-self: start;
}

.form-submit:hover {
background: #724b7eff;
}

.form-status { 
padding: 14px 16px; 
background: #ffffff90; 
border-left: 3px solid var(--green-dark); 
font-size: 14px; 
line-height: 1.5;
}

.form-status.error { 
border-color: #a43d2f; 
color: #7c2b21;
}

.website-field { 
position: absolute !important; 
left: -10000px; 
width: 1px; 
height: 1px; 
overflow: hidden;
}

.legal-page { 
max-width: 1250px; 
margin: auto;
}

.legal-page > h1 { 
font-size: clamp(64px, 9vw, 130px); 
font-weight: 500; 
margin: 25px 0 100px;
}

.legal-grid { 
display: grid; 
grid-template-columns: 1fr 2fr; 
gap: 10vw;
}

.legal-grid aside { 
color: #7c7d76; 
font-size: 14px; 
line-height: 1.6;
}

.legal-grid article { 
max-width: 680px;
}

.legal-grid h2 { 
font-size: 22px; 
letter-spacing: -.02em; 
margin: 0 0 14px; 
padding-top: 38px; 
border-top: 1px solid var(--line);
}

.legal-grid h2:first-child { 
padding-top: 0; 
border: 0;
}

.legal-grid p { 
line-height: 1.8; 
color: #62635e; 
margin: 0 0 38px;
}

.legal-grid a { 
text-decoration: underline; 
text-underline-offset: 3px;
}

.footer-simple { 
padding: 25px clamp(24px, 7vw, 110px); 
display: flex; 
grid-template-columns: none; 
justify-content: space-between; 
font-size: 11px; 
color: #ffffff88;
}

.footer-simple div { 
display: flex; 
gap: 25px; 
}

@media (max-width: 800px) {
  
  	.site-header { 
	height: 80px; 
	padding: 0 20px; 
	}
	
	.brand img { 
	width: 40px; 
	height: 40px; 
	}

	.service h3 {
	text-align: center;
	}

	.form-submit {
		margin: 0 auto;
	}
	
	.menu-toggle { 
	display: flex; 
	width: 42px; 
	height: 42px; 
	border: 1px solid #ffffff44; 
	background: none; 
	flex-direction: column; 
	justify-content: center; 
	gap: 6px; 
	padding: 0 11px; 
	}
  
  	.menu-toggle span { 
	height: 1px; 
	width: 100%; 
	background: #fff; 
	}
  
  	nav { 
	display: none; 
	position: absolute; 
	top: 80px; 
	left: 0; 
	width: 100%; 
	padding: 30px 20px; 
	background: #30312f; 
	flex-direction: column; 
	align-items: stretch; 
	gap: 0; 
	}
  
  	nav.open { 
	display: flex; 
	} 
	
	nav a { 
	padding: 17px 0; 
	border-bottom: 1px solid #ffffff1c; 
	}
	
	.nav-cta { 
	border: 0; 
	}
  
  	.hero { 
	height: auto; 
	min-height: 820px; 
	padding: 140px 24px 80px; 
	}
	
	.hero-grid { 
	width: 100%; 
	}
	
	.hero h1 { 
	font-size: clamp(62px, 19vw, 92px); 
	}
	
  	.hero-copy { 
	font-size: 17px; 
	}
	
	.hero-actions { 
	align-items: flex-start; 
	flex-direction: column; 
	gap: 16px; 
	}
  
  	.hero-art { 
	width: 390px; 
	height: 390px; 
	right: -140px; 
	top: auto; 
	bottom: -40px; 
	transform: none; 
	opacity: .72; 
	}
	
	.status-card { 
	display: none; 
	}
	
	.scroll-note { 
	display: none; 
	}

  	.statement { 
	padding: 90px 25px; 
	display: block; 
	}
	
	.statement h2 { 
	margin-top: 25px; 
	}
	
	.statement > p:last-child { 
	margin-top: 30px; 
	}
  
  	.service { 
	grid-template-columns: 0.4fr 0.4fr; 
	gap: 20px; 
    padding: 75px 0px;
    width: calc(100vw - 50px);
	}

	.service-orange { 
	padding-top:30px;
	}
	
	.service-number { 
	grid-row: 1; 
	}
	
	.service-icon { 
	grid-column: 2; 
	width: 250px; 
	height: 220px; 
	justify-self: start; 
	}
	
	.service > div:last-child { 
	grid-column: 2; 
	}
  
  	.process { 
	grid-template-columns: 1fr; 
	padding: 90px 25px; 
	}
	
	.process-list { 
	margin-top: 30px; 
	}
  	
  	.home-contact { 
	padding: 90px 25px; 
	}
	
	.home-contact-intro { 
	display: block; 
	padding-bottom: 55px; 
	}
	
	.home-contact-intro h2 { 
	margin: 25px 0 30px; 
	}
  
  	.cta { 
	padding: 100px 24px; 
	}
	
	.cta-rings { 
	width: 420px; 
	height: 420px; 
	}
	
  	footer { 
	padding: 55px 24px 22px; 
	grid-template-columns: 1fr 0fr; 
	}
	
	.footer-brand { 
	grid-column: 1/-1; 
	}
	
	.footer-bottom { 
	margin-top: 0; 
	}
  
  	.inner-header .back-link { 
	font-size: 0; 
	}
	
	.inner-header .back-link::after { 
	content: "← Zurück"; 
	font-size: 12px; 
	}
  
  	.inner-page, .legal-page { 
	padding: 75px 24px 100px; 
	}
	
	.inner-hero { 
	display: block; 
	padding-bottom: 60px; 
	}
	
	.inner-hero h1 { 
	margin: 25px 0 35px; 
	font-size: 58px; 
	}
  
  	.contact-grid { 
	grid-template-columns: 1fr; 
	}
	
	.contact-card, .contact-form { 
	padding: 30px; 
	}
	
	.contact-card { 
	min-height: 300px; 
	}
	
	.contact-details, .form-row { 
	grid-template-columns: 1fr; 
	}
  
	.legal-page > h1 { 
	margin-bottom: 60px; 
	}
	
	.legal-grid { 
	grid-template-columns: 1fr; 
	gap: 40px; 
	}

	.footer-links, .footer-links2 {
	margin:30px 0;
 	}
	
	.section-kicker2 {
	padding-top: 100px;
	margin:0 0 0 25px;
	}
	
}

@media (prefers-reduced-motion: reduce) {
  	
  	html { 
	scroll-behavior: auto; 
  	}
	
	.reveal { 
	opacity: 1; 
	transform: none; 
	transition: none; 
	}
	
}

.cookie-notice {
position: fixed;
z-index: 1000;
right: 24px;
bottom: 24px;
left: 24px;
max-width: 1100px;
margin: 0 auto;
padding: 22px 24px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 32px;
background: #2f302e;
color: #fff;
border: 1px solid #ffffff20;
box-shadow: 0 18px 60px #0006;
transition: opacity .25s ease, transform .25s ease;
}

.cookie-notice-copy {
max-width: 780px;
}

.cookie-notice strong {
display: block;
margin-bottom: 7px;
font-size: 14px;
letter-spacing: .02em;
}

.cookie-notice p {
margin: 0;
color: #ffffffb5;
font-size: 13px;
line-height: 1.6;
}

.cookie-notice a {
color: #dce8b7;
text-decoration: underline;
text-underline-offset: 3px;
}

.cookie-notice-button {
flex: 0 0 auto;
min-width: 126px;
padding: 13px 18px;
border: 0;
border-radius: 0;
background: var(--green);
color: #fff;
font: 600 13px/1 'Reddit', sans-serif;
cursor: pointer;
transition: background .2s ease, transform .2s ease;
}

.cookie-notice-button:hover {
background: #7d9b22;
transform: translateY(-1px);
}

.cookie-notice-button:focus-visible {
outline: 2px solid #fff;
outline-offset: 3px;
}

.cookie-notice-closing {
opacity: 0;
transform: translateY(16px);
}

@media (max-width: 700px) {
  .cookie-notice {
  right: 12px;
  bottom: 12px;
  left: 12px;
  padding: 20px;
  align-items: stretch;
  flex-direction: column;
  gap: 18px;
  }

  .cookie-notice-button {
  width: 100%;
  }
}
