:root {
  --bg:#f6f3ee;
  --paper:#fff;
  --ink:#111;
  --text:#222;
  --muted:#555;
  --soft:#ebe6de;
  --line:#ddd;
  --line-dark:#c9c3ba;
  --radius:18px;
  --max:1180px
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  background:var(--bg)
}

body {
  margin:0;
  min-width:320px;
  color:var(--ink);
  background:var(--bg);
  font-family:"Manrope",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.6;
  text-rendering:optimizeLegibility
}

body::selection {
  color:var(--paper);
  background:var(--ink)
}

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

img,svg {
  display:block
}

button,input,textarea {
  font:inherit
}

.site-header {
  position:fixed;
  z-index:30;
  top:18px;
  left:50%;
  transform:translateX(-50%);
  width:min(calc(100% - 32px),var(--max));
  min-height:62px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:24px;
  align-items:center;
  padding:9px 10px 9px 18px;
  border:1px solid rgba(17,17,17,.12);
  border-radius:999px;
  background:rgba(246,243,238,.82);
  backdrop-filter:blur(18px)
}

.brand {
  font-size:.96rem;
  font-weight:800;
  letter-spacing:-.01em
}

.nav {
  justify-self:center;
  display:flex;
  gap:6px;
  color:var(--muted);
  font-size:.92rem
}

.nav a,.header-cta {
  min-height:40px;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  transition:background .2s ease,color .2s ease,transform .2s ease
}

.nav a {
  padding:0 13px
}

.nav a:hover {
  color:var(--ink);
  background:rgba(17,17,17,.06)
}

.header-cta {
  padding:0 16px;
  color:var(--paper);
  background:var(--ink);
  font-size:.9rem;
  font-weight:750
}

.header-cta:hover,.btn:hover {
  transform:translateY(-1px)
}

main {
  overflow:hidden
}

.section,.section-hero {
  width:min(calc(100% - 40px),var(--max));
  margin:0 auto
}

.section {
  padding:118px 0;
  border-top:1px solid var(--line)
}

.section-hero {
  min-height:100svh;
  display:grid;
  grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);
  gap:clamp(32px,6vw,86px);
  align-items:center;
  padding:112px 0 68px
}

.hero-photo,.about-photo {
  overflow:hidden;
  background:var(--soft)
}

.hero-photo {
  height:min(760px,calc(100svh - 170px));
  min-height:520px;
  border-radius:30px
}

.hero-photo img,.about-photo img {
  width:100%;
  height:100%;
  object-fit:cover
}

.hero-photo img {
  object-position:52% 35%;
  filter:grayscale(.18) contrast(1.02)
}

.hello,.section-label {
  margin:0 0 22px;
  color:var(--muted);
  font-size:.92rem;
  font-weight:700;
  letter-spacing:.02em
}

h1,h2,h3,p {
  margin-top:0
}

h1,h2 {
  margin-bottom:26px;
  font-weight:650;
  line-height:1.04;
  letter-spacing:-.045em
}

h1 {
  max-width:780px;
  font-size:clamp(3.2rem,6.7vw,7.35rem)
}

h2,.section-title {
  max-width:930px;
  font-size:clamp(2.45rem,5.4vw,5.8rem)
}

h3 {
  margin-bottom:14px;
  font-size:1.15rem;
  line-height:1.2;
  letter-spacing:-.02em
}

.lead {
  max-width:650px;
  margin-bottom:30px;
  color:var(--muted);
  font-size:clamp(1.08rem,1.8vw,1.35rem)
}

.achievements {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin:34px 0;
  border:1px solid var(--line);
  background:var(--line)
}

.achievements span {
  min-height:104px;
  padding:20px;
  background:rgba(255,255,255,.46);
  color:var(--muted);
  font-size:.95rem
}

.achievements strong {
  display:block;
  margin-bottom:8px;
  color:var(--ink);
  font-size:1.45rem;
  line-height:1
}

.hero-actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px
}

.btn {
  min-height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 20px;
  border:1px solid var(--ink);
  border-radius:999px;
  font-weight:750;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,color .2s ease
}

.btn-dark {
  color:var(--paper);
  background:var(--ink)
}

.btn-light {
  color:var(--ink);
  background:transparent
}

.btn-light:hover {
  background:var(--paper)
}

.message-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:46px
}

.message-grid article {
  min-height:126px;
  display:flex;
  align-items:flex-end;
  padding:22px;
  border:1px solid var(--line);
  border-radius:24px;
  background:rgba(255,255,255,.45);
  color:var(--text);
  font-size:1.08rem;
  font-weight:650;
  transition:transform .2s ease,background .2s ease
}

.message-grid article:nth-child(2n) {
  transform:translateY(18px)
}

.message-grid article:hover {
  transform:translateY(-3px);
  background:var(--paper)
}

.message-grid article:nth-child(2n):hover {
  transform:translateY(12px)
}

.split-section {
  display:grid;
  grid-template-columns:minmax(180px,.45fr) minmax(0,1fr);
  gap:80px;
  align-items:start
}

.split-copy p {
  max-width:760px;
  color:var(--muted);
  font-size:1.18rem
}

.case-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:48px
}

.case-card {
  min-height:360px;
  display:flex;
  flex-direction:column;
  padding:28px;
  border:1px solid var(--line);
  border-radius:26px;
  background:rgba(255,255,255,.52);
  transition:transform .2s ease,background .2s ease
}

.case-card:hover {
  transform:translateY(-5px);
  background:var(--paper)
}

.case-card strong {
  display:block;
  margin-bottom:42px;
  font-size:clamp(2rem,3.4vw,3.5rem);
  line-height:.96;
  letter-spacing:-.055em;
  font-weight:650
}

.case-card p {
  margin-bottom:12px;
  color:var(--muted)
}

.case-card p:last-child {
  margin-top:auto;
  margin-bottom:0
}

.case-card b {
  color:var(--ink)
}

.process-list {
  margin:56px 0 0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--line-dark)
}

.process-list li {
  display:grid;
  grid-template-columns:160px 1fr;
  gap:42px;
  align-items:center;
  min-height:146px;
  border-bottom:1px solid var(--line-dark)
}

.process-list span {
  font-size:clamp(3.2rem,7vw,7rem);
  line-height:.85;
  letter-spacing:-.08em;
  font-weight:600
}

.process-list p {
  margin:0;
  max-width:760px;
  font-size:clamp(1.35rem,2.6vw,2.4rem);
  line-height:1.12;
  letter-spacing:-.035em
}

.about-section {
  display:grid;
  grid-template-columns:minmax(300px,.82fr) minmax(0,1fr);
  gap:76px;
  align-items:center
}

.about-photo {
  height:640px;
  border-radius:30px
}

.about-photo img {
  object-position:50% 32%;
  filter:grayscale(.1) contrast(1.03)
}

.about-text p {
  max-width:700px;
  color:var(--muted);
  font-size:clamp(1.12rem,1.9vw,1.35rem)
}

.consulting-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:46px
}

.consulting-grid article {
  min-height:260px;
  padding:26px;
  border:1px solid var(--line);
  border-radius:26px;
  background:rgba(255,255,255,.48)
}

.consulting-grid span {
  display:block;
  margin-bottom:72px;
  color:var(--muted);
  font-weight:750
}

.consulting-grid p,.price-note {
  color:var(--muted)
}

.price-note {
  margin:28px 0 0;
  font-size:1.05rem
}

.contact-section {
  display:grid;
  grid-template-columns:minmax(260px,.78fr) minmax(0,1fr);
  gap:76px;
  align-items:start
}

.contact-copy p {
  max-width:620px;
  color:var(--muted);
  font-size:1.14rem
}

.lead-form {
  display:grid;
  gap:16px;
  padding:28px;
  border:1px solid var(--line);
  border-radius:28px;
  background:rgba(255,255,255,.56)
}

.lead-form label {
  display:grid;
  gap:8px;
  color:var(--muted);
  font-size:.9rem;
  font-weight:700
}

.lead-form input,.lead-form textarea {
  width:100%;
  border:1px solid var(--line-dark);
  border-radius:14px;
  background:var(--paper);
  color:var(--ink);
  outline:none;
  transition:border-color .2s ease
}

.lead-form input {
  min-height:54px;
  padding:0 14px
}

.lead-form textarea {
  min-height:142px;
  padding:13px 14px;
  resize:vertical
}

.lead-form input:focus,.lead-form textarea:focus {
  border-color:var(--ink)
}

.form-submit {
  width:100%
}

.form-status {
  min-height:24px;
  margin:0;
  color:var(--muted);
  font-size:.92rem
}

.final-screen {
  text-align:center;
  border-bottom:1px solid var(--line)
}

.final-screen h2 {
  max-width:1080px;
  margin-inline:auto
}

.final-screen p {
  color:var(--muted);
  font-size:1.28rem
}

.final-screen .btn {
  margin-top:18px
}

.footer {
  width:min(calc(100% - 40px),var(--max));
  margin:0 auto;
  padding:34px 0 42px;
  display:flex;
  justify-content:space-between;
  gap:18px;
  color:var(--muted)
}

.footer a {
  color:var(--ink)
}

.reveal {
  opacity:0;
  transform:translateY(18px);
  transition:opacity .65s ease,transform .65s ease
}

.reveal.is-visible {
  opacity:1;
  transform:translateY(0)
}

:focus-visible {
  outline:3px solid rgba(17,17,17,.22);
  outline-offset:3px
}

@media(max-width:980px) {
  .nav {
  display:none
}

.site-header {
  grid-template-columns:auto auto
}

.header-cta {
  justify-self:end
}

.section-hero,.split-section,.about-section,.contact-section {
  grid-template-columns:1fr
}

.section-hero {
  padding-top:104px
}

.hero-photo {
  height:62svh;
  min-height:460px
}

.achievements,.message-grid,.case-grid,.consulting-grid {
  grid-template-columns:repeat(2,minmax(0,1fr))
}

.split-section {
  gap:18px
}

}

@media(max-width:640px) {
  .section,.section-hero {
  width:min(calc(100% - 28px),var(--max))
}

.section {
  padding:78px 0
}

.site-header {
  top:10px;
  width:calc(100% - 20px);
  min-height:56px
}

.header-cta {
  min-height:38px;
  padding:0 12px;
  font-size:.82rem
}

h1 {
  font-size:2.82rem
}

h2,.section-title {
  font-size:2.35rem
}

.hero-photo {
  height:58svh;
  min-height:390px;
  border-radius:24px
}

.achievements,.message-grid,.case-grid,.consulting-grid {
  grid-template-columns:1fr
}

.achievements span {
  min-height:auto
}

.message-grid article:nth-child(2n),.message-grid article:nth-child(2n):hover {
  transform:none
}

.hero-actions,.btn {
  width:100%
}

.process-list li {
  grid-template-columns:1fr;
  gap:12px;
  padding:26px 0
}

.process-list span {
  font-size:3.1rem
}

.about-photo {
  height:480px;
  border-radius:24px
}

.footer {
  align-items:flex-start;
  flex-direction:column
}

}

@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
  scroll-behavior:auto!important;
  transition-duration:.01ms!important;
  animation-duration:.01ms!important;
  animation-iteration-count:1!important
}

}

/* Personal redesign tuning */
.hero-copy {
  
  max-width: 680px;
}

h1 {
  
  font-size: clamp(3rem, 4.45vw, 5rem);
  line-height: 1.03;
  letter-spacing: -0.04em;
}

@media (min-width: 981px) {
  
  .section-hero {
  
    grid-template-columns: minmax(360px, 0.92fr) minmax(0, 1.08fr);
  align-items: center;
  padding-top: 118px;
}

.hero-photo {
  
    height: min(720px, calc(100svh - 190px));
  min-height: 540px;
}

}

@media (max-width: 640px) {
  
  h1 {
  
    font-size: clamp(2.35rem, 10.6vw, 2.92rem);
  line-height: 1.05;
}

.hero-photo {
  
    height: 56svh;
}

}

/* Mobile readability tuning */
@media (max-width: 640px) {
  
  h1 {
  
    font-size: clamp(2.12rem, 9.2vw, 2.55rem);
  letter-spacing: -0.032em;
}

.hero-copy {
  
    max-width: 100%;
}

}

/* Visibility safety */
.reveal, .reveal.is-visible {
  
  opacity: 1 !important;
  transform: none !important;
}
