:root{--graphite:#1E1E1C;--ivory:#F3F0E8;--orange:#FF6A2A;--stone:#8A8A8A;--line:rgba(30,30,28,.15);--max:1380px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--graphite);font-family:"Inter",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.shell{width:min(var(--max),calc(100% - 72px));margin-inline:auto}.mono{font-family:"IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.16em;font-size:.7rem}.eyebrow{color:var(--orange);font-weight:700}.orange-rule{display:block;width:36px;height:2px;background:var(--orange);margin-top:18px}

.site-header{height:92px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);position:relative;z-index:5}.brand-cluster{display:flex;align-items:center;gap:26px}.brand img{width:176px}.brand-positioning{padding-left:24px;border-left:1px solid var(--line);font-size:.72rem;letter-spacing:.02em;color:#77736d}.site-nav{display:flex;gap:34px;font-size:.84rem}.site-nav a{position:relative}.site-nav a::after{content:"";position:absolute;left:0;bottom:-7px;width:100%;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}.site-nav a:hover::after{transform:scaleX(1)}.header-actions{justify-self:end;display:flex;align-items:center;gap:14px}.lang-switch{display:flex;gap:8px;font-size:.7rem;font-weight:700}.lang-switch a{padding:7px 5px}.lang-switch a.active{border-bottom:2px solid var(--orange)}.header-cta{background:var(--graphite);color:var(--ivory);padding:14px 18px;font-size:.78rem;font-weight:700;position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.header-cta::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.12) 48%,transparent 75%);transform:translateX(-130%);transition:transform .55s ease}.header-cta:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(30,30,28,.12)}.header-cta:hover::before{transform:translateX(130%)}.header-cta span{color:var(--orange);margin-left:14px;display:inline-block;transition:transform .2s ease}.header-cta:hover span{transform:translateX(4px)}

.hero{display:grid;grid-template-columns:43% 57%;min-height:570px;overflow:hidden}.hero-copy{position:relative;z-index:2;align-self:center;padding:68px 54px 72px 0;animation:fadeUp .65s ease both}.hero h1{margin:18px 0 0;font-size:clamp(3.7rem,5.6vw,5.9rem);line-height:.94;letter-spacing:-.065em}.hero h1 span{color:var(--orange)}.hero-intro{max-width:590px;margin:26px 0 0;color:#625f5a;font-size:1.05rem;line-height:1.68}.hero-actions{display:flex;gap:12px;margin-top:30px}.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:0 23px;border:1px solid var(--graphite);font-size:.84rem;font-weight:700;transition:transform .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease}.button span{display:inline-block;transition:transform .22s ease}.button:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(30,30,28,.1)}.button:hover span{transform:translateX(5px)}.button-outline:hover{background:var(--graphite);color:var(--ivory)}.button-orange{background:var(--orange);border-color:var(--orange);color:var(--graphite)}.button-outline{background:transparent}.hero-photo{position:relative;overflow:hidden;min-height:590px;clip-path:polygon(13% 0,100% 0,100% 100%,0 100%);isolation:isolate}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:52% 48%;animation:photoDrift 11s ease-in-out infinite}.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,30,28,0) 45%,rgba(30,30,28,.28) 100%)}.hero-ribbon{position:absolute;z-index:2;left:49%;width:92px;background:rgba(255,106,42,.84);transform-origin:center;will-change:transform}.hero-ribbon-up{height:450px;top:-105px;transform:rotate(37deg);animation:ribbonUp 7s ease-in-out infinite}.hero-ribbon-down{height:350px;top:255px;left:46%;transform:rotate(-37deg);opacity:.68;animation:ribbonDown 7s ease-in-out infinite}.hero-photo-note{position:absolute;z-index:3;right:34px;bottom:58px;padding:10px 0 10px 18px;border-left:1px solid rgba(243,240,232,.76);color:var(--ivory);line-height:1.82;text-shadow:0 2px 12px rgba(0,0,0,.45);animation:fadeLeft .75s .3s ease both}

.service-band{display:grid;grid-template-columns:1.15fr repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:38px 0 42px}.service-intro,.service-item{padding:0 34px;border-right:1px solid rgba(30,30,28,.11)}.service-intro{padding-left:0}.service-item{position:relative;transition:transform .24s ease}.service-item::after{content:"";position:absolute;left:34px;right:34px;bottom:-18px;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.service-item:hover{transform:translateY(-5px)}.service-item:hover::after{transform:scaleX(1)}.service-item:last-child{border-right:0;padding-right:0}.service-item:last-child::after{right:0}.service-intro p{margin:0}.service-intro h2{max-width:260px;margin:14px 0 0;font-size:1.62rem;line-height:1.08;letter-spacing:-.04em}.service-item svg{width:38px;height:38px;fill:none;stroke:var(--graphite);stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s ease,stroke .25s ease}.service-item:hover svg{transform:translateY(-3px) scale(1.06);stroke:var(--orange)}.service-item h3{margin:22px 0 0;font-size:1rem;letter-spacing:-.02em}.service-item p{margin:10px 0 0;color:#66635e;line-height:1.58;font-size:.87rem}

.approach-strip{background:#f8f6ef;border-bottom:1px solid var(--line)}.approach-row{min-height:230px;display:grid;grid-template-columns:1.2fr 1.25fr auto 1.25fr auto 1.25fr .85fr;align-items:center;gap:24px}.approach-intro h2{margin:12px 0 0;font:500 2rem/1.05 "Fraunces",Georgia,serif;letter-spacing:-.04em}.approach-step{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;position:relative;padding:18px 0;transition:transform .24s ease}.approach-step::after{content:"";position:absolute;left:0;bottom:0;width:42px;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .28s ease}.approach-step:hover{transform:translateY(-4px)}.approach-step:hover::after{transform:scaleX(1)}.step-number{font:400 2.3rem/1 "Fraunces",Georgia,serif;color:var(--orange);transition:transform .24s ease}.approach-step:hover .step-number{transform:translateY(-3px)}.approach-step h3{margin:1px 0 0;font-size:1rem}.approach-step p{margin:8px 0 0;color:#66635e;font-size:.84rem;line-height:1.55}.approach-arrow{font-size:1.5rem;color:#78756f;animation:arrowPulse 3s ease-in-out infinite}.approach-outcome{border-left:1px solid var(--line);padding-left:30px}.approach-outcome p{margin:0;font-size:1.08rem;line-height:1.45;font-weight:600}

.contact{position:relative;overflow:hidden;color:var(--ivory);padding:84px 0;background:linear-gradient(90deg,rgba(20,20,18,.97),rgba(20,20,18,.76)),var(--hero-image) center 58%/cover no-repeat;isolation:isolate}.contact::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 50%,rgba(255,106,42,.08),transparent 30%);z-index:-1}.contact::after{content:"";position:absolute;right:8%;top:-170px;width:108px;height:455px;background:var(--orange);transform:rotate(37deg);opacity:.92;animation:contactRibbon 7s ease-in-out infinite}.contact-layout{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:90px;align-items:center}.contact h2{margin:12px 0 0;font-size:clamp(3rem,4.8vw,4.9rem);line-height:.98;letter-spacing:-.058em}.contact-copy{max-width:500px}.contact-copy p{margin:0;color:#dedad3;line-height:1.65}.contact-copy .button{margin-top:24px}

footer{min-height:88px;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:30px;font-size:.72rem;color:#6b6862}footer a{font-weight:700;transition:color .2s ease,transform .2s ease}footer a:hover{color:var(--orange);transform:translateY(-2px)}

@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeLeft{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}@keyframes photoDrift{0%,100%{transform:scale(1.02) translate3d(0,0,0)}50%{transform:scale(1.05) translate3d(-7px,-3px,0)}}@keyframes arrowPulse{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}@keyframes ribbonUp{0%,100%{transform:rotate(37deg) translateY(0)}50%{transform:rotate(37deg) translateY(9px)}}@keyframes ribbonDown{0%,100%{transform:rotate(-37deg) translateY(0)}50%{transform:rotate(-37deg) translateY(-8px)}}@keyframes contactRibbon{0%,100%{transform:rotate(37deg) translateY(0)}50%{transform:rotate(37deg) translateY(10px)}}@keyframes sectionReveal{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:1080px){.shell{width:min(100% - 42px,900px)}.site-header{grid-template-columns:1fr auto}.site-nav,.brand-positioning{display:none}.header-cta{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding-right:0}.hero-photo{min-height:430px;clip-path:polygon(9% 0,100% 0,100% 100%,0 100%)}.service-band{grid-template-columns:1fr 1fr}.service-intro{grid-column:1/-1;padding:0 0 28px;border-right:0;border-bottom:1px solid var(--line);margin-bottom:28px}.service-item{min-height:185px;padding:0 26px 26px;border-bottom:1px solid var(--line)}.service-item:nth-child(2),.service-item:nth-child(4){padding-left:0}.approach-row{grid-template-columns:1fr 1fr;gap:26px;padding:40px 0}.approach-intro,.approach-outcome{grid-column:1/-1}.approach-arrow{display:none}.approach-outcome{border-left:0;padding-left:0}.contact-layout{grid-template-columns:1fr;gap:28px}footer{grid-template-columns:1fr auto}footer p:nth-child(2){display:none}}
@media(max-width:640px){.shell{width:calc(100% - 30px)}.site-header{height:72px}.brand img{width:145px}.hero h1{font-size:clamp(3rem,15vw,4.7rem)}.hero-actions{flex-direction:column}.button{justify-content:space-between}.hero-photo{min-height:320px}.hero-ribbon{width:58px}.hero-ribbon-up{height:300px;top:-60px}.hero-ribbon-down{height:220px;top:150px}.hero-photo-note{right:16px;bottom:22px;font-size:.55rem}.service-band{grid-template-columns:1fr;padding-top:54px}.service-intro{grid-column:auto}.service-item,.service-item:nth-child(2),.service-item:nth-child(4){padding:24px 0;border-right:0}.approach-row{grid-template-columns:1fr}.approach-intro,.approach-outcome{grid-column:auto}.approach-step{padding:10px 0}.contact{padding:58px 0}.contact::after{right:-40px;opacity:.55}footer{min-height:76px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

@supports (animation-timeline:view()){
  .service-band,.approach-row,.contact-layout{
    animation:sectionReveal linear both;
    animation-timeline:view();
    animation-range:entry 8% cover 32%;
  }
  .service-item{
    animation:sectionReveal linear both;
    animation-timeline:view();
    animation-range:entry 0% cover 24%;
  }
  .service-item:nth-child(2){animation-range:entry 4% cover 28%}
  .service-item:nth-child(3){animation-range:entry 8% cover 32%}
  .service-item:nth-child(4){animation-range:entry 12% cover 36%}
  .service-item:nth-child(5){animation-range:entry 16% cover 40%}
}
