:root{
  --bg:oklch(0.97 0 0);--surface:oklch(1 0 0);--deep:oklch(0.13 0.025 264);--deep2:oklch(0.18 0.03 264);
  --accent:oklch(0.71 0.18 38);--accent-h:oklch(0.64 0.21 38);
  --ink:oklch(0.18 0.02 264);--muted:oklch(0.48 0.015 264);--border:oklch(0.89 0.008 264);
  --ff-d:'DM Serif Display',Georgia,serif;--ff-b:'Inter',system-ui,sans-serif;
  --r:10px;--max:1160px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--ff-b);background:var(--bg);color:var(--ink);font-size:1rem;line-height:1.65}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
ul{list-style:none}

/* NAV */
.pg-nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 2rem;
  display:flex;align-items:center;justify-content:space-between;height:68px;
  background:rgba(255,255,255,0.92);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);transition:box-shadow .3s}
.pg-nav.scrolled{box-shadow:0 2px 24px oklch(0.13 0.025 264 / 0.08)}
.pg-logo{font-family:var(--ff-d);font-size:1.2rem;color:var(--deep);letter-spacing:-0.01em}
.pg-logo span{color:var(--accent)}
.pg-links{display:flex;align-items:center;gap:2rem}
.pg-links a{font-size:0.875rem;font-weight:500;color:var(--muted);transition:color .2s}
.pg-links a:hover,.pg-links a.active{color:var(--ink)}
.pg-links .cta{background:var(--accent);color:#fff;padding:.45rem 1.1rem;border-radius:var(--r);font-weight:600;transition:background .2s}
.pg-links .cta:hover{background:var(--accent-h);color:#fff}
.pg-burger{display:none;background:none;border:none;cursor:pointer;padding:.5rem}
.pg-burger span{display:block;width:22px;height:2px;background:var(--ink);margin:5px 0;transition:.3s}
.pg-mob{display:none;position:fixed;inset:0;top:68px;background:var(--surface);z-index:99;padding:2rem;flex-direction:column;gap:1.5rem}
.pg-mob a{font-size:1.1rem;font-weight:500;padding:.75rem 0;border-bottom:1px solid var(--border);color:var(--ink)}
.pg-mob.open{display:flex}

/* HERO */
.pg-hero{min-height:92vh;background:var(--deep);display:flex;align-items:center;padding:120px 2rem 80px}
.pg-hero-inner{max-width:var(--max);margin:0 auto;width:100%}
.pg-hero-tag{display:inline-block;font-size:0.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--accent);margin-bottom:1.5rem}
.pg-hero h1{font-family:var(--ff-d);font-size:clamp(2.4rem,5.5vw,5rem);color:#fff;line-height:1.1;
  max-width:14ch;text-wrap:balance;margin-bottom:1.5rem}
.pg-hero h1 em{font-style:italic;color:var(--accent)}
.pg-hero p{font-size:clamp(1rem,1.5vw,1.2rem);color:oklch(0.75 0.01 264);max-width:52ch;margin-bottom:2.5rem;text-wrap:pretty}
.pg-btns{display:flex;flex-wrap:wrap;gap:1rem}
.btn-primary{background:var(--accent);color:#fff;padding:.75rem 1.8rem;border-radius:var(--r);font-weight:600;font-size:.95rem;transition:background .2s,transform .15s}
.btn-primary:hover{background:var(--accent-h);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:#fff;padding:.75rem 1.8rem;border-radius:var(--r);font-weight:600;font-size:.95rem;
  border:1.5px solid oklch(0.45 0.015 264);transition:border-color .2s,color .2s}
.btn-ghost:hover{border-color:#fff;color:#fff}

/* SECTION BASE */
.pg-section{padding:96px 2rem}
.pg-section-inner{max-width:var(--max);margin:0 auto}
.section-label{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem}
.section-title{font-family:var(--ff-d);font-size:clamp(1.8rem,3.5vw,3rem);color:var(--deep);line-height:1.15;text-wrap:balance;margin-bottom:1.25rem}
.section-title.light{color:#fff}
.section-sub{font-size:1.05rem;color:var(--muted);max-width:58ch;text-wrap:pretty;margin-bottom:3rem}
.section-sub.light{color:oklch(0.72 0.01 264)}

/* DARK SECTION */
.pg-dark{background:var(--deep);padding:96px 2rem}
.pg-dark .section-title{color:#fff}
.pg-dark .section-sub{color:oklch(0.72 0.01 264)}

/* SERVICES GRID */
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2px;margin-top:3rem}
.service-item{background:var(--surface);padding:2.5rem;position:relative;overflow:hidden;transition:background .2s}
.service-item::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.service-item:hover{background:oklch(0.99 0 0)}
.service-item:hover::before{transform:scaleX(1)}
.service-icon{font-size:2rem;margin-bottom:1.25rem}
.service-item h3{font-family:var(--ff-d);font-size:1.4rem;color:var(--deep);margin-bottom:.75rem}
.service-item p{font-size:.95rem;color:var(--muted);line-height:1.7}

/* FEATURE LIST */
.feature-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2.5rem;margin-top:3rem}
.feature-item{}
.feature-item h4{font-size:1rem;font-weight:600;color:#fff;margin-bottom:.5rem;display:flex;align-items:center;gap:.6rem}
.feature-item h4::before{content:'';display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;flex-shrink:0}
.feature-item p{font-size:.9rem;color:oklch(0.65 0.012 264);padding-left:1.2rem}

/* PARTNERS STRIP */
.partners-strip{background:var(--surface);padding:48px 2rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.partners-inner{max-width:var(--max);margin:0 auto;display:flex;align-items:center;flex-wrap:wrap;gap:2.5rem;justify-content:center}
.partner-badge{font-size:.85rem;font-weight:700;letter-spacing:.05em;color:var(--muted);padding:.4rem .9rem;
  border:1.5px solid var(--border);border-radius:20px;transition:border-color .2s,color .2s}
.partner-badge:hover{border-color:var(--accent);color:var(--accent)}

/* CTA BAND */
.pg-cta-band{background:var(--accent);padding:80px 2rem;text-align:center}
.pg-cta-band h2{font-family:var(--ff-d);font-size:clamp(1.8rem,3vw,2.8rem);color:#fff;margin-bottom:1rem;text-wrap:balance}
.pg-cta-band p{color:oklch(0.96 0.03 38);font-size:1.05rem;margin-bottom:2rem}
.btn-white{background:#fff;color:var(--accent);padding:.75rem 2rem;border-radius:var(--r);font-weight:700;font-size:.95rem;transition:opacity .2s}
.btn-white:hover{opacity:.9}

/* TESTIMONIALS */
.testimonials{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:3rem}
.testimonial{background:var(--surface);padding:2.5rem;border-radius:var(--r);border:1px solid var(--border)}
.testimonial:first-child{grid-column:span 2;background:var(--deep);border-color:transparent}
.testimonial:first-child .t-text{color:oklch(0.82 0.01 264)}
.testimonial:first-child .t-name{color:#fff}
.t-stars{color:var(--accent);font-size:1.1rem;margin-bottom:1rem;letter-spacing:.1em}
.t-text{font-size:1.05rem;color:var(--ink);line-height:1.75;margin-bottom:1.5rem;font-style:italic}
.t-name{font-weight:600;font-size:.9rem;color:var(--muted)}
.t-role{font-size:.82rem;color:oklch(0.60 0.01 264)}

/* PARTNERS PAGE */
.partners-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-top:3rem}
.partner-card{padding:2rem;border:1px solid var(--border);border-radius:var(--r);transition:border-color .2s,transform .2s}
.partner-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.partner-card h3{font-weight:700;font-size:1.05rem;color:var(--deep);margin-bottom:.5rem}
.partner-card p{font-size:.9rem;color:var(--muted);line-height:1.65}

/* ABOUT */
.about-layout{display:grid;grid-template-columns:1fr 1.6fr;gap:5rem;align-items:center;margin-top:3rem}
.about-portrait{background:var(--deep);border-radius:var(--r);aspect-ratio:3/4;display:flex;align-items:center;justify-content:center}
.about-portrait span{font-size:5rem;opacity:.3}
.about-body h3{font-family:var(--ff-d);font-size:1.5rem;color:var(--deep);margin-bottom:1rem}
.about-body p{font-size:1rem;color:var(--muted);line-height:1.8;margin-bottom:1.25rem}
.about-info{margin-top:2rem;display:flex;flex-direction:column;gap:.75rem}
.about-info span{font-size:.9rem;color:var(--ink);display:flex;align-items:center;gap:.75rem}
.about-info span strong{color:var(--deep)}

/* SERVICE DETAIL BLOCKS */
.service-blocks{display:flex;flex-direction:column;gap:5rem;margin-top:3rem}
.service-block{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;align-items:center}
.service-block:nth-child(even){direction:rtl}
.service-block:nth-child(even) > *{direction:ltr}
.service-block-visual{background:var(--deep);border-radius:var(--r);aspect-ratio:4/3;
  display:flex;align-items:center;justify-content:center;font-size:4rem}
.service-block-body .service-tag{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem}
.service-block-body h3{font-family:var(--ff-d);font-size:1.8rem;color:var(--deep);margin-bottom:1rem;line-height:1.2}
.service-block-body p{font-size:.97rem;color:var(--muted);line-height:1.8;margin-bottom:1.25rem}
.service-block-body ul{display:flex;flex-direction:column;gap:.5rem}
.service-block-body ul li{font-size:.9rem;color:var(--muted);padding-left:1.2rem;position:relative}
.service-block-body ul li::before{content:'→';position:absolute;left:0;color:var(--accent);font-size:.85rem}

/* CONTRACT SECTION */
.contract-box{background:var(--deep);border-radius:var(--r);padding:3rem;margin-top:4rem;display:grid;grid-template-columns:1.5fr 1fr;gap:3rem;align-items:center}
.contract-box h3{font-family:var(--ff-d);font-size:1.6rem;color:#fff;margin-bottom:1rem}
.contract-box p{font-size:.95rem;color:oklch(0.72 0.01 264);line-height:1.75}

/* CONTACT */
.contact-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:5rem;margin-top:3rem}
.contact-info h3{font-family:var(--ff-d);font-size:1.4rem;color:var(--deep);margin-bottom:1.5rem}
.contact-detail{display:flex;flex-direction:column;gap:1.25rem}
.contact-detail a,.contact-detail p{font-size:1rem;color:var(--muted);display:flex;align-items:flex-start;gap:.75rem;line-height:1.6}
.contact-detail strong{color:var(--deep);min-width:80px;font-weight:600}
.contact-hours{margin-top:2rem;padding:1.5rem;background:oklch(0.95 0.005 264);border-radius:var(--r)}
.contact-hours p{font-size:.9rem;color:var(--muted)}
.contact-hours strong{color:var(--deep)}

/* FORM */
.pg-form{display:flex;flex-direction:column;gap:1.25rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.form-group{display:flex;flex-direction:column;gap:.4rem}
.form-group label{font-size:.85rem;font-weight:600;color:var(--ink)}
.form-group input,.form-group textarea,.form-group select{
  padding:.7rem 1rem;border:1.5px solid var(--border);border-radius:var(--r);
  font-family:var(--ff-b);font-size:.95rem;color:var(--ink);background:var(--surface);
  transition:border-color .2s;outline:none}
.form-group input:focus,.form-group textarea:focus{border-color:var(--accent)}
.form-group textarea{resize:vertical;min-height:150px}
.form-msg{font-size:.9rem;padding:.75rem 1rem;border-radius:var(--r);display:none}
.form-msg.success{background:oklch(0.95 0.06 145);color:oklch(0.30 0.12 145);display:block}
.form-msg.error{background:oklch(0.95 0.06 25);color:oklch(0.35 0.15 25);display:block}

/* FOOTER */
.pg-footer{background:var(--deep);padding:48px 2rem}
.pg-footer-inner{max-width:var(--max);margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem}
.pg-footer-brand{font-family:var(--ff-d);font-size:1.1rem;color:#fff}
.pg-footer-brand span{color:var(--accent)}
.pg-footer p{font-size:.83rem;color:oklch(0.50 0.01 264)}
.pg-footer-links{display:flex;gap:1.5rem}
.pg-footer-links a{font-size:.83rem;color:oklch(0.50 0.01 264);transition:color .2s}
.pg-footer-links a:hover{color:var(--accent)}

/* SCROLL REVEAL */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}
.reveal.visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* PHILOSOPHY */
.philo-lead{font-family:var(--ff-d);font-size:clamp(1.4rem,2.5vw,2rem);color:var(--deep);line-height:1.4;max-width:52ch;margin-bottom:3rem;text-wrap:pretty}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin-top:3rem}
.value-item{border-top:2px solid var(--accent);padding-top:1.5rem}
.value-item h3{font-family:var(--ff-d);font-size:1.35rem;color:var(--deep);margin-bottom:.75rem}
.value-item p{font-size:.95rem;color:var(--muted);line-height:1.75}
.philo-quote{font-family:var(--ff-d);font-size:clamp(1.5rem,3vw,2.5rem);color:#fff;font-style:italic;
  max-width:32ch;line-height:1.35;text-wrap:balance}
.philo-quote cite{display:block;font-family:var(--ff-b);font-style:normal;font-size:.9rem;
  color:oklch(0.60 0.015 264);margin-top:1.5rem;font-weight:500}

/* RESPONSIVE */
@media(max-width:900px){
  .about-layout,.contact-layout,.service-block,.contract-box{grid-template-columns:1fr}
  .service-block:nth-child(even){direction:ltr}
  .testimonials{grid-template-columns:1fr}
  .testimonial:first-child{grid-column:span 1}
  .values-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .about-portrait{aspect-ratio:2/1}
}
@media(max-width:768px){
  .pg-links{display:none}
  .pg-burger{display:block}
  .pg-hero{min-height:85vh}
}
