@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Inter:wght@400;500;600&display=swap');

:root{
  --bg:#fbf8f3;
  --paper:#ffffff;
  --paper-soft:#f7f2eb;
  --paper-deep:#f3ede5;
  --green:#4d5f4b;
  --green-deep:#374936;
  --green-soft:#5f715d;
  --rust:#a96c48;
  --rust-dark:#905839;
  --text:#50544e;
  --muted:#757871;
  --line:#ece2d7;
  --leaf:#dacdbd;
  --serif:'Cormorant Garamond', Georgia, serif;
  --sans:'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --shadow:0 18px 42px rgba(60,46,35,.06);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0 auto;
  max-width: 1920px;
  background:var(--bg);
  color:var(--text);
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,textarea,summary{font:inherit}
.svg-sprite{position:absolute;opacity:0;pointer-events:none}

.shell{width:min(calc(100% - 64px), 1440px);;margin:0 auto}
.center{text-align:center}
.section{padding:86px 0;border-top:1px solid rgba(222,214,204,.55)}
.branch{color:var(--leaf);opacity:.95;background-repeat:no-repeat;background-size:contain;background-position:center;pointer-events:none}
.branch g{display:none}
.branch path,.branch circle{vector-effect:non-scaling-stroke}
.branch circle{fill:currentColor;stroke:none;opacity:.72}

.branch-hero{background-image:url('assets/leaf-1.png')}
.quote-branch{background-image:url('assets/leaf-2.png')}
.branch-now{background-image:url('assets/leaf-2.png')}
.branch-about{background-image:url('assets/leaf-1.png')}
.branch-price{background-image:url('assets/leaf-3.png')}
.branch-faq{background-image:url('assets/leaf-4.png')}
.branch-important{background-image:url('assets/leaf-3.png')}

h1,h2,h3{margin:0;font-family:var(--serif);font-weight:500;color:var(--green-deep);letter-spacing:-.02em}
h1{font-size: clamp(58px, 5vw, 104px);line-height:.92}
h2{font-size: clamp(40px, 3.5vw, 64px);line-height:.95}
p{margin:0 0 14px}

.site-header{
  position:sticky;
  top:0;
  z-index:20;
  height:86px;
  background:rgba(251,248,243,.9);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(217,207,195,.4);
}
.header-inner{
  display:grid;
  grid-template-columns:220px 1fr auto;
  align-items:center;
  gap:26px;
  height:100%;
}
.brand{display:flex;flex-direction:column;line-height:1;justify-self:start}
.brand-name{font-family:var(--serif);font-size:29px;color:#4a534b}
.brand-role{margin-top:6px;font-size:11px;letter-spacing:.08em;text-transform:lowercase;color:#8a8a84}
.nav{display:flex;justify-content:center;gap:42px;font-size:14px;color:#5e615b}
.nav a{position:relative;padding:6px 0}
.nav a::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:1px;background:#a8775a;transform:scaleX(0);transform-origin:center;transition:transform .28s ease}
.nav a:hover::after{transform:scaleX(1)}
.menu-btn{display:none;border:0;background:none;padding:0;width:42px;height:42px}
.menu-btn span{display:block;width:24px;height:2px;background:#5a5d57;margin:5px auto;border-radius:2px}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:46px;padding:0 28px;border-radius:999px;
  background:linear-gradient(180deg,#b47952,#a96c48);
  color:#fff;font-size:14px;font-weight:500;
  box-shadow:0 9px 18px rgba(168,108,72,.2);
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.btn:hover{transform:translateY(-1px);box-shadow:0 14px 22px rgba(168,108,72,.22);background:linear-gradient(180deg,#bb815b,#a76742)}
.btn-small{min-height:38px;padding:0 20px;font-size:13px}
.btn-hero{margin-top:10px;min-height:50px;padding:0 30px}
.btn-light{min-height:42px;padding:0 24px;background:linear-gradient(180deg,#b47852,#a46a46);font-size:13px}

.hero{
  position:relative;
  min-height:880px;
  overflow:hidden;
  background: #FBF9F3;
}
.hero-photo{
  position:absolute;inset:0 0 0 58%;
  background-image:url('assets/miroslava-hero.jpg');
  background-size:cover;background-position:center 42%;
  border-radius: 0 30px 30px 0;
}
.hero-inner{position:relative;display:flex;align-items:flex-start;height:880px;padding:110px 0 72px}
.hero-copy{width:min(560px,100%);padding-left:28px;position:relative;z-index:2}
.hero-kicker{margin:26px 0 24px;font-size:33px;line-height:1.06;font-family:var(--serif);color:#a77554;font-weight:600}
.hero-text{font-size: clamp(15px, 1.15vw, 19px);line-height:1.82;color:#5d605a;max-width:440px}
.branch-hero{position:absolute;left:-2px;top:166px;width:170px;height:388px}

.consultation{padding-top:68px}
.consultation-grid{display:grid;grid-template-columns:1.2fr .84fr;gap:52px;align-items:start}
.consultation h2{text-align:left;margin-bottom:34px}
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.permission-card{display:flex;align-items:center;gap:16px;min-height:56px;padding:12px 19px;border-radius:10px;background:var(--paper-soft);color:#5a5e56;font-size:13px}
.icon-wrap{width:28px;height:28px;display:inline-grid;place-items:center;color:var(--green);flex:0 0 28px}
.ico{width:24px;height:24px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.55}
.quote-card{min-height:334px;border-radius:14px;background:linear-gradient(135deg,#f8f4ee,#f4ede5);display:grid;grid-template-columns:120px 1fr;align-items:center;padding:30px 34px 30px 10px;box-shadow:var(--shadow)}
.quote-branch{width:102px;height:258px;justify-self:center}
.quote-copy{font-size:15px;line-height:1.7;color:#575b55}
.quote-line{display:block;width:100%;height:1px;background:#ca9b81;margin:22px 0}
.accent-text{color:var(--rust);font-family:var(--serif);font-size:21px;font-weight:600;margin-bottom:0}

.now{padding-top:58px;padding-bottom:82px}
.now h2{margin-bottom:34px}
.now-layout{position:relative;max-width:940px;margin:0 auto;display:flex;justify-content:center}
.branch-now{position:absolute;left:-22px;bottom:-28px;width:172px;height:340px}
.now-grid{width:780px;margin-left:100px;display:grid;grid-template-columns:1fr 1fr;gap:14px 46px}
.now-item{min-height:54px;border-radius:9px;background:#f5f1eb;display:flex;align-items:center;gap:16px;padding:11px 22px;font-size:13px;color:#5a5e56}
.now-item.wide{grid-column:1/2;min-height:58px}
.mini-icon{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;color:#526154}.mini-icon .ico{width:27px;height:27px}

.story{padding-top:74px;padding-bottom:76px}
.story-grid{display:grid;grid-template-columns:1.14fr .78fr;gap:80px;align-items:center}
.story h2{text-align:left;margin-bottom:30px}
.story-copy{font-size:14px;line-height:1.72;color:#535850}
.story-photo-wrap{justify-self:end;aspect-ratio:1/1;border-radius:30px;overflow:hidden;box-shadow:0 16px 42px rgba(42,32,25,.08)}
.story-photo{width:100%;height:100%;object-fit:cover;object-position:center 38%}

.work{padding-top:56px;padding-bottom:52px}
.work h2{margin-bottom:34px}
.work-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:35px;max-width:1040px;margin:0 auto 30px}
.work-item{text-align:center;font-size:13px;color:#4e554e}
.work-icon{width:74px;height:74px;margin:0 auto 14px;border-radius:50%;background:var(--paper-soft);display:grid;place-items:center;color:#526252}
.work-icon .ico{width:42px;height:42px;stroke-width:1.45}
.work-note{max-width:1020px;margin:0 auto;background:var(--paper-soft);border-radius:10px;text-align:center;padding:14px 24px;color:#656862;font-size:13px;line-height:1.58}
.work-note p{margin:0}

.about-me{padding-top:54px;padding-bottom:80px}
.about-me-grid{position:relative;display:grid;grid-template-columns:minmax(470px,560px) minmax(390px,1fr);gap:58px;align-items:start}
.about-photo{overflow:hidden;border-radius:30px;background:#eee;box-shadow:var(--shadow)}
.about-photo img{width:100%;height:100%;object-fit:cover}
.about-photo-large{grid-row:1 / span 2;min-height:396px}
.about-photo-large img{object-position:center 22%}
.about-photo-small.top img{object-position:center 18%}
.about-photo-small.bottom img{object-position:center 46%}
.about-copy{padding-top:2px;max-width:640px}
.about-copy h2{text-align:left;margin-bottom:18px;font-size:72px;line-height:.82}
.about-intro{font-size:17px;line-height:1.6;color:#535850;font-weight:500;margin-bottom:18px}
.about-text{font-size:16px;line-height:1.72;color:#5d615a;max-width:560px;margin-bottom:28px}
.about-accordion{max-width:620px}
.about-accordion details,
.faq-list details{background:#f7f2eb;margin-bottom:10px;border-radius:12px;overflow:hidden;border:1px solid rgba(225,214,201,.8)}
.about-accordion summary,
.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 22px;font-size:14px;color:#5b5f58;user-select:none}
.about-accordion summary::-webkit-details-marker,
.faq-list summary::-webkit-details-marker{display:none}
.about-accordion summary span,
.faq-list summary span{font-size:18px;color:#7d7d77;transition:transform .25s ease}
.about-accordion details[open] summary span,
.faq-list details[open] summary span{transform:rotate(180deg)}
.accordion-answer{font-size:13px;line-height:1.7;padding:0 22px 18px;color:#6b6e68}
.branch-about{position:absolute;right:-6px;top:-14px;width:150px;height:270px}

.reviews{padding-top:44px;padding-bottom:76px}
.reviews h2{margin-bottom:32px}
.reviews-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.review-card{min-height:245px;background:#f6f1ea;border-radius:12px;padding:26px 24px 22px;display:flex;flex-direction:column;box-shadow:0 10px 25px rgba(58,46,36,.025)}
.quote-mark{font-family:Georgia,serif;font-size:46px;line-height:.65;color:var(--green);margin-bottom:10px}
.review-card h3{font-size:22px;font-weight:600;margin-bottom:12px;color:#4a524a}
.review-card p{font-size:13px;line-height:1.68;color:#5f625c;margin-bottom:auto}
.stars{margin-top:14px;letter-spacing:6px;font-size:13px;color:#9f5c36}

.pricing{padding-top:38px;padding-bottom:34px;border-top:0}
.pricing h2{margin-bottom:28px}
.price-card{max-width:690px;min-height:264px;margin:0 auto;border-radius:14px;background:#f6f0e8;display:grid;grid-template-columns:1fr 250px;align-items:center;overflow:hidden;padding:30px 22px 26px 46px}
.price-copy h3{font-size:22px;line-height:1.15;font-weight:600;margin-bottom:8px;color:#4d534c}
.price-copy p{font-size:13px;color:#666963;margin-bottom:9px}
.thin-line{display:block;width:205px;height:1px;background:#c99c83;margin-bottom:10px}
.price{font-family:var(--serif);font-size:36px;color:#4b5a4d;line-height:1;margin-bottom:8px}.price span{font-size:20px;color:#888}
.price-copy .btn{min-height:39px;margin:10px 0;padding:0 22px;font-size:13px}
.price-copy small{display:block;font-size:11px;color:#6f716b;margin-top:5px}
.branch-price{width:250px;height:230px;align-self:end;opacity:.96}

.faq{padding-top:28px;padding-bottom:20px;border-top:0}
.faq h2{margin-bottom:26px}
.faq-shell{max-width:980px;position:relative}
.faq-list{position:relative;z-index:2;max-width:740px;margin:0 auto}
.faq-answer{font-size:13px;line-height:1.68;padding:0 22px 16px;color:#6c6f69}
.branch-faq{position:absolute;right:54px;bottom:-12px;width:150px;height:245px;z-index:1}

.important{padding:0 0 16px}
.important h2{font-size:36px;margin:0 0 6px;position:relative;z-index:2}
.important-card{min-height:232px;display:grid;grid-template-columns:1fr 1.18fr;border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}
.important-left{background:linear-gradient(135deg,#3c5338,#2f442f);color:#fff;padding:34px 58px 30px}
.important-left h3{font-weight:500;font-size:28px;line-height:1.08;margin-bottom:16px;color:#fff}
.important-left p{font-size:14px;line-height:1.55;margin-bottom:18px;color:#eef2eb}
.important-right{position:relative;background:#f5eee6;padding:35px 40px 26px 60px;overflow:hidden;color:#555a53;font-family:var(--serif);font-size:19px;line-height:1.45}
.important-right p{position:relative;z-index:2;margin-bottom:20px}.important-right strong{font-weight:600}
.branch-important{position:absolute;right:18px;bottom:-22px;width:175px;height:225px;opacity:.95}

.footer{padding:0 0 20px;font-size:11px;color:#7d7e78}
.footer-inner{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:24px;align-items:center}
.footer-inner span{text-align:right}

.reveal{opacity:0;transform:translateY(34px);transition:opacity .72s cubic-bezier(.22,.61,.22,1),transform .72s cubic-bezier(.22,.61,.22,1);will-change:transform,opacity}
.reveal.from-left{transform:translateX(-42px)}
.reveal.from-right{transform:translateX(42px)}
.reveal.is-visible{opacity:1;transform:none}
.reviews-grid .review-card:nth-child(2){transition-delay:.06s}
.reviews-grid .review-card:nth-child(3){transition-delay:.12s}
.reviews-grid .review-card:nth-child(4){transition-delay:.18s}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .btn,.nav a::after{transition:none}
}

@media (min-width:1500px){
  .hero{min-height:940px;}
  .hero-photo{left:56.5%;background-position:center 38%}
  .hero-inner{height:940px;padding-top:128px}
  .hero-copy{padding-left:34px}
  h1{font-size:88px}
  .hero-kicker{font-size:36px}
  .about-me-grid{grid-template-columns:580px minmax(440px,1fr);gap:72px}
  .branch-about{right:10px;top:-2px}
}

@media (max-width:1100px){
  .shell,.wide-shell{width:min(100% - 44px,980px)}
  .consultation-grid,.story-grid,.about-me-grid{grid-template-columns:1fr;gap:44px}
  .about-me-grid{padding-right:0}
  .branch-about{right:0;top:auto;bottom:-20px;opacity:.55}
  .story-photo-wrap{justify-self:center;}
  .now-grid{margin-left:80px;width:calc(100% - 80px);gap:14px 20px}
  .branch-now{left:-58px}
  .reviews-grid{grid-template-columns:repeat(2,1fr)}
  .work-grid{grid-template-columns:repeat(3,1fr)}
}

@media (max-width:980px){
  .site-header{height:84px;position:sticky}
  .header-inner{grid-template-columns:1fr 50px;gap:10px}
  .brand-name{font-size:26px}.brand-role{font-size:11px}
  .nav,.btn-small{display:none}
  .menu-btn{display:block;justify-self:end}
  .nav.open{position:absolute;display:flex;top:84px;left:0;right:0;background:rgba(251,248,243,.98);padding:24px;flex-direction:column;gap:10px;box-shadow:0 14px 30px rgba(50,40,30,.08)}
  .hero{height:auto;min-height:880px;background:var(--bg);display:flex;flex-direction:column}
  .hero-photo{position:relative;order:2;inset:auto;width:100%;height:480px;background-image:linear-gradient(180deg,rgba(251,248,243,.1),rgba(251,248,243,0)),url('assets/miroslava-hero.jpg');background-position:center 34%}
  .hero-inner{height:auto;min-height:520px;padding:72px 0 56px}
  .hero-copy{width:100%;padding-left:6px;max-width:650px}
  .hero-copy br{display:none}
  .branch-hero{left:-74px;top:82px;opacity:.7}
  h1{font-size:70px}
  .quote-card{max-width:660px}
  .about-collage{max-width:560px}
  .branch-about{display:none}
  .important-left{padding:34px 38px}
  .important-right{padding-left:38px}
  .footer-inner{grid-template-columns:1fr;gap:7px}.footer-inner span{text-align:left}
}

@media (max-width:640px){
  body{font-size:15px}
  .shell,.wide-shell{width:calc(100% - 32px)}
  .section{padding:66px 0}
  h2{font-size:38px!important}
  .hero{min-height:830px}
  .hero-inner{padding:55px 0 40px;min-height:470px}
  .hero-photo{height:390px}
  h1{font-size:58px}
  .hero-kicker{font-size:24px}
  .hero-text,.about-text{font-size:14px}
  .btn-hero{min-height:49px;padding:0 26px}
  .permission-grid{grid-template-columns:1fr}
  .quote-card{grid-template-columns:82px 1fr;padding:24px 22px 24px 2px}
  .quote-branch{width:80px}
  .now-layout{display:block}
  .branch-now{display:none}
  .now-grid{width:100%;margin-left:0;grid-template-columns:1fr}
  .now-item,.now-item.wide{grid-column:auto;min-height:52px;padding:12px 18px}
  .story-grid{gap:32px}.story-copy{font-size:13px}.story-photo-wrap{border-radius:14px}
  .work-grid{grid-template-columns:repeat(2,1fr);gap:28px 18px}
  .work-item:last-child{grid-column:1/-1}
  .work-icon{width:64px;height:64px}
  .about-me-grid{gap:34px}
  .about-collage{grid-template-columns:1fr;grid-template-rows:auto;gap:14px}
  .about-photo-large{grid-row:auto;min-height:320px}
  .about-photo-small{height:210px}
  .about-copy h2{font-size:56px!important;line-height:.9}
  .about-intro{font-size:16px}
  .about-accordion summary,.faq-list summary{min-height:52px;padding:0 18px;font-size:13px}
  .accordion-answer,.faq-answer{padding:0 18px 16px;font-size:12px}
  .reviews-grid{grid-template-columns:1fr}.review-card{min-height:210px}
  .price-card{grid-template-columns:1fr 120px;min-height:250px;padding:25px 10px 25px 26px}
  .price-copy h3{font-size:19px}
  .branch-price{width:150px;height:190px;transform:translateX(-22px)}
  .faq-list{max-width:100%}.branch-faq{display:none}
  .important{padding-top:12px}.important-card{grid-template-columns:1fr;border-radius:22px}
  .important-left{padding:32px 28px}.important-right{min-height:200px;padding:30px 28px;font-size:17px}
  .branch-important{opacity:.65}
}

/* Large desktop / 2K–QHD screens: keeps the layout proportional and text comfortably readable. */
@media (min-width:1800px){
  .shell{width:min(100% - 120px,1720px)}
  .wide-shell{width:min(100% - 120px,1840px)}
  .section{padding:104px 0}

  .site-header{height:96px}
  .header-inner{grid-template-columns:280px 1fr auto;gap:38px}
  .brand-name{font-size:35px}
  .brand-role{font-size:13px;margin-top:7px}
  .nav{gap:58px;font-size:16px}
  .btn-small{min-height:44px;padding:0 25px;font-size:15px}

  .hero{
    min-height:980px;
  }
  .hero-photo{left:52%;background-position:center 40%}
  .hero-inner{height:980px;padding-top:126px;padding-bottom:82px}
  .hero-copy{width:680px;max-width:680px;padding-left:0}
  h1{font-size:104px;line-height:.9}
  h2{font-size:60px;line-height:.96}
  .hero-kicker{font-size:42px;margin:30px 0 28px}
  .hero-text{font-size:19px;line-height:1.72;max-width:560px}
  .btn-hero{min-height:56px;padding:0 34px;font-size:16px;margin-top:14px}
  .branch-hero{left:-110px;top:188px;width:210px;height:470px}

  .consultation{padding-top:88px}
  .consultation-grid{grid-template-columns:1.15fr .85fr;gap:72px}
  .consultation h2{margin-bottom:42px}
  .permission-grid{gap:18px 20px}
  .permission-card{min-height:66px;padding:14px 22px;font-size:16px;border-radius:12px}
  .icon-wrap{width:34px;height:34px;flex-basis:34px}.icon-wrap .ico{width:29px;height:29px}
  .quote-card{min-height:390px;grid-template-columns:150px 1fr;padding:36px 42px 36px 12px;border-radius:16px}
  .quote-branch{width:132px;height:310px}
  .quote-copy{font-size:17px;line-height:1.72}
  .accent-text{font-size:25px}

  .now{padding-top:74px;padding-bottom:100px}
  .now h2{margin-bottom:42px}
  .now-layout{max-width:1180px}
  .now-grid{width:980px;margin-left:120px;gap:18px 52px}
  .now-item{min-height:64px;padding:13px 24px;font-size:16px;border-radius:11px}
  .now-item.wide{min-height:68px}
  .mini-icon{width:35px;height:35px;flex-basis:35px}.mini-icon .ico{width:31px;height:31px}
  .branch-now{left:-10px;width:205px;height:410px}

  .story-grid{grid-template-columns:1.1fr .78fr;gap:110px}
  .story h2{margin-bottom:36px}
  .story-copy{font-size:17px;line-height:1.76}

  .work{padding-top:72px;padding-bottom:68px}
  .work h2{margin-bottom:42px}
  .work-grid{max-width:1320px;gap:48px;margin-bottom:36px}
  .work-item{font-size:15px}
  .work-icon{width:88px;height:88px;margin-bottom:17px}.work-icon .ico{width:50px;height:50px}
  .work-note{max-width:1280px;padding:17px 28px;font-size:15px}

  .about-me{padding-top:72px;padding-bottom:98px}
  .about-me-grid{grid-template-columns:700px minmax(540px,1fr);gap:90px}
  .about-collage{grid-template-columns:1.08fr .82fr;grid-template-rows:235px 235px;gap:18px;max-width:700px}
  .about-photo-large{min-height:488px}
  .about-copy{max-width:760px}
  .about-copy h2{font-size:84px;margin-bottom:24px}
  .about-intro{font-size:21px;line-height:1.58;margin-bottom:22px}
  .about-text{font-size:19px;line-height:1.7;max-width:700px;margin-bottom:34px}
  .about-accordion{max-width:720px}
  .about-accordion details,.faq-list details{margin-bottom:12px;border-radius:13px}
  .about-accordion summary,.faq-list summary{min-height:64px;padding:0 25px;font-size:16px}
  .accordion-answer,.faq-answer{font-size:15px;padding:0 25px 20px}
  .branch-about{right:-28px;top:-18px;width:190px;height:345px}

  .reviews h2{margin-bottom:40px}
  .reviews-grid{gap:28px}
  .review-card{min-height:300px;padding:32px 30px 28px;border-radius:14px}
  .quote-mark{font-size:54px}
  .review-card h3{font-size:27px;margin-bottom:14px}
  .review-card p{font-size:15px;line-height:1.7}
  .stars{font-size:15px;margin-top:18px}

  .pricing{padding-top:54px;padding-bottom:44px}
  .pricing h2{margin-bottom:34px}
  .price-card{max-width:850px;min-height:320px;grid-template-columns:1fr 310px;padding:36px 28px 32px 56px;border-radius:16px}
  .price-copy h3{font-size:27px}
  .price-copy p{font-size:15px}
  .thin-line{width:245px}
  .price{font-size:43px}.price span{font-size:24px}
  .price-copy .btn{min-height:45px;padding:0 25px;font-size:15px}
  .price-copy small{font-size:13px}
  .branch-price{width:305px;height:280px}

  .faq{padding-top:38px;padding-bottom:30px}
  .faq h2{margin-bottom:32px}
  .faq-shell{max-width:1180px}
  .faq-list{max-width:900px}
  .branch-faq{right:10px;width:190px;height:300px}

  .important h2{font-size:46px;margin-bottom:9px}
  .important-card{min-height:285px;border-radius:34px}
  .important-left{padding:44px 72px 38px}
  .important-left h3{font-size:35px;margin-bottom:20px}
  .important-left p{font-size:16px;margin-bottom:22px}
  .important-right{padding:44px 52px 32px 72px;font-size:23px}
  .branch-important{width:215px;height:280px}

  .footer{font-size:13px;padding-bottom:26px}
}

@media (min-width:2300px){
  .shell{width:min(100% - 150px,1840px)}
  .wide-shell{width:min(100% - 150px,1960px)}
  .hero-copy{width:720px;max-width:720px}
  h1{font-size:112px}
  .hero-kicker{font-size:44px}
  .hero-text{font-size:20px;max-width:590px}
  .consultation-grid{gap:82px}
  .about-me-grid{grid-template-columns:740px minmax(560px,1fr)}
  .about-collage{max-width:740px;grid-template-rows:248px 248px}
  .about-photo-large{min-height:514px}
}

/* Keep the principal content columns on one vertical grid at very wide resolutions. */
@media (min-width:2300px){
  .wide-shell{width:min(100% - 150px,1840px)}
}

/* === Responsive refinement + booking/education UI === */
:root{--content-max:1420px;--wide-max:1680px}
.shell{width:min(100% - 72px,var(--content-max))}
.wide-shell{width:min(100% - 72px,var(--wide-max))}

.section-eyebrow{display:block;margin-bottom:12px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#a57454;font-weight:600}
.section-eyebrow.light{color:#e7d0c1}

/* Wide screens: give the page more breathing room without changing the visual language. */
@media (min-width:1600px){
  .shell{width:min(100% - 96px,1500px)}
  .wide-shell{width:min(100% - 96px,1740px)}
  .section{padding:112px 0}
  .hero{min-height:950px;}
  .hero-photo{left:53%;background-position:center 39%}
  .hero-inner{height:950px;padding-top:135px}
  h1{font-size:100px}
  h2{font-size:62px}
  .hero-copy{width:680px;max-width:680px;padding-left:18px}
  .hero-kicker{font-size:40px}
  .hero-text{font-size:18px;max-width:565px}
  .consultation-grid{grid-template-columns:minmax(0,1.08fr) minmax(420px,.74fr);gap:86px}
  .permission-card{min-height:70px;font-size:15px}
  .quote-card{min-height:410px}
  .story-grid{gap:120px}
  .work-grid{max-width:1400px;gap:54px}
  .work-item{font-size:15px}
  .about-me-grid{grid-template-columns:minmax(600px,720px) minmax(560px,1fr);gap:100px}
  .about-collage{max-width:720px;grid-template-rows:245px 245px}
  .about-photo-large{min-height:508px}
  .about-copy h2{font-size:88px}
  .about-intro{font-size:20px}
  .about-text{font-size:18px}
  .reviews-grid{gap:32px}
  .review-card{min-height:310px}
  .price-card{max-width:900px}
}

/* Tablet / small laptops: preserve useful spacing before switching to mobile. */
@media (min-width:981px) and (max-width:1250px){
  .header-inner{grid-template-columns:200px 1fr auto;gap:18px}
  .nav{gap:24px;font-size:13px}
  .btn-small{padding:0 16px}
  .shell,.wide-shell{width:min(100% - 48px,1120px)}
  .hero{min-height:820px;}
  .hero-photo{left:55%;background-position:center 40%}
  .hero-inner{height:820px;padding-top:100px}
  h1{font-size:72px}
  .hero-kicker{font-size:30px}
  .hero-text{font-size:15px;max-width:410px}
  .consultation-grid,.story-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:38px}
  .about-me-grid{grid-template-columns:minmax(400px,.9fr) minmax(360px,1fr);gap:42px}
  .reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Real mobile header: a comfortable trigger and a full-width menu instead of squashed links. */
@media (max-width:980px){
  .site-header{height:76px}
  .header-inner{grid-template-columns:1fr auto;min-width:0}
  .brand-name{font-size:29px}
  .brand-role{font-size:10px}
  .menu-btn{display:grid;place-content:center;width:46px;height:46px;border-radius:12px;background:rgba(247,242,235,.9);border:1px solid rgba(214,201,188,.8)}
  .nav{display:none}
  .nav.open{position:fixed;top:76px;left:0;right:0;z-index:30;display:flex;align-items:stretch;justify-content:flex-start;padding:14px 18px 20px;gap:4px;flex-direction:column;background:rgba(251,248,243,.98);border-bottom:1px solid rgba(217,207,195,.7);box-shadow:0 16px 30px rgba(50,40,30,.09);max-height:calc(100vh - 76px);overflow:auto}
  .nav.open a{display:flex;align-items:center;min-height:50px;padding:0 10px;font-size:16px;border-radius:10px}
  .nav.open a:hover{background:#f5eee6}
  body.menu-open{overflow:hidden}

  .hero{min-height:auto}
  .hero-inner{padding:68px 0 48px;min-height:0}
  .hero-photo{height:500px;border-radius: 30px;margin: 0 30px 20px;width: auto;}
  .hero-copy{padding-left:0;max-width:680px}
  .branch-hero{left:-94px;top:100px}
  h1{font-size:clamp(58px,9vw,82px)}
  .hero-kicker{font-size:29px}
  .hero-text{font-size:15px;line-height:1.75}

  .consultation-grid{grid-template-columns:1fr;gap:36px}
  .quote-card{max-width:none}
  .story-grid{grid-template-columns:1fr;gap:42px}
  .story-photo-wrap{justify-self:stretch;width:60%;max-width:620px}
  .work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px}
  .about-me-grid{grid-template-columns:1fr;gap:44px}
  .about-copy{max-width:760px}
  .about-photo{width: 60%;justify-self: end;}
  .reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .important-card{grid-template-columns:1fr 1fr}
  .footer-inner{grid-template-columns:1fr auto;align-items:start}
}

@media (max-width:640px){
  .shell,.wide-shell{width:calc(100% - 32px)}
  .section{padding:72px 0}
  h2{font-size:42px!important;line-height:.98}
  .site-header{height:72px}
  .nav.open{top:72px;max-height:calc(100vh - 72px)}
  .hero-inner{padding:52px 0 40px}
  .hero-photo{height:360px;background-position:center 34%}
  .branch-hero{left:-112px;top:74px;opacity:.5}
  .hero-text{font-size:14px}
  .hero-text br,.hero-copy br{display:none}
  .btn-hero{width:100%;min-height:54px}
  .permission-grid{grid-template-columns:1fr}
  .quote-card{grid-template-columns:70px 1fr;padding:24px 18px 24px 0;min-height:300px}
  .quote-copy{font-size:14px}
  .accent-text{font-size:20px}
  .now-grid{grid-template-columns:1fr;margin:0;width:100%}
  .now-item,.now-item.wide{grid-column:auto;min-height:54px;padding:13px 16px}
  .work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}
  .work-item{font-size:12px}
  .work-item:last-child{grid-column:1/-1}
  .work-icon{width:68px;height:68px}
  .about-collage{grid-template-columns:1fr;grid-template-rows:auto;gap:12px}
  .about-photo-large{grid-row:auto;min-height:330px}
  .about-photo-small{height:220px}
  .about-copy h2{font-size:58px!important}
  .about-intro{font-size:16px}
  .about-text{font-size:14px}
  .reviews-grid{grid-template-columns:1fr}
  .review-card{min-height:0}
  .price-card{grid-template-columns:1fr;max-width:none;padding:28px 22px;min-height:0}
  .branch-price{display:none}
  .important-card{grid-template-columns:1fr;border-radius:22px}
  .important-left{padding:32px 26px}
  .important-left h2{font-size:44px!important}
  .important-right{padding:30px 26px 40px;font-size:17px}
  .branch-important{opacity:.55}
  .footer-inner{grid-template-columns:1fr;gap:18px}
}

/* Education carousel */
.education-shell{max-width:1180px}
.education-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:34px}
.education-heading h2{text-align:left}
.education-heading p{max-width:430px;margin:0;font-size:14px;line-height:1.65;color:var(--muted)}
.education-carousel{position:relative;padding:0 60px 50px}
.certificate-viewport{overflow:hidden;border-radius:18px;box-shadow:var(--shadow);background:#f5eee6}
.certificate-track{display:flex;transition:transform .45s ease}
.certificate-slide{min-width:100%;padding:22px}
.certificate-placeholder{min-height:430px;border:1px dashed rgba(152,123,101,.45);border-radius:14px;background:rgba(255,255,255,.36);display:grid;place-items:center;text-align:center;align-content:center;padding:40px}
.certificate-badge{display:grid;place-items:center;width:74px;height:74px;border-radius:50%;background:var(--green);color:#fff;font-size:16px;font-weight:600;letter-spacing:.08em;margin-bottom:18px}
.certificate-placeholder h3{font-size:30px;margin-bottom:12px}
.certificate-placeholder p{max-width:580px;font-size:14px;line-height:1.7;color:#676b65;margin-bottom:20px}
.certificate-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 22px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--green);font-size:13px}
.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:1px solid #d9cfc3;background:#faf6f0;color:var(--green);font-size:30px;line-height:1;cursor:pointer;z-index:2;box-shadow:0 8px 16px rgba(58,46,36,.06)}
.carousel-prev{left:4px}.carousel-next{right:4px}
.carousel-dots{position:absolute;left:50%;bottom:6px;transform:translateX(-50%);display:flex;gap:8px}
.carousel-dot{width:9px;height:9px;padding:0;border-radius:50%;border:0;background:#d5c7ba;cursor:pointer}.carousel-dot.is-active{background:var(--rust);transform:scale(1.15)}

/* Final content / social grid */
.final-section{padding-top:78px}
.final-shell{max-width:1320px}
.important-card{box-shadow:var(--shadow)}
.important-left{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.important-left h2{font-size:48px;line-height:.98;color:#fff;margin-bottom:18px}
.important-left p{max-width:460px}
.important-right h3{position:relative;z-index:2;font-size:29px;line-height:1.08;margin:0 0 16px;color:var(--green-deep)}
.bring-list{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 28px;margin:0 0 20px;padding-left:18px;font-size:16px}
.bring-list li::marker{color:var(--rust)}
.closing-note{position:relative;z-index:2;margin:0;max-width:600px}
.socials{padding:0 0 76px;display:grid;grid-template-columns:.72fr 1.28fr;gap:60px;align-items:start}
.socials h2{margin:0}
.social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.social-grid a{display:flex;flex-direction:column;gap:5px;padding:17px 18px;border-radius:12px;background:#f7f2eb;border:1px solid rgba(225,214,201,.8);transition:transform .22s ease,box-shadow .22s ease}
.social-grid a:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.social-grid span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#96948c}
.social-grid strong{font-size:14px;color:#4f584f;font-weight:600;overflow-wrap:anywhere}

/* Booking modal */
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:20px}
.modal.is-open{display:flex}
.modal-backdrop{position:absolute;inset:0;background:rgba(46,38,31,.43);backdrop-filter:blur(3px)}
.modal-dialog{position:relative;z-index:2;overflow:auto;padding:34px 34px 30px;border-radius:22px;background:#fbf8f3;box-shadow:0 30px 80px rgba(31,25,20,.22)}
.modal-dialog h2{font-size:52px;margin-bottom:10px}
.modal-close{position:absolute;top:15px;right:16px;width:38px;height:38px;border:0;border-radius:50%;background:#f2ebe3;color:#63665f;font-size:26px;cursor:pointer}
.modal-lead{font-size:14px;line-height:1.65;color:#6c6f68;margin-bottom:24px}
.booking-form{display:grid;gap:16px}
.booking-form label{display:grid;gap:7px;font-size:12px;color:#666a63}
.booking-form input,.booking-form textarea{width:100%;border:1px solid #ded4c9;border-radius:11px;background:#fffdfa;color:#4d524b;padding:13px 14px;outline:none;resize:vertical}
.booking-form input:focus,.booking-form textarea:focus{border-color:#b4876b;box-shadow:0 0 0 3px rgba(180,135,107,.12)}
.form-submit{width:100%;margin-top:3px;border:0;cursor:pointer}
.booking-form small{font-size:10px;line-height:1.5;color:#8a8a84}
.form-error{padding:11px 13px;margin:0;border-radius:9px;background:#f7e9e4;color:#8e4e38;font-size:12px;line-height:1.5}
.success-dialog{text-align:center;padding:52px 34px 38px}
.success-mark{width:64px;height:64px;display:grid;place-items:center;margin:0 auto 18px;border-radius:50%;background:#e7eee5;color:var(--green);font-size:34px}
.success-dialog p{max-width:390px;margin:0 auto 24px;font-size:16px;line-height:1.65;color:#656960}
.success-dialog .btn{min-width:140px;border:0;cursor:pointer}
.legal-dialog{max-width:720px}
.legal-dialog p{font-size:14px;line-height:1.75;color:#61655e}
body.modal-open{overflow:hidden}

@media (max-width:740px){
  .education-heading,.socials{grid-template-columns:1fr;display:grid;gap:24px}
  .education-heading{margin-bottom:26px}
  .education-heading p{max-width:none}
  .education-carousel{padding:0 34px 44px}
  .certificate-slide{padding:12px}
  .certificate-placeholder{min-height:360px;padding:24px 18px}
  .certificate-placeholder h3{font-size:25px}
  .certificate-placeholder p{font-size:12px}
  .carousel-arrow{width:36px;height:36px;font-size:26px}
  .carousel-prev{left:0}.carousel-next{right:0}
  .social-grid{grid-template-columns:1fr}
  .bring-list{grid-template-columns:1fr;font-size:15px}
  .important-right h3{font-size:25px}
  .modal{padding:10px}
  .modal-dialog{padding:30px 20px 24px;border-radius:18px}
  .modal-dialog h2{font-size:42px}
}

/* =========================================================
   EXTRA LARGE DESKTOP — 1900px+
   Strong readability pass + single centered content width
   ========================================================= */
@media (min-width:1900px){
  :root{
    --content-max:1720px;
    --wide-max:1820px;
  }

  html,
  body{
    overflow-x:clip;
  }

  body{
    font-size:20px;
  }

  .shell,
  .wide-shell{
    width:calc(100% - 120px);
    max-width:1720px;
    margin-left:auto;
    margin-right:auto;
  }

  .wide-shell{
    max-width:1820px;
  }

  /* Every major block stays inside the viewport width. */
  .site-header,
  .hero,
  .section,
  .education,
  .final-section,
  .socials,
  .footer{
    width:100%;
    max-width:100%;
    overflow:clip;
  }

  /* Header */
  .site-header{
    height:108px;
  }

  .header-inner{
    grid-template-columns:280px 1fr auto;
    gap:52px;
  }

  .brand-name{
    font-size:39px;
  }

  .brand-role{
    margin-top:8px;
    font-size:14px;
  }

  .nav{
    gap:58px;
    font-size:18px;
  }

  .nav a{
    padding:9px 0;
  }

  .header-inner > .btn{
    min-height:64px;
    padding:0 38px;
    font-size:18px;
  }

  /* Base typography */
  h1{
    font-size:clamp(96px,5.6vw,132px) !important;
    line-height:.88;
    letter-spacing:-.04em;
  }

  h2{
    font-size:clamp(64px,3.8vw,88px) !important;
    line-height:.92;
    letter-spacing:-.035em;
  }

  h3{
    font-size:32px;
  }

  p,
  .story-copy,
  .about-text,
  .hero-text,
  .work-item,
  .permission-card,
  .now-item,
  .review-card p,
  .price-copy p,
  .about-intro,
  .closing-note{
    font-size:21px;
    line-height:1.7;
  }

  /* Buttons */
  .btn{
    min-height:68px;
    padding:0 40px;
    font-size:19px;
  }

  .btn-small{
    min-height:54px;
    padding:0 28px;
    font-size:17px;
  }

  .btn-hero{
    min-height:70px;
    padding:0 46px;
    font-size:20px;
  }

  /* Hero */
  .hero{
    min-height:1020px;
  }

  .hero-photo{
    left:54%;
    right:0;
    width:auto;
    max-width:none;
    background-position:center 40%;
  }

  .hero-inner{
    height:1020px;
    padding-top:150px;
    padding-bottom:100px;
  }

  .hero-copy{
    width:min(760px,100%);
    max-width:760px;
    padding-left:38px;
  }

  .hero-kicker{
    margin:38px 0 32px;
    font-size:52px;
    line-height:1;
  }

  .hero-text{
    max-width:680px;
    font-size:23px;
    line-height:1.75;
  }

  .branch-hero{
    left:-4px;
    top:176px;
    width:210px;
    height:470px;
  }

  /* Sections / vertical rhythm */
  .section{
    padding-top:132px;
    padding-bottom:132px;
  }

  /* Consultation */
  .consultation{
    padding-top:105px;
  }

  .consultation-grid{
    grid-template-columns:minmax(0,1.18fr) minmax(520px,.8fr);
    gap:92px;
  }

  .consultation h2{
    margin-bottom:46px;
  }

  .permission-grid{
    gap:18px 20px;
  }

  .permission-card{
    min-height:82px;
    padding:16px 24px;
    gap:20px;
    font-size:19px;
    border-radius:13px;
  }

  .icon-wrap{
    width:36px;
    height:36px;
    flex-basis:36px;
  }

  .ico{
    width:30px;
    height:30px;
  }

  .quote-card{
    min-height:470px;
    grid-template-columns:150px 1fr;
    padding:40px 48px 40px 12px;
    border-radius:20px;
  }

  .quote-branch{
    width:130px;
    height:320px;
  }

  .quote-copy{
    font-size:21px;
    line-height:1.75;
  }

  .accent-text{
    font-size:31px;
  }

  /* Now */
  .now{
    padding-top:90px;
    padding-bottom:120px;
  }

  .now h2{
    margin-bottom:46px;
  }

  .now-layout{
    max-width:1160px;
  }

  .now-grid{
    width:980px;
    margin-left:120px;
    gap:18px 58px;
  }

  .now-item{
    min-height:70px;
    padding:13px 24px;
    font-size:19px;
    border-radius:11px;
  }

  .mini-icon{
    width:34px;
    height:34px;
    flex-basis:34px;
  }

  /* Story */
  .story{
    padding-top:110px;
    padding-bottom:110px;
  }

  .story-grid{
    grid-template-columns:minmax(0,1.14fr) minmax(560px,.78fr);
    gap:120px;
  }

  .story h2{
    margin-bottom:38px;
  }

  .story-copy{
    font-size:20px;
    line-height:1.82;
  }

  /* Work */
  .work{
    padding-top:86px;
    padding-bottom:82px;
  }

  .work h2{
    margin-bottom:48px;
  }

  .work-grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:62px;
    max-width:1450px;
  }

  .work-item{
    font-size:18px;
    line-height:1.55;
  }

  .work-icon{
    width:96px;
    height:96px;
    margin-bottom:20px;
  }

  .work-icon .ico{
    width:54px;
    height:54px;
  }

  .work-note{
    max-width:1320px;
    padding:20px 30px;
    font-size:17px;
    line-height:1.65;
  }

  /* About */
  .about-me{
    padding-top:90px;
    padding-bottom:130px;
  }

  .about-me-grid{
    grid-template-columns:minmax(650px,800px) minmax(600px,1fr);
    gap:110px;
  }

  .about-collage{
    max-width:800px;
  }

  .about-photo-large{
    min-height:560px;
  }

  .about-copy{
    max-width:850px;
  }

  .about-copy h2{
    font-size:104px !important;
    line-height:.84;
    margin-bottom:28px;
  }

  .about-intro{
    font-size:24px;
    line-height:1.6;
    margin-bottom:26px;
  }

  .about-text{
    max-width:760px;
    font-size:20px;
    line-height:1.78;
    margin-bottom:36px;
  }

  .about-accordion{
    max-width:820px;
  }

  .about-accordion summary,
  .faq-list summary{
    min-height:76px;
    padding:0 28px;
    font-size:18px;
  }

  .accordion-answer,
  .faq-answer{
    font-size:17px;
    line-height:1.75;
    padding:0 28px 22px;
  }

  /* Education */
  .education-shell{
    max-width:1500px;
  }

  .education-heading{
    gap:100px;
    margin-bottom:50px;
  }

  .education-heading p{
    max-width:600px;
    font-size:19px;
    line-height:1.7;
  }

  .education-carousel{
    padding:0 82px 70px;
  }

  .certificate-slide{
    padding:30px;
  }

  .certificate-placeholder{
    min-height:700px;
    border-radius:20px;
    padding:60px;
  }

  .certificate-placeholder h3{
    font-size:46px;
  }

  .certificate-placeholder p{
    max-width:780px;
    font-size:18px;
    line-height:1.8;
  }

  .certificate-link{
    min-height:52px;
    padding:0 28px;
    font-size:16px;
  }

  .carousel-arrow{
    width:58px;
    height:58px;
    font-size:36px;
  }

  /* Reviews */
  .reviews{
    padding-top:82px;
    padding-bottom:120px;
  }

  .reviews h2{
    margin-bottom:50px;
  }

  .reviews-grid{
    gap:34px;
  }

  .review-card{
    min-height:360px;
    padding:42px 38px 32px;
    border-radius:20px;
  }

  .quote-mark{
    font-size:70px;
  }

  .review-card h3{
    font-size:30px;
  }

  .review-card p{
    font-size:19px;
    line-height:1.75;
  }

  .stars{
    font-size:16px;
  }

  /* Pricing / FAQ */
  .pricing{
    padding-top:76px;
    padding-bottom:62px;
  }

  .price-card{
    max-width:1080px;
    min-height:360px;
    grid-template-columns:1fr 330px;
    padding:42px 30px 38px 58px;
    border-radius:18px;
  }

  .price-copy h3{
    font-size:30px;
  }

  .price-copy p{
    font-size:18px;
  }

  .price{
    font-size:52px;
  }

  .price-copy .btn{
    min-height:54px;
    font-size:16px;
  }

  .branch-price{
    width:320px;
    height:295px;
  }

  .faq{
    padding-top:58px;
    padding-bottom:46px;
  }

  .faq-list{
    max-width:900px;
  }

  /* Final section */
  .final-section{
    padding-top:110px;
    padding-bottom:36px;
  }

  .final-shell{
    max-width:1580px;
  }

  .important h2{
    font-size:58px !important;
    margin-bottom:16px;
  }

  .important-card{
    min-height:360px;
    border-radius:36px;
  }

  .important-left{
    padding:52px 74px 48px;
  }

  .important-left h3{
    font-size:42px;
  }

  .important-left p{
    max-width:620px;
    font-size:20px;
  }

  .important-right{
    padding:48px 58px 40px 74px;
    font-size:25px;
    line-height:1.5;
  }

  .important-right h3{
    font-size:40px;
  }

  .bring-list{
    gap:7px 46px;
    font-size:22px;
    line-height:1.55;
  }

  .closing-note{
    max-width:760px;
    font-size:23px;
    line-height:1.7;
  }

  .branch-important{
    width:230px;
    height:290px;
  }

  /* Socials */
  .socials{
    padding-bottom:105px;
    gap:110px;
  }

  .social-grid{
    gap:16px;
  }

  .social-grid a{
    padding:23px 24px;
    border-radius:15px;
  }

  .social-grid span{
    font-size:13px;
  }

  .social-grid strong{
    font-size:18px;
  }

  /* Footer */
  .footer{
    padding-bottom:32px;
    font-size:14px;
  }

  .footer-inner{
    gap:36px;
  }

  .footer-inner span{
    font-size:14px;
  }

  /* Popup */
  .modal{
    padding:40px;
  }

  .modal-dialog{
    width:min(100%,820px);
    padding:52px;
    border-radius:30px;
  }

  .modal-dialog h2{
    font-size:68px !important;
  }

  .modal-lead{
    font-size:18px;
    line-height:1.7;
  }

  .booking-form{
    gap:20px;
  }

  .booking-form label{
    font-size:15px;
  }

  .booking-form input,
  .booking-form textarea{
    padding:18px 19px;
    font-size:19px;
    border-radius:13px;
  }

  .booking-form input{
    min-height:64px;
  }

  .booking-form textarea{
    min-height:200px;
  }

  .booking-form small {
    font-size: 18px;
  }

  .form-submit{
    min-height:68px;
    font-size:20px;
  }
}

/* =========================================================
   ULTRA LARGE DESKTOP — 1900px+
   EXTRA LARGE TYPOGRAPHY
   ========================================================= */
@media (min-width:1900px){
  /* Keep the whole composition inside one centered canvas. */
  .shell,
  .wide-shell{
    width:calc(100% - 140px) !important;
    max-width:1760px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .wide-shell{max-width:1840px !important}

  body,
  main,
  .page,
  .site-main{
    overflow-x:clip;
  }

  img,
  picture,
  video,
  svg,
  canvas{
    max-width:100%;
  }

  /* Global readable scale */
  body{font-size:24px !important; line-height:1.65 !important}

  .nav,
  .nav a{font-size:21px !important}

  .brand-name{font-size:44px !important}
  .brand-role{font-size:15px !important}

  h1,
  .hero h1{
    font-size:clamp(112px,6.1vw,150px) !important;
    line-height:.94 !important;
    letter-spacing:-.045em;
  }

  h2,
  .section-title,
  .story h2,
  .reviews h2,
  .education-heading h2{
    font-size:clamp(72px,4.3vw,104px) !important;
    line-height:1 !important;
    letter-spacing:-.035em;
  }

  h3{font-size:34px !important}

  p,
  li,
  .hero-text,
  .story-copy,
  .about-text,
  .about-intro,
  .work-item,
  .permission-card,
  .now-item,
  .review-card p,
  .price-copy p,
  .important-left p,
  .closing-note,
  .education-heading p,
  .modal-lead{
    font-size:24px !important;
    line-height:1.72 !important;
  }

  .hero-text{font-size:27px !important; line-height:1.72 !important}

  .hero-kicker{font-size:55px !important}

  /* Header */
  .site-header{height:126px !important}
  .header-inner{grid-template-columns:320px 1fr auto !important;gap:58px !important}
  .header-inner > .btn{min-height:76px !important;padding:0 46px !important;font-size:21px !important}

  /* Hero */
  .hero-inner{height:1080px !important;padding-top:155px !important;padding-bottom:100px !important}
  .hero-copy{width:850px !important;max-width:850px !important;padding-left:36px !important}
  .hero-photo{max-width:none !important}

  /* Common buttons */
  .btn,
  .btn-hero,
  .price-copy .btn,
  .form-submit{
    min-height:74px !important;
    padding-left:46px !important;
    padding-right:46px !important;
    font-size:21px !important;
  }

  /* Story */
  .story{padding-top:130px !important;padding-bottom:130px !important}
  .story-grid{gap:125px !important}
  .story-copy{max-width:800px !important}

  /* Work */
  .work{padding-top:110px !important;padding-bottom:110px !important}
  .work-grid{gap:48px !important}
  .work-item{font-size:22px !important}
  .work-icon{width:100px !important;height:100px !important}

  /* About */
  .about-me{padding-top:120px !important;padding-bottom:140px !important}
  .about-me-grid{grid-template-columns:minmax(700px,800px) minmax(560px,1fr) !important;gap:110px !important}
  .about-copy h2{font-size:104px !important}
  .about-text{max-width:780px !important}

  /* Reviews */
  .reviews{padding-top:100px !important;padding-bottom:130px !important}
  .reviews-grid{gap:36px !important}
  .review-card{min-height:420px !important;padding:48px 44px 38px !important;border-radius:22px !important}
  .review-card h3{font-size:34px !important}
  .review-card p{font-size:22px !important}
  .quote-mark{font-size:80px !important}

  /* Education */
  .education-heading{margin-bottom:58px !important}
  .education-heading p{max-width:600px !important;font-size:22px !important}
  .education-carousel{padding-left:88px !important;padding-right:88px !important;padding-bottom:70px !important}
  .certificate-placeholder{min-height:760px !important;padding:64px !important}
  .certificate-placeholder h3{font-size:46px !important}
  .certificate-placeholder p{font-size:21px !important}
  .carousel-arrow{width:64px !important;height:64px !important;font-size:38px !important}

  /* Pricing / FAQ */
  .pricing{padding-top:110px !important;padding-bottom:90px !important}
  .price-card{max-width:1260px !important;min-height:460px !important;padding:56px 44px 50px 76px !important}
  .price-copy h3{font-size:40px !important}
  .price-copy p{font-size:22px !important}
  .price{font-size:68px !important}
  .faq{padding-top:90px !important;padding-bottom:72px !important}
  .faq-list{max-width:1100px !important}
  .faq-list summary{min-height:78px !important;font-size:22px !important}

  /* Final section */
  .final-section{padding-top:140px !important;padding-bottom:54px !important}
  .important h2{font-size:78px !important}
  .important-card{min-height:500px !important;border-radius:44px !important}
  .important-left{padding:66px 84px 60px !important}
  .important-left h2{font-size:76px !important}
  .important-left h3{font-size:48px !important}
  .important-right{padding:62px 72px 52px 90px !important;font-size:28px !important}
  .important-right h3{font-size:48px !important}
  .bring-list{font-size:27px !important;line-height:1.55 !important}
  .closing-note{font-size:28px !important;line-height:1.7 !important}

  /* Socials */
  .socials{padding-bottom:130px !important;gap:130px !important}
  .social-grid{gap:20px !important}
  .social-grid a{padding:28px 30px !important;border-radius:18px !important}
  .social-grid strong{font-size:22px !important}
  .social-grid span{font-size:15px !important}

  /* Footer */
  .footer{padding-bottom:40px !important;font-size:16px !important}
  .footer-inner span{font-size:17px !important}

  /* Popup */
  .modal-dialog{width:min(100%,900px) !important;padding:66px !important;border-radius:34px !important}
  .modal-dialog h2{font-size:78px !important}
  .booking-form label{font-size:19px !important}
  .booking-form input,
  .booking-form textarea{font-size:22px !important;padding:20px 22px !important}
  .booking-form input{min-height:74px !important}
  .booking-form textarea{min-height:230px !important}
}
