:root{--color-ink:#1a1d1a;--color-paper:#fcfcf7;--color-accent:#3a6ea5;--color-accent-alt:#6b9080;--color-accent-alt-rgb:107,144,128;--color-text:#2d2d2d;--color-border:#d1d1d1;--color-highlight:#c8d5bb;--color-focus-ring:rgba(58,110,165,0.6);--color-focus-ring-thin:rgba(58,110,165,0.3);--font-serif:Georgia,"Times New Roman",serif;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-mono:ui-monospace,"Cascadia Code","Menlo","Monaco",monospace;--text-xs:0.875rem;--text-sm:1rem;--text-base:1.25rem;--text-lg:1.5rem;--text-xl:1.75rem;--text-2xl:2.25rem;--text-3xl:2.75rem;--text-4xl:3.5rem;--text-5xl:4rem;--space-xs:0.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2rem;--space-xl:3rem;--space-2xl:4rem;--space-3xl:5rem;--transition-fast:150ms ease;--transition-base:300ms ease;--transition-slow:500ms ease;--container-max:1400px;--container-content:1000px;--shadow-handmade:20px 20px 0 rgba(107,144,128,0.1);--shadow-card:10px 10px 0 rgba(107,144,128,0.05)} *{margin:0;padding:0;box-sizing:border-box} body{font-family:var(--font-serif);line-height:1.8;color:var(--color-text);background:var(--color-paper);max-width:var(--container-max);margin:0 auto;position:relative;counter-reset:section;font-size:var(--text-base);font-weight:400;transition:background-color 0.3s ease,color 0.3s ease} body:before{content:"";position:fixed;top:20px;left:20px;right:20px;bottom:20px;border:1px solid var(--color-accent);pointer-events:none;z-index:1001} h1,h2,h3,h4,h5,h6{font-weight:400;line-height:1.2} p{margin-bottom:var(--space-lg);line-height:1.9;font-size:var(--text-base)} a{color:inherit;text-decoration:none} .container{max-width:var(--container-content);margin:0 auto;padding:0 var(--space-lg)} .grid{display:grid;gap:var(--space-lg)} .grid--2{grid-template-columns:1fr} .section{padding:var(--space-xl) 0 var(--space-md);position:relative} .section:nth-child(odd){background:linear-gradient( 90deg,rgba(58,110,165,0.02) 0%,transparent 100% )} .numbered-section{counter-increment:section;position:relative;padding-left:5rem} .numbered-section:before{content:counter(section,decimal-leading-zero);position:absolute;left:0;top:0;font-family:var(--font-mono);font-size:4rem;color:rgba(58,110,165,0.2);font-weight:700} .btn{display:inline-block;font-family:var(--font-mono);font-size:1.125rem;color:var(--color-ink);text-decoration:none;padding:var(--space-md) var(--space-2xl);background:transparent;border:2px solid var(--color-ink);position:relative;overflow:hidden;transition:all var(--transition-base);cursor:pointer} .btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--color-ink);transition:left var(--transition-base);z-index:-1} .btn:hover{color:var(--color-paper);padding-right:3.5rem} .btn:hover:before{left:0} .btn:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:3px} .btn:active{transform:translateY(1px)} .btn:disabled{opacity:0.5;cursor:not-allowed} .btn-margin{margin-top:var(--space-lg)} .btn-margin-top{margin-top:var(--space-xl)} .btn-small{font-size:0.9rem;padding:0.75rem 1.5rem;align-self:flex-start;margin-top:auto} .card{background:var(--color-paper);border:1px solid var(--color-border);padding:var(--space-xl);transition:all var(--transition-base);position:relative;display:flex;flex-direction:column;height:100%} .card:hover{transform:translateY(-5px);border-color:var(--color-accent-alt);box-shadow:var(--shadow-card)} .card--service{min-width:300px} .card--service:nth-child(2){transform:translateY(20px)} .card--service:nth-child(3){transform:translateY(40px)} .card--client{background:rgba(var(--color-accent-alt-rgb),0.05);border-left:3px solid var(--color-accent-alt)} .nav{display:flex;gap:var(--space-xl);margin-top:var(--space-md);padding:var(--space-lg);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)} .nav-link{font-family:var(--font-mono);font-size:1.125rem;font-weight:400;color:var(--color-text);text-decoration:none;text-transform:lowercase;position:relative;padding:var(--space-sm) 0;min-height:44px;display:inline-flex;align-items:center} .nav-link:before{content:"→";position:absolute;left:-1.5rem;opacity:0;transition:opacity var(--transition-base)} .nav-link:hover:before{opacity:1} .nav-link:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:4px} .nav-link.active{font-weight:600;color:var(--color-accent);position:relative} .nav-link.active:before{opacity:1;color:var(--color-accent)} .nav-link[aria-current="page"]{font-weight:600;color:var(--color-accent)} .form-group{margin-bottom:var(--space-xl);position:relative} .form-control{width:100%;padding:var(--space-md) 0;border:none;border-bottom:3px solid var(--color-border);background:transparent;font-family:var(--font-sans);font-size:var(--text-xl);color:var(--color-text);transition:border-color var(--transition-base)} .form-control:focus{outline:none;border-bottom-color:var(--color-accent)} .form-control:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px} .form-control::placeholder{color:rgba(45,45,45,0.5);font-size:var(--text-base)} .form-message{margin-top:var(--space-md);padding:var(--space-md);border-radius:4px;font-family:var(--font-sans);font-size:var(--text-sm);transition:all var(--transition-base)} .form-message.success{background:rgba(var(--color-accent-alt-rgb),0.1);color:var(--color-accent-alt);border:1px solid rgba(var(--color-accent-alt-rgb),0.3)} .form-message.error{background:rgba(165,58,58,0.1);color:#a53a3a;border:1px solid rgba(165,58,58,0.3)} .header{position:relative;padding:var(--space-xl) 0 var(--space-lg);background:var(--color-paper);margin-bottom:var(--space-md)} .header:after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:200px;height:1px;background:var(--color-ink)} .header-content{display:flex;flex-direction:column;align-items:center;text-align:center} .logo{font-family:var(--font-mono);font-size:3rem;font-weight:400;color:var(--color-ink);text-decoration:none;margin-bottom:0.75rem;letter-spacing:-1px;position:relative} .logo:after{content:"";position:absolute;bottom:-5px;left:0;width:100%;height:2px;background:var(--color-accent-alt);transform:scaleX(0.3)} .tagline-small{font-family:var(--font-sans);font-size:1.125rem;color:var(--color-accent);text-transform:uppercase;letter-spacing:2px;margin-bottom:var(--space-md)} .footer{padding:var(--space-2xl) 0;background:var(--color-ink);color:var(--color-paper);position:relative} .footer:before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:200px;height:2px;background:var(--color-accent-alt)} .footer-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl)} .footer-logo{font-family:var(--font-mono);font-size:1.75rem;color:var(--color-paper);text-decoration:none;opacity:0.9} .footer-links{display:flex;gap:var(--space-lg)} .footer-links a{font-family:var(--font-mono);font-size:1rem;color:var(--color-paper);text-decoration:none;text-transform:uppercase;letter-spacing:1px;opacity:0.7} .footer-links a:hover{opacity:1} .copyright{font-family:var(--font-mono);font-size:1rem;color:rgba(255,255,255,0.7);text-align:center;text-transform:uppercase;letter-spacing:1px;margin-top:var(--space-2xl);padding-top:var(--space-xl);border-top:1px solid rgba(255,255,255,0.2)} .quote{font-size:var(--text-2xl);font-style:italic;color:var(--color-accent);padding:var(--space-xl);margin:var(--space-2xl) 0;border-left:4px solid var(--color-accent-alt);background:linear-gradient( 90deg,rgba(58,110,165,0.05) 0%,transparent 100% );line-height:1.7} .hand-drawn-line{height:2px;background:var(--color-accent);width:100px;margin:var(--space-xl) 0;position:relative} .hand-drawn-line:before{content:"";position:absolute;top:-2px;left:-5px;right:-5px;bottom:-2px;border:2px solid var(--color-accent);opacity:0.2} .mobile-menu-btn{display:none;position:fixed;top:2.5rem;right:2.5rem;background:var(--color-paper);border:2px solid var(--color-border);padding:var(--space-md);z-index:1002;cursor:pointer;border-radius:3px} .menu-line{display:block;width:28px;height:3px;background:var(--color-ink);margin:6px 0} .hero{padding:5rem 0 9rem;position:relative} .hero-content{max-width:800px;margin-left:10%} .hero h1{font-size:var(--text-5xl);font-weight:400;line-height:1.1;margin-bottom:var(--space-lg);position:relative;display:inline-block} .hero h1:after{content:"";position:absolute;bottom:-10px;left:0;width:80px;height:3px;background:var(--color-accent-alt)} .hero .tagline{font-family:var(--font-sans);font-size:var(--text-3xl);font-weight:300;color:var(--color-accent);margin-bottom:var(--space-xl);font-style:italic;line-height:1.3} .hero .description{font-size:var(--text-lg);max-width:800px;margin-bottom:var(--space-xl);padding-left:var(--space-xl);border-left:3px solid var(--color-accent);line-height:1.8} .section-title{font-size:var(--text-4xl);font-weight:400;margin-bottom:var(--space-md);position:relative;display:inline-block;line-height:1.2} .section-title:before{content:"";position:absolute;top:-10px;left:0;width:50px;height:2px;background:var(--color-accent-alt)} .section-subtitle{font-family:var(--font-sans);font-size:var(--text-xl);color:var(--color-accent);margin-bottom:var(--space-xl);max-width:700px;font-style:italic;line-height:1.6;font-weight:400} .description,.section-subtitle,.section p,.contact-info p{font-size:var(--text-lg);line-height:1.8;font-weight:400} .all-services{padding:0 0 8rem} .services-container{display:flex;flex-wrap:wrap;gap:var(--space-xl);margin-top:var(--space-2xl)} .services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--space-xl);margin-top:var(--space-lg)} .service-title{font-family:var(--font-sans);font-size:var(--text-xl);color:var(--color-ink);margin-bottom:var(--space-md);line-height:1.3} .service-description{font-size:var(--text-base);line-height:1.8;margin-bottom:var(--space-lg);flex-grow:1;color:var(--color-text)} .service-features{display:flex;flex-wrap:wrap;gap:0.75rem;margin-bottom:var(--space-lg)} .feature-tag{font-family:var(--font-mono);font-size:0.8rem;padding:0.375rem 0.875rem;background:rgba(107,144,128,0.1);color:var(--color-accent-alt);border-radius:20px} .compact-client-list{display:flex;flex-direction:column;gap:var(--space-md);margin:var(--space-xl) 0} .client-item{border-left:3px solid var(--color-accent-alt);padding-left:var(--space-lg)} .client-title{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:600;color:var(--color-ink);margin-bottom:0.25rem} .client-description{font-size:var(--text-base);line-height:1.6;color:var(--color-text);margin:0} .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl);margin-top:var(--space-2xl)} .contact-info{padding-right:var(--space-2xl);border-right:2px solid var(--color-border)} .contact-heading{font-size:var(--text-3xl);margin-bottom:var(--space-md);line-height:1.3} .contact-details{margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:2px solid var(--color-border)} .contact-item{margin-bottom:var(--space-lg);display:flex;flex-direction:column} .contact-label{font-family:var(--font-mono);font-size:1rem;font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:0.5rem} .contact-value{font-size:var(--text-xl);font-weight:400} .contact-form-wrapper{padding:var(--space-xl);border:1px solid var(--color-border);background:var(--color-paper)} .contact-tips{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border)} .contact-tips ul{list-style:none;margin-top:var(--space-md)} .contact-tips li{position:relative;padding-left:1.5rem;margin-bottom:0.75rem;font-size:0.9rem} .contact-tips li:before{content:"→";position:absolute;left:0;color:var(--color-accent-alt)} .faq-list{margin-top:var(--space-lg)} .faq-item{margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)} .faq-item:last-child{border-bottom:none} .faq-item h3{font-size:1.25rem;margin-bottom:0.75rem;color:var(--color-accent)} .philosophy-content{font-size:var(--text-lg);line-height:1.8;max-width:800px} .philosophy-content p{margin-bottom:var(--space-md)} .team-simple{margin:var(--space-lg) 0;padding:var(--space-lg);background:rgba(107,144,128,0.05);border-left:3px solid var(--color-accent-alt)} .form-control.invalid{border-bottom-color:#a53a3a !important;background:rgba(165,58,58,0.05)} .field-error{color:#a53a3a;font-size:0.875rem;margin-top:0.25rem;font-family:var(--font-sans)} .btn:disabled{opacity:0.6;cursor:not-allowed} @media (min-width:768px){.grid--2{grid-template-columns:repeat(2,1fr)} .section:nth-child(even) .container{margin-left:10%} .hero-content{margin-left:10%} .contact-hero{padding:8rem 0 6rem} .client-types{grid-template-columns:repeat(3,1fr)} .hero h1{font-size:var(--text-5xl)} .hero .tagline{font-size:var(--text-3xl)} .section-title{font-size:var(--text-4xl)} } @media (min-width:1024px){.contact-grid{grid-template-columns:1fr 1fr} .services-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))} .hero{padding:5rem 0 9rem} .mobile-menu-btn{display:none} .nav{display:flex} } @media (min-width:1400px){.hero-content{max-width:800px} } @media (max-width:768px){body:before{display:none} .mobile-menu-btn{display:block} .nav{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-paper);flex-direction:column;align-items:center;justify-content:center;display:none;z-index:1002;gap:var(--space-lg)} .nav.active{display:flex} .nav-link{font-size:1.5rem;padding:var(--space-md) 0} .hero-content{margin-left:0} .hero h1{font-size:var(--text-4xl)} .hero .tagline{font-size:var(--text-2xl)} .section:nth-child(even) .container{margin-left:0} .services-container{flex-direction:column;gap:var(--space-lg)} .contact-grid{grid-template-columns:1fr;gap:var(--space-xl)} .contact-info{padding-right:0;border-right:none;border-bottom:2px solid var(--color-border);padding-bottom:var(--space-xl)} .footer-content{flex-direction:column;gap:var(--space-lg);text-align:center} .footer-links{flex-direction:column;gap:var(--space-md);margin-top:var(--space-md)} .section{padding:var(--space-xl) 0 var(--space-md)} .section-title{font-size:var(--text-3xl)} .numbered-section{padding-left:0} .numbered-section:before{position:relative;margin-bottom:var(--space-md);font-size:3rem} body{font-size:var(--text-base);line-height:1.7} .hero .description{font-size:var(--text-lg)} .description,.section-subtitle,.section p,.contact-info p{font-size:var(--text-base)} } @media (max-width:480px){.container{padding:0 var(--space-md)} .hero h1{font-size:var(--text-3xl)} .hero .tagline{font-size:var(--text-xl)} .section{padding:var(--space-xl) 0 var(--space-sm)} .section-title:before{width:30px;top:-5px} .numbered-section{padding-left:0;margin-left:0;overflow:hidden} .numbered-section:before{font-size:2.5rem;margin-bottom:var(--space-sm);display:block;width:100%;text-align:left} .numbered-section .container{padding-left:0;padding-right:0} .numbered-section .section-title,.numbered-section .section-subtitle,.numbered-section p{padding-left:var(--space-md);padding-right:var(--space-md)} .clients-content{padding:var(--space-lg)} .btn{padding:var(--space-md) var(--space-lg);font-size:1rem} .quote{font-size:var(--text-xl);padding:var(--space-lg)} body{font-size:1.125rem} .description{font-size:1.25rem} .services-grid{grid-template-columns:1fr;gap:var(--space-lg)} .contact-form-wrapper{padding:var(--space-lg)} .team-simple{padding:var(--space-md)} } .skip-link{position:absolute;top:-40px;left:0;background:var(--color-accent);color:var(--color-paper);padding:var(--space-sm);z-index:9999;text-decoration:none;font-family:var(--font-mono);font-size:var(--text-sm);border-radius:0 0 4px 0;transition:top 0.3s ease} .skip-link:focus{top:0;outline:2px solid var(--color-focus-ring);outline-offset:2px} @media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important} .btn:hover,.card:hover{transform:none !important} } .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0} @media print{.skip-link,.mobile-menu-btn,.no-print{display:none !important} body{font-size:12pt;line-height:1.5;max-width:none} .btn,nav{display:none} a{text-decoration:underline;color:black !important} .container{max-width:100%;padding:0} body:before,.footer:before,.header:after,.hand-drawn-line:before,.btn:before,.nav-link:before{display:none} .card:hover,.btn:hover{transform:none} .footer{background:white;color:black;border-top:1px solid #ccc} .footer-links a{color:black} .btn{border:1px solid #ccc !important;background:white !important;color:black !important} .card{border:1px solid #ccc !important;box-shadow:none !important} }