@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#08295a;--blue:#0d3475;--orange:#ff5a19;--pale:#f4f7fb;--line:#dbe4ee;--muted:#5a6b88;--white:#fff;--shadow:0 16px 42px rgba(8,41,90,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--navy);font:400 1rem/1.55 'DM Sans',Arial,sans-serif;background:#fff}button,input,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,'DM Sans',sans-serif;letter-spacing:-.035em;line-height:1.12}h1{font-size:clamp(2.5rem,5vw,5.2rem);font-weight:800}h2{font-size:clamp(2rem,3.3vw,3.6rem);font-weight:800}h3{font-size:clamp(1.25rem,1.8vw,1.7rem);font-weight:800}.shell{width:min(100% - 3rem,1320px);margin-inline:auto}.skip{position:absolute;left:1rem;top:-5rem;background:#fff;padding:.6rem 1rem;z-index:20}.skip:focus{top:1rem}.site-header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:center;gap:.35rem;line-height:1;color:var(--navy);flex:none}.brand-mark{width:47px;height:43px}.brand strong{display:block;font:800 1.1rem/1 Manrope,sans-serif;letter-spacing:.02em}.brand small{display:block;text-align:center;font-size:.63rem;letter-spacing:.32em;margin-top:.28rem}.site-nav{display:flex;align-items:center;gap:clamp(1rem,2.2vw,2.3rem)}.site-nav a{font-size:.84rem;font-weight:800;text-transform:uppercase;white-space:nowrap}.site-nav a:hover,.site-nav a.active{color:var(--orange)}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.1rem;min-height:45px;padding:.75rem 1.25rem;border:0;border-radius:7px;color:#fff;font-weight:700;cursor:pointer;text-align:center;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(8,41,90,.22)}.button-orange{background:var(--orange)}.button-navy{background:var(--navy)}.header-contact{font-size:.85rem;text-transform:uppercase;white-space:nowrap}.menu-toggle{display:none;border:0;background:transparent;padding:.5rem;color:var(--navy)}.menu-toggle span{display:block;width:29px;height:3px;background:currentColor;margin:5px 0;border-radius:2px}.eyebrow{display:flex;align-items:center;gap:.7rem;font-size:.84rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--navy);margin-bottom:.55rem}.eyebrow:before{content:'';display:block;width:34px;height:3px;background:var(--orange)}.eyebrow.orange{color:var(--orange)}.orange-text{color:var(--orange)}.hero{min-height:550px;background-image:linear-gradient(90deg,rgba(255,255,255,.80) 0%,rgba(255,255,255,.44) 34%,rgba(255,255,255,0) 66%),url('assets/hero.png');background-size:cover;background-position:center;display:flex;align-items:center}.hero .shell{padding-block:4.5rem}.hero-copy{max-width:640px}.hero p{font-size:1.19rem;max-width:550px;line-height:1.55}.hero .button{margin-top:.75rem}.hero.compact{min-height:400px}.hero.compact h1{font-size:clamp(2.6rem,4vw,4.4rem)}.hero.compact p{max-width:580px}.section{padding:5rem 0}.section.soft{background:var(--pale)}.section-heading{margin-bottom:2.1rem}.section-heading p{font-size:1.08rem;max-width:720px}.expertise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.expertise-card{padding:1.5rem;border-left:1px solid var(--line);min-height:255px;display:flex;flex-direction:column}.expertise-card .num{font:500 3.4rem/1 Manrope,sans-serif;color:#bfc4ca}.expertise-card .line{width:28px;height:3px;background:var(--orange);margin:.45rem 0}.expertise-card h3{text-transform:uppercase;margin:0 0 .5rem}.expertise-card p{line-height:1.35;margin:0 0 1rem}.circle-link{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--blue);border-radius:50%;font-size:1.25rem;margin-top:auto}.circle-link:hover{background:var(--navy);color:#fff}.about-band{background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.72) 46%,rgba(255,255,255,.06)),url('assets/hero.png') center 67%/cover;min-height:300px;display:flex;align-items:center}.about-band .shell{padding-block:3rem}.about-band h2{max-width:770px}.about-band p{font-size:1.15rem}.reference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.ref-card{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff;box-shadow:0 5px 18px rgba(8,41,90,.04);display:flex;flex-direction:column}.ref-image{height:220px;background-repeat:no-repeat;background-color:#eaf0f5;background-size:350% auto;background-position:16% 45%}.ref-image.wide{background-size:325% auto}.ref-content{padding:1.2rem 1.35rem 1.35rem;display:flex;flex:1;flex-direction:column}.ref-meta{font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--blue);font-weight:700}.ref-content h3{font-size:1.23rem;margin:.55rem 0}.ref-content p{color:var(--muted);font-size:.94rem;line-height:1.48}.text-link{font-weight:800;border-bottom:2px solid var(--orange);align-self:flex-start;margin-top:auto}.text-link:hover{color:var(--orange)}.filter-row{display:flex;gap:.65rem;flex-wrap:wrap;margin:1.5rem 0 2rem}.filter{border:0;border-radius:100px;background:#edf2f8;color:var(--navy);padding:.6rem 1.1rem;cursor:pointer;font-size:.85rem;text-transform:uppercase}.filter.active,.filter:hover{background:var(--navy);color:#fff}.trust{padding:2.3rem 0;border-top:1px solid var(--line)}.trust-list{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.4rem;margin-top:1.5rem;color:#777;font-weight:800}.trust-list span{font-size:1.06rem}.cta-band{min-height:255px;background:linear-gradient(90deg,rgba(8,41,90,.12),rgba(8,41,90,.12)),url('assets/hero.png') center 80%/cover;display:flex;align-items:center}.cta-panel{margin-left:auto;width:min(590px,100%);padding:2rem;background:rgba(255,255,255,.87);backdrop-filter:blur(8px);border-radius:10px}.cta-panel h2{font-size:clamp(1.8rem,2.5vw,2.6rem);margin-bottom:.55rem}.cta-panel p{margin-bottom:1rem}.footer{border-top:1px solid var(--line);padding:1.4rem 0}.footer-inner{display:flex;align-items:center;gap:2rem;justify-content:space-between}.footer nav{display:flex;gap:1.5rem}.footer a:hover{color:var(--orange)}.footer small{color:var(--muted)}.footer-brand{font-weight:800;letter-spacing:.05em}.footer-brand span{font-size:.65rem;letter-spacing:.22em}.intro-strip{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);padding:1.1rem 0}.intro-strip a{padding:.4rem 1rem;border-left:1px solid var(--line);font-weight:800;text-transform:uppercase;font-size:.85rem}.intro-strip b{display:block;color:#bbc2cd;font-size:1.8rem;line-height:1}.service-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;align-items:center;padding:3rem 0;border-bottom:1px solid var(--line)}.service-title{display:flex;gap:1rem}.service-title .num{font:800 4rem/1 Manrope;color:#ffc0a6}.service-title h2{font-size:2rem;text-transform:uppercase;margin-bottom:.4rem}.service-title p{font-size:1.08rem}.service-visual{min-height:230px;border-radius:7px;background-image:url('assets/hero.png');background-position:center;background-size:cover}.service-details h3{font-size:.9rem;text-transform:uppercase}.service-details ul{margin:0 0 1rem;padding:0;list-style:none}.service-details li{padding-left:1.2rem;position:relative;margin:.3rem 0;font-size:.95rem}.service-details li:before{content:'—';position:absolute;left:0;color:var(--orange)}.service-quote{font-size:.92rem;font-weight:800}.about-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:3rem;align-items:start}.portrait{height:560px;border-radius:10px;background:#e9edf2 url('assets/about-mockup.png') no-repeat;background-size:300% auto;background-position:15% 50%}.founder h2{font-size:clamp(2.2rem,3vw,3.2rem)}.founder .lead{font-size:1.3rem}.years{font:800 4rem/1 Manrope;color:var(--orange);margin:1.2rem 0}.years span{display:block;font-size:1.1rem;color:var(--navy);text-transform:uppercase;margin-top:.4rem}.experience-list{display:grid;gap:1rem}.experience-list article{border-top:1px solid var(--line);padding:1rem 0}.experience-list h3{font-size:1.05rem;text-transform:uppercase;margin-bottom:.25rem}.experience-list p{margin:0}.manifesto{text-align:center;font-size:clamp(1.3rem,2vw,2rem);padding:3rem 0;max-width:880px;margin:auto}.manifesto strong{font-weight:800}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.contact-info h2,.contact-form h2{font-size:2rem}.contact-info address{font-style:normal;font-size:1.12rem}.contact-info address p{margin-bottom:.7rem}.contact-info address a{text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:4px}.map-link{display:block;margin-top:1.5rem;padding:2.2rem;background:#eaf0f6;border-radius:8px;border:1px solid var(--line)}.map-link strong{display:block;font-size:1.2rem}.contact-form{background:#f5f9fc;padding:2rem;border-radius:9px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.field-grid .wide{grid-column:1/-1}.field-grid label{display:block;font-weight:700;font-size:.84rem;margin-bottom:.25rem}.field-grid input,.field-grid textarea{display:block;width:100%;background:#fff;border:1px solid #cddbea;border-radius:5px;padding:.8rem;color:var(--navy);outline:none}.field-grid input:focus,.field-grid textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,90,25,.15)}.contact-form .button{width:100%;margin-top:1rem}.form-note{font-size:.84rem;margin:.8rem 0 0}.detail-hero{padding:3rem 0 1rem}.detail-hero h1{font-size:clamp(2rem,3.8vw,3.7rem);max-width:980px}.detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start;padding-bottom:3rem}.detail-image{width:100%;border:1px solid var(--line);border-radius:7px}.detail-summary{font-size:1.1rem}.detail-full{display:block;width:100%;border:1px solid var(--line);border-radius:8px;margin:1rem 0 3rem}.back{display:inline-block;margin-top:1.5rem;text-decoration:underline;text-decoration-color:var(--orange)}.legal{max-width:760px;padding:4rem 0}.legal h1{font-size:2.5rem}.legal h2{font-size:1.4rem}.legal a{text-decoration:underline}.hidden{display:none!important}
@media(max-width:1000px){.header-contact{display:none}.site-nav{gap:1rem}.site-nav a{font-size:.75rem}.service-row{grid-template-columns:1fr 1fr}.service-details{grid-column:1/-1}.reference-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.shell{width:min(100% - 2rem,1320px)}.header-inner{min-height:70px}.brand-mark{width:39px;height:37px}.brand strong{font-size:.95rem}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;box-shadow:var(--shadow);padding:1rem;flex-direction:column;align-items:stretch;gap:0}.site-nav.open{display:flex}.site-nav a{padding:.85rem 1rem;font-size:.95rem;border-bottom:1px solid var(--line)}.hero{min-height:510px;background-image:linear-gradient(180deg,rgba(255,255,255,.91) 0%,rgba(255,255,255,.74) 58%,rgba(255,255,255,.08) 100%),url('assets/hero.png');background-position:64% center;align-items:flex-start}.hero .shell{padding-top:2.6rem;padding-bottom:10rem}.hero p{font-size:1rem;max-width:390px}.hero.compact{min-height:430px}.section{padding:3.2rem 0}.expertise-grid{grid-template-columns:1fr;gap:0}.expertise-card{min-height:0;border-left:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:65px 1fr 38px;column-gap:.7rem;align-items:center;padding:1.1rem 0}.expertise-card .num{grid-row:1/4;font-size:2.8rem}.expertise-card .line{display:none}.expertise-card h3{font-size:1.1rem;margin:0}.expertise-card p{font-size:.9rem;margin:.15rem 0;grid-column:2}.expertise-card .circle-link{grid-column:3;grid-row:1/4}.about-band{background-position:62% center}.about-band h2{max-width:480px}.reference-grid{grid-template-columns:1fr}.ref-image{height:220px}.trust-list{justify-content:flex-start}.trust-list span{font-size:.9rem}.cta-panel{margin:1.5rem 0;padding:1.5rem}.footer-inner{flex-direction:column;align-items:flex-start;gap:1rem}.footer nav{gap:1rem;flex-wrap:wrap}.intro-strip a{font-size:.7rem;padding:.3rem}.intro-strip b{font-size:1.3rem}.service-row{display:block;padding:2.5rem 0}.service-title .num{font-size:3rem}.service-title h2{font-size:1.5rem}.service-visual{margin:1.2rem 0}.about-layout,.contact-layout,.detail-layout{grid-template-columns:1fr;gap:1.5rem}.portrait{height:380px;background-size:300% auto}.field-grid{grid-template-columns:1fr}.field-grid .wide{grid-column:auto}.contact-form{padding:1.2rem}.detail-hero{padding:2rem 0 1rem}}
