:root{--black:#111111;--off-white:#f7f5f1;--white:#ffffff;--gray-600:#5c5a56;--gray-300:#d9d6cf;--serif:'Fraunces',serif;--sans:'Inter',sans-serif;}
.hero-title,.service-card h3,.section-head h2,.contact-copy h2,.stat-num,.service-num,.step-index,.step h3,.logo-word{font-feature-settings:"ss01" 0,"ss02" 0,"ss03" 0,"ss04" 0,"ss05" 0,"swsh" 0,"cv01" 0;font-variant-ligatures:none;font-optical-sizing:auto;}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);color:var(--black);background:var(--off-white);line-height:1.5;-webkit-font-smoothing:antialiased;}
.container{max-width:1180px;margin:0 auto;padding:0 32px;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;}

.site-header{position:sticky;top:0;z-index:100;background:rgba(247,245,241,0.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--gray-300);}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:76px;}
.logo-word{font-family:var(--serif);font-size:20px;font-weight:500;letter-spacing:-0.01em;}
.main-nav{display:flex;gap:36px;}
.main-nav a{font-size:14.5px;font-weight:500;color:var(--gray-600);transition:color .2s ease;}
.main-nav a:hover{color:var(--black);}
.header-actions{display:flex;align-items:center;gap:20px;}
.lang-toggle{display:flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;font-family:var(--sans);font-size:13px;font-weight:600;color:var(--gray-600);}
.lang-option.active{color:var(--black);}
.lang-sep{opacity:.5;}

.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:14.5px;font-weight:600;padding:11px 22px;border-radius:999px;border:1px solid var(--black);cursor:pointer;transition:all .2s ease;}
.btn-primary{background:var(--black);color:var(--white);}
.btn-primary:hover{background:#2b2b2b;}
.btn-ghost{background:transparent;color:var(--black);}
.btn-ghost:hover{background:var(--black);color:var(--white);}
.btn-lg{padding:15px 30px;font-size:15.5px;}

.hero{padding:96px 0 88px;}
.hero-mark{display:block;height:28px;width:auto;opacity:.85;margin-bottom:28px;mix-blend-mode:multiply;}
.hero-title{font-family:var(--serif);font-weight:500;font-size:clamp(44px,7vw,88px);line-height:1.03;letter-spacing:-0.025em;max-width:900px;}
.hero-title em{display:block;font-style:italic;font-weight:400;}
.hero-sub{margin-top:28px;max-width:600px;font-size:18px;color:var(--gray-600);}
.hero-cta{margin-top:40px;display:flex;flex-wrap:wrap;gap:14px;}

.stats{border-top:1px solid var(--gray-300);border-bottom:1px solid var(--gray-300);}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.stat{padding:36px 24px 36px 0;border-right:1px solid var(--gray-300);}
.stat + .stat{padding-left:28px;}
.stat:last-child{border-right:none;}
.stat-num{font-family:var(--serif);font-size:40px;font-weight:500;letter-spacing:-0.02em;}
.stat-label{margin-top:6px;font-size:14px;color:var(--gray-600);}

.services,.approach,.contact{padding:112px 0;}
.section-head{max-width:640px;margin-bottom:56px;}
.section-head h2,.contact-copy h2{font-family:var(--serif);font-weight:500;font-size:clamp(34px,4.5vw,52px);line-height:1.08;letter-spacing:-0.02em;}
.section-head p{margin-top:16px;font-size:17px;color:var(--gray-600);}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.service-card{background:var(--white);border:1px solid var(--gray-300);border-radius:18px;padding:32px 28px 34px;transition:transform .25s ease,border-color .25s ease;}
.service-card:hover{transform:translateY(-4px);border-color:var(--black);}
.service-num{font-family:var(--serif);font-size:15px;color:var(--gray-600);margin-bottom:34px;}
.service-card h3{font-family:var(--serif);font-weight:500;font-size:24px;letter-spacing:-0.01em;margin-bottom:12px;}
.service-card p{font-size:15px;color:var(--gray-600);}

.approach{background:var(--black);color:var(--off-white);}
.approach .section-head p{color:#b8b5ae;}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;}
.step{border-top:1px solid #3a3a3a;padding-top:24px;}
.step-index{font-family:var(--serif);font-size:15px;color:#8f8c85;margin-bottom:22px;}
.step h3{font-family:var(--serif);font-weight:500;font-size:26px;margin-bottom:10px;}
.step p{font-size:15px;color:#b8b5ae;}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;}
.contact-copy p{margin-top:20px;font-size:17px;color:var(--gray-600);max-width:460px;}
.contact-direct a{font-weight:600;color:var(--black);border-bottom:1px solid var(--black);}
.contact-form{display:flex;flex-direction:column;gap:18px;background:var(--white);border:1px solid var(--gray-300);border-radius:20px;padding:34px;}
.contact-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;}
.contact-form input,.contact-form textarea{font-family:var(--sans);font-size:15px;padding:12px 14px;border:1px solid var(--gray-300);border-radius:10px;background:var(--off-white);color:var(--black);resize:vertical;}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--black);}
.form-note{font-size:14px;color:var(--gray-600);min-height:20px;}

.site-footer{border-top:1px solid var(--gray-300);padding:36px 0;}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.footer-logo{height:44px;width:auto;mix-blend-mode:multiply;}
.footer-inner p{font-size:13.5px;color:var(--gray-600);}

@media(max-width:960px){
  .main-nav{display:none;}
  .service-grid{grid-template-columns:repeat(2,1fr);}
  .steps{grid-template-columns:repeat(2,1fr);}
  .contact-grid{grid-template-columns:1fr;gap:40px;}
  .stats-grid{grid-template-columns:repeat(2,1fr);}
  .stat:nth-child(2){border-right:none;}
  .stat:nth-child(n+3){border-top:1px solid var(--gray-300);}
  .stat:nth-child(3){padding-left:0;}
}
@media(max-width:600px){
  .container{padding:0 20px;}
  .hero{padding:64px 0 56px;}
  .service-grid,.steps{grid-template-columns:1fr;}
  .services,.approach,.contact{padding:76px 0;}
  .header-actions .btn{display:none;}
  .stat-num{font-size:32px;}
}
