  :root{
    --bg:#FFFFFF; --bg-2:#FFFFFF; --cream:#F8F3EA; --cream-2:#F1E8D8; --paper:#FFFFFF;
    --ivory:#F4EEE2; --ivory-2:#E8DDCA;
    --gold:#C9A227; --gold-1:#F6E6A8; --gold-2:#E4C56B; --gold-3:#9A7621; --gold-4:#7A5C17;
    --gold-deep:#A97E16;
    --line:rgba(154,118,33,.26); --line-soft:rgba(154,118,33,.13);
    --text:#211A12; --dim:#5C5446; --faint:#8A7E69;
    --ink:#211A12; --ink-dim:#5C5446; --ink-3:#6E6452;
    --maxw:1200px;
    --shadow:0 26px 60px -34px rgba(120,90,20,.42);
    --grad-gold:linear-gradient(135deg,#F8EAB4 0%,#E4C56B 32%,#C9A227 58%,#9A7621 100%);
    --grad-gold-text:linear-gradient(176deg,#CCA02A 0%,#B0871C 42%,#946F1E 78%,#C49E26 100%);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
  body{
    margin:0; background:var(--bg); color:var(--text);
    font-family:"Mulish",system-ui,-apple-system,sans-serif;
    font-weight:400; line-height:1.7; letter-spacing:.005em;
    overflow-x:hidden; -webkit-font-smoothing:antialiased;
  }
  ::selection{background:rgba(201,162,39,.30); color:#1B130A;}
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif; font-weight:600; line-height:1.05; margin:0;}
  p{margin:0;}

  /* ---------- shared bits ---------- */
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px;}
  .section{position:relative; padding:clamp(66px,9vw,128px) 0;}
  .section > .wrap{position:relative; z-index:2;}
  .sec-dark{background:var(--cream); color:var(--ink);}
  .sec-dark-2{background:linear-gradient(180deg,#FBF7F0 0%, var(--cream) 100%); color:var(--ink);}
  .sec-ivory{background:#FFFFFF; color:var(--ink);}

  .gold-text{background:var(--grad-gold-text); -webkit-background-clip:text; background-clip:text; color:transparent; text-shadow:none;}
  .gold-deep-text{background:linear-gradient(176deg,#B0871C 0%,#8C6A1F 55%,#C49E26 100%);
    -webkit-background-clip:text; background-clip:text; color:transparent;}

  .eyebrow{display:inline-flex; align-items:center; gap:12px; font-family:"Mulish",sans-serif;
    font-weight:700; font-size:.72rem; letter-spacing:.3em; text-transform:uppercase; color:var(--gold-deep);}
  .eyebrow::before{content:""; width:30px; height:1px; background:linear-gradient(90deg,transparent,var(--gold-deep));}
  .eyebrow.center::after{content:""; width:30px; height:1px; background:linear-gradient(90deg,var(--gold-deep),transparent);}

  .ornament{display:flex; align-items:center; justify-content:center; gap:16px; margin:0 auto;}
  .ornament i{display:block; width:min(90px,18vw); height:1px;
    background:linear-gradient(90deg,transparent,var(--line) 60%,var(--gold-deep));}
  .ornament i:last-child{background:linear-gradient(270deg,transparent,var(--line) 60%,var(--gold-deep));}
  .ornament svg{width:26px; height:26px; color:var(--gold-deep); flex:none;}

  .lead{max-width:62ch; color:var(--ink-dim); font-size:1.06rem;}

  .head-block{text-align:center; display:flex; flex-direction:column; align-items:center; gap:18px; margin-bottom:clamp(42px,6vw,70px);}
  .head-block h2{font-size:clamp(2.2rem,5.2vw,3.7rem);}
  .head-block .lead{margin-top:2px;}

  /* ---------- buttons ---------- */
  .btn{display:inline-flex; align-items:center; gap:.6em; font-family:"Mulish",sans-serif;
    font-weight:700; font-size:.92rem; letter-spacing:.04em; padding:.95em 1.7em; border-radius:999px;
    cursor:pointer; border:1px solid transparent; position:relative; overflow:hidden; transition:transform .35s cubic-bezier(.2,.7,.3,1), box-shadow .35s, color .3s, background .3s;}
  .btn svg{width:1.05em; height:1.05em;}
  .btn-gold{background:var(--grad-gold); color:#1B130A;
    box-shadow:0 12px 30px -12px rgba(201,162,39,.6), inset 0 1px 0 rgba(255,255,255,.5);}
  .btn-gold::after{content:""; position:absolute; inset:0; transform:translateX(-130%);
    background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.6) 50%,transparent 65%); transition:transform .8s;}
  .btn-gold:hover{transform:translateY(-3px); box-shadow:0 18px 42px -14px rgba(201,162,39,.7), inset 0 1px 0 rgba(255,255,255,.55);}
  .btn-gold:hover::after{transform:translateX(130%);}
  .btn-ghost{background:transparent; color:var(--gold-deep); border-color:var(--line);}
  .btn-ghost:hover{border-color:var(--gold); color:var(--gold-3); transform:translateY(-3px); background:rgba(201,162,39,.07);}

  /* ---------- header ---------- */
  .header{position:fixed; inset:0 0 auto 0; z-index:50; transition:background .4s, box-shadow .4s, padding .4s;
    padding:18px 0; border-bottom:1px solid transparent;}
  .header.scrolled{background:rgba(255,255,255,.86); backdrop-filter:blur(14px) saturate(1.15);
    border-bottom:1px solid var(--line-soft); box-shadow:0 10px 30px -22px rgba(120,90,20,.5); padding:11px 0;}
  .nav{display:flex; align-items:center; justify-content:space-between; gap:24px;}
  .brand{display:flex; align-items:center; flex:none;}
  .brand img{height:46px; width:auto; transition:height .4s; filter:drop-shadow(0 3px 8px rgba(120,90,20,.22));}
  .header.scrolled .brand img{height:40px;}
  .nav-links{display:flex; align-items:center; gap:30px; margin-left:auto;}
  .nav-links a{font-size:.86rem; font-weight:600; letter-spacing:.06em; color:var(--ink); opacity:.78; position:relative; padding:4px 0; transition:opacity .3s, color .3s;}
  .nav-links a::after{content:""; position:absolute; left:0; bottom:-2px; width:0; height:1px; background:var(--gold-deep); transition:width .35s;}
  .nav-links a:hover{opacity:1; color:var(--gold-deep);}
  .nav-links a:hover::after{width:100%;}
  .nav .btn{padding:.7em 1.3em; font-size:.84rem;}
  .nav-links a.is-active{opacity:1; color:var(--gold-deep);}
  .nav-links a.is-active::after{width:100%;}
  .nav-actions{display:none; align-items:center; gap:10px; margin-left:auto;}
  .nav-phone-mini{display:none;}

  /* ---------- hero ---------- */
  .hero{position:relative; min-height:100svh; display:flex; align-items:center; overflow:hidden;
    padding:120px 0 90px; background:linear-gradient(180deg,#FFFDF8 0%, #FFFFFF 62%);}
  .hero-bg{position:absolute; inset:0; z-index:0;}
  .hero-bg .glow{position:absolute; border-radius:50%; filter:blur(76px); opacity:.55;}
  .hero-bg .g1{width:60vw; height:60vw; max-width:760px; max-height:760px; top:-20%; right:-12%;
    background:radial-gradient(circle, rgba(201,162,39,.20), transparent 62%); animation:breathe 11s ease-in-out infinite;}
  .hero-bg .g2{width:48vw; height:48vw; max-width:560px; max-height:560px; bottom:-24%; left:-14%;
    background:radial-gradient(circle, rgba(228,197,107,.24), transparent 64%); animation:breathe 13s ease-in-out infinite reverse;}
  .hero-bg::before{content:""; position:absolute; inset:0;
    background:radial-gradient(130% 100% at 50% 0%, transparent 62%, rgba(120,90,20,.05) 100%);}
  .hero-lotus{position:absolute; z-index:0; right:clamp(-160px,-6vw,-40px); top:50%; transform:translateY(-50%);
    width:min(680px,62vw); height:auto; color:var(--gold); opacity:.08; pointer-events:none;}
  .grain{position:absolute; inset:0; z-index:1; opacity:.025; pointer-events:none; mix-blend-mode:multiply;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

  .hero-inner{position:relative; z-index:3; max-width:780px;}
  .hero .kicker{margin-bottom:26px;}
  .hero h1{font-size:clamp(2.85rem,10.5vw,7rem); line-height:.92; letter-spacing:-.01em;}
  .hero h1 .h1-top{display:block; font-size:.34em; font-weight:600; letter-spacing:.4em; text-transform:uppercase;
    color:var(--gold-deep); margin:0 0 .55em .2em; font-family:"Mulish",sans-serif;}
  .hero h1 .h1-main{display:block;}
  .hero .hero-sub{font-family:"Cormorant Garamond",serif; font-style:italic; font-weight:500;
    font-size:clamp(1.3rem,3.2vw,1.9rem); color:var(--ink); opacity:.95; margin:22px 0 0;}
  .hero p.hero-desc{margin:24px 0 0; max-width:54ch; color:var(--ink-3); font-size:1.06rem;}
  .hero-cta{display:flex; flex-wrap:wrap; gap:16px; margin-top:38px;}
  .hero-trust{display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; margin-top:40px;
    font-size:.82rem; letter-spacing:.04em; color:var(--faint); font-weight:600;}
  .hero-trust span{display:inline-flex; align-items:center; gap:10px;}
  .hero-trust span::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--gold); box-shadow:0 0 8px rgba(201,162,39,.6);}

  .scrollcue{position:absolute; left:50%; bottom:26px; transform:translateX(-50%); z-index:3;
    display:flex; flex-direction:column; align-items:center; gap:10px; color:var(--faint);
    font-size:.66rem; letter-spacing:.34em; text-transform:uppercase;}
  .scrollcue i{width:1px; height:42px; background:linear-gradient(var(--gold-deep),transparent); position:relative; overflow:hidden;}
  .scrollcue i::after{content:""; position:absolute; top:-50%; left:0; width:100%; height:50%; background:var(--gold);
    animation:cue 2.2s ease-in-out infinite;}

  /* ---------- services ---------- */
  .grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:22px;}
  .card{position:relative; background:#FFFFFF;
    border:1px solid rgba(154,118,33,.16); border-radius:18px; padding:34px 30px 30px;
    overflow:hidden; box-shadow:0 18px 42px -30px rgba(120,90,20,.4);
    transition:transform .4s cubic-bezier(.2,.7,.3,1), border-color .4s, box-shadow .4s;}
  .card::before{content:""; position:absolute; inset:0; border-radius:inherit; padding:1px;
    background:linear-gradient(160deg,rgba(201,162,39,.55),transparent 42%); -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor; mask-composite:exclude; opacity:0; transition:opacity .4s;}
  .card::after{content:""; position:absolute; top:-40%; right:-30%; width:55%; height:80%; border-radius:50%;
    background:radial-gradient(circle, rgba(201,162,39,.12), transparent 70%); opacity:0; transition:opacity .45s;}
  .card:hover{transform:translateY(-7px); border-color:rgba(154,118,33,.34); box-shadow:0 30px 56px -30px rgba(120,90,20,.45);}
  .card:hover::before{opacity:1;}
  .card:hover::after{opacity:1;}
  .card__icon{display:inline-flex; align-items:center; justify-content:center; width:54px; height:54px; border-radius:14px;
    background:radial-gradient(circle at 30% 25%, rgba(201,162,39,.18), rgba(201,162,39,.05));
    border:1px solid rgba(154,118,33,.28); margin-bottom:20px; transition:transform .45s, background .4s;}
  .card__icon svg{width:26px; height:26px; color:var(--gold-deep); fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round;}
  .card:hover .card__icon{transform:translateY(-2px) rotate(-4deg); background:radial-gradient(circle at 30% 25%, rgba(201,162,39,.3), rgba(201,162,39,.08));}
  .card__title{font-size:1.6rem; color:var(--ink); letter-spacing:.01em; margin-bottom:12px;}
  .card__text{font-size:.95rem; color:var(--ink-3); line-height:1.7;}
  .card__link{display:inline-flex; align-items:center; gap:.5em; margin-top:22px; font-family:"Mulish",sans-serif;
    font-weight:700; font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-deep); transition:gap .3s, color .3s;}
  .card__link svg{width:1.1em; height:1.1em; transition:transform .35s;}
  .card__link:hover{color:var(--gold-3); gap:.8em;}
  .card__link:hover svg{transform:translateX(4px);}

  /* ---------- why / features ---------- */
  .feat-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:22px; margin-top:8px;}
  .feat{background:var(--cream); border:1px solid rgba(154,118,33,.16); border-radius:18px; padding:34px 28px;
    box-shadow:0 18px 40px -32px rgba(120,90,20,.4); transition:transform .4s, box-shadow .4s;}
  .feat:hover{transform:translateY(-6px); box-shadow:0 28px 50px -30px rgba(120,90,20,.42);}
  .feat__icon{width:56px; height:56px; border-radius:15px; display:flex; align-items:center; justify-content:center;
    background:var(--grad-gold); margin-bottom:20px; box-shadow:0 10px 24px -14px rgba(201,162,39,.7), inset 0 1px 0 rgba(255,255,255,.5);}
  .feat__icon svg{width:28px; height:28px; color:#3a2c0c; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round;}
  .feat h3{font-size:1.5rem; color:var(--ink); margin-bottom:9px;}
  .feat p{font-size:.93rem; color:var(--ink-3); line-height:1.65;}

  /* ---------- quote / cta band (gold) ---------- */
  .band{position:relative; overflow:hidden; text-align:center; color:#241B0B;
    background:linear-gradient(135deg,#F3DE96 0%,#E4C56B 30%,#D8B349 55%,#C9A227 100%);}
  .band::before, .band::after{content:""; position:absolute; left:50%; transform:translateX(-50%); height:1px; width:min(420px,70vw);}
  .band::before{top:0; background:linear-gradient(90deg,transparent,rgba(60,44,10,.45),transparent);}
  .band::after{bottom:0; background:linear-gradient(90deg,transparent,rgba(60,44,10,.45),transparent);}
  .band .gold-text{background:none; -webkit-background-clip:initial; background-clip:initial; -webkit-text-fill-color:#241B0B; color:#241B0B; text-shadow:none;}
  .band-tag{font-family:"Cormorant Garamond",serif; font-style:italic; font-size:clamp(1rem,2.4vw,1.25rem); color:#5A4412; letter-spacing:.04em;}
  .band h2{font-size:clamp(2.2rem,6vw,4.2rem); margin:16px auto 0; max-width:16ch;}
  .band p{max-width:50ch; margin:22px auto 0; color:#4A3A12; font-size:1.05rem;}
  .band .btn{margin-top:36px;}
  .band .btn-gold{background:#211A0E; color:#F6E6A8;
    box-shadow:0 16px 34px -14px rgba(40,30,6,.55), inset 0 1px 0 rgba(255,255,255,.08);}
  .band .btn-gold::after{background:linear-gradient(105deg,transparent 35%,rgba(246,230,168,.25) 50%,transparent 65%);}
  .band .btn-gold:hover{background:#2C2312; box-shadow:0 22px 42px -16px rgba(40,30,6,.6);}
  .band-dots{display:flex; align-items:center; justify-content:center; gap:14px; margin-top:30px; color:#3C2D0A;
    font-size:.8rem; letter-spacing:.4em; text-transform:uppercase; font-weight:700; font-family:"Mulish",sans-serif;}
  .band-dots b{font-weight:800; color:#241B0B;}
  .band-dots span{width:5px; height:5px; border-radius:50%; background:#5A4412;}

  /* ---------- contact ---------- */
  .contact-inner{display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(34px,6vw,80px); align-items:center;}
  .contact-phone{display:inline-flex; align-items:baseline; gap:0; font-family:"Cormorant Garamond",serif; font-weight:600;
    font-size:clamp(1.95rem,7.4vw,4rem); line-height:1; letter-spacing:.01em; margin:6px 0 0; white-space:nowrap; transition:opacity .3s;}
  .contact-phone:hover{opacity:.82;}
  .contact-label{font-size:.74rem; letter-spacing:.3em; text-transform:uppercase; color:var(--gold-deep); font-weight:700;}
  .contact-meta{margin-top:30px; display:flex; flex-direction:column; gap:16px;}
  .contact-meta .row{display:flex; align-items:flex-start; gap:14px; color:var(--ink-dim); font-size:.98rem;}
  .contact-meta .row svg{width:20px; height:20px; color:var(--gold-deep); flex:none; margin-top:3px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round;}
  .contact-card{background:#FFFFFF; border:1px solid rgba(154,118,33,.2);
    border-radius:22px; padding:clamp(32px,4vw,46px); text-align:center; box-shadow:var(--shadow);}
  .contact-card .mini-logo{height:60px; width:auto; margin:0 auto 22px; filter:drop-shadow(0 5px 12px rgba(120,90,20,.22));}
  .contact-card p{color:var(--ink-3); font-size:.96rem; margin-bottom:26px;}
  .contact-card .btn{width:100%; justify-content:center;}

  /* ---------- footer ---------- */
  .footer{background:#F1E8D8; border-top:1px solid rgba(154,118,33,.28); padding:64px 0 40px; color:#33291A;}
  .footer-top{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:28px;}
  .footer-brand img{height:54px; width:auto; margin-bottom:16px; filter:drop-shadow(0 4px 10px rgba(120,90,20,.2));}
  .footer-brand p{color:#6E6149; font-size:.86rem; letter-spacing:.06em; max-width:34ch;}
  .footer-links{display:flex; flex-wrap:wrap; gap:24px;}
  .footer-links a{font-size:.86rem; color:#5A4F3D; font-weight:600; letter-spacing:.04em; transition:color .3s;}
  .footer-links a:hover{color:var(--gold-deep);}
  .footer-phone{font-family:"Cormorant Garamond",serif; font-size:1.9rem; color:var(--gold-deep); font-weight:600; transition:color .3s;}
  .footer-phone:hover{color:var(--gold-3);}
  .footer-rule{height:1px; background:rgba(154,118,33,.22); margin:38px 0 26px;}
  .footer-bottom{display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px; align-items:center;}
  .footer-bottom small{color:#897E69; font-size:.78rem; letter-spacing:.03em;}
  .footer-seo{color:#A89A80; font-size:.74rem; letter-spacing:.05em;}

  /* footer sitemap grid */
  .footer-grid{display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:clamp(26px,4vw,48px);}
  .footer-col h3{font-family:"Mulish",sans-serif; font-weight:800; font-size:.72rem;
    letter-spacing:.24em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:18px;}
  .footer-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px;}
  .footer-col a{font-size:.88rem; color:#5A4F3D; font-weight:600; transition:color .28s, padding-left .28s;}
  .footer-col a:hover{color:var(--gold-deep); padding-left:4px;}
  .footer-col .footer-nap{display:flex; gap:11px; align-items:flex-start; font-size:.86rem;
    color:#5A4F3D; line-height:1.6; margin-bottom:14px;}
  .footer-col .footer-nap svg{width:17px; height:17px; color:var(--gold-deep); flex:none; margin-top:3px;
    fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round;}
  .footer-col .footer-nap address{font-style:normal;}
  .footer-maps-btn{display:inline-flex; align-items:center; gap:.55em; margin-top:6px;
    font-family:"Mulish",sans-serif; font-weight:700; font-size:.78rem; letter-spacing:.06em;
    text-transform:uppercase; color:var(--gold-deep); border:1px solid rgba(154,118,33,.3);
    border-radius:999px; padding:.62em 1.15em; transition:background .3s, border-color .3s, color .3s;}
  .footer-maps-btn svg{width:1.05em; height:1.05em; fill:none; stroke:currentColor; stroke-width:1.6;
    stroke-linecap:round; stroke-linejoin:round;}
  .footer-maps-btn:hover{background:rgba(201,162,39,.1); border-color:var(--gold); color:var(--gold-3); padding-left:1.15em;}

  /* ---------- bottom tab bar (mobile) ---------- */
  .tabbar{position:fixed; left:0; right:0; bottom:0; z-index:60; display:none;
    padding:0 6px calc(env(safe-area-inset-bottom)); background:rgba(255,253,249,.94);
    backdrop-filter:blur(18px) saturate(1.2); -webkit-backdrop-filter:blur(18px) saturate(1.2);
    border-top:1px solid rgba(154,118,33,.2);
    box-shadow:0 -14px 34px -22px rgba(120,90,20,.55);}
  .tabbar::before{content:""; position:absolute; left:50%; top:-1px; transform:translateX(-50%);
    width:min(360px,70%); height:1px;
    background:linear-gradient(90deg,transparent,var(--gold-deep),transparent); opacity:.5;}
  .tabbar-inner{display:grid; grid-template-columns:repeat(3,1fr); align-items:end; gap:4px;
    max-width:460px; margin:0 auto;}
  .tab{position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:8px; padding:13px 4px 11px; min-height:70px; color:#6E6353; font-family:"Mulish",sans-serif;
    font-weight:700; font-size:.78rem; letter-spacing:.02em; line-height:1.1; text-align:center;
    border-radius:16px; transition:color .28s, background .28s;
    -webkit-tap-highlight-color:transparent;}
  .tab svg{width:27px; height:27px; flex:none; fill:none; stroke:currentColor; stroke-width:1.5;
    stroke-linecap:round; stroke-linejoin:round; transition:transform .3s cubic-bezier(.2,.7,.3,1);}
  .tab span{display:block; white-space:nowrap;}
  .tab::after{content:""; position:absolute; top:4px; left:50%; transform:translateX(-50%) scaleX(0);
    width:30px; height:2px; border-radius:2px; background:var(--grad-gold);
    transition:transform .32s cubic-bezier(.2,.7,.3,1);}
  .tab:active{background:rgba(201,162,39,.09);}
  .tab.is-active{color:var(--gold-deep);}
  .tab.is-active::after{transform:translateX(-50%) scaleX(1);}
  .tab.is-active svg{transform:translateY(-1px);}

  /* raised center call button */
  .tab-call{margin-top:-40px; gap:0; padding:0; min-height:0; color:#1B130A;}
  .tab-call .tab-call__btn{display:flex; align-items:center; justify-content:center;
    width:70px; height:70px; border-radius:50%; background:var(--grad-gold); color:#1B130A;
    border:4px solid rgba(255,253,249,.96);
    box-shadow:0 16px 32px -10px rgba(201,162,39,.8), inset 0 1px 0 rgba(255,255,255,.6);
    animation:fabpulse 2.8s ease-out infinite; transition:transform .3s cubic-bezier(.2,.7,.3,1);}
  .tab-call .tab-call__btn svg{width:31px; height:31px; stroke-width:1.6;}
  .tab-call span{margin-top:6px; color:var(--gold-deep); font-size:.78rem;}
  .tab-call:active .tab-call__btn{transform:scale(.94); animation:none;}
  .tab-call::after{display:none;}

  /* ---------- floating call button (desktop) ---------- */
  .callfab-stack{position:fixed; right:26px; bottom:26px; z-index:60;
    display:flex; flex-direction:column; align-items:center; gap:14px;}

  .callfab{width:62px; height:62px; border-radius:50%;
    display:flex; align-items:center; justify-content:center; background:var(--grad-gold); color:#1B130A;
    box-shadow:0 16px 34px -12px rgba(201,162,39,.65), inset 0 1px 0 rgba(255,255,255,.55);
    transition:transform .35s; animation:fabpulse 2.6s ease-out infinite; position:relative;}
  .callfab svg{width:26px; height:26px;}
  .callfab:hover{transform:scale(1.08) translateY(-2px); animation:none;}

  /* yol tarifi (maps) fab — telefonun üstünde, daha sakin */
  .mapsfab{width:52px; height:52px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    background:rgba(255,255,255,.92); color:var(--gold-deep);
    border:1px solid rgba(154,118,33,.28); backdrop-filter:blur(10px);
    box-shadow:0 12px 26px -14px rgba(120,90,20,.55);
    transition:transform .35s, background .3s, color .3s;}
  .mapsfab svg{width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.6;
    stroke-linecap:round; stroke-linejoin:round;}
  .mapsfab:hover{transform:translateY(-3px); background:#fff; color:var(--gold-3);}

  /* ---------- mobile drawer ---------- */
  .nav-burger{display:none; align-items:center; justify-content:center; width:44px; height:44px;
    border-radius:14px; background:rgba(255,255,255,.7); border:1px solid rgba(154,118,33,.24);
    color:var(--gold-deep); cursor:pointer; padding:0; flex:none;
    transition:background .3s, border-color .3s; -webkit-tap-highlight-color:transparent;}
  .nav-burger span{display:block; width:19px; height:1.6px; border-radius:2px; background:currentColor;
    position:relative; transition:transform .32s cubic-bezier(.2,.7,.3,1), opacity .22s;}
  .nav-burger span::before, .nav-burger span::after{content:""; position:absolute; left:0; width:19px;
    height:1.6px; border-radius:2px; background:currentColor;
    transition:transform .32s cubic-bezier(.2,.7,.3,1);}
  .nav-burger span::before{top:-6px;}
  .nav-burger span::after{top:6px;}
  .nav-burger.is-open span{background:transparent;}
  .nav-burger.is-open span::before{transform:translateY(6px) rotate(45deg);}
  .nav-burger.is-open span::after{transform:translateY(-6px) rotate(-45deg);}

  html.nav-locked, html.nav-locked body{overflow:hidden;}

  .drawer{position:fixed; inset:0; z-index:70; visibility:hidden; opacity:0;
    transition:opacity .35s ease, visibility .35s;}
  .drawer.open{visibility:visible; opacity:1;}
  .drawer__scrim{position:absolute; inset:0; background:rgba(33,26,18,.42); backdrop-filter:blur(3px);}
  .drawer__panel{position:absolute; top:0; right:0; bottom:0; width:min(340px,86vw);
    background:linear-gradient(180deg,#FFFDF8 0%,#F8F3EA 100%);
    border-left:1px solid rgba(154,118,33,.24); box-shadow:-24px 0 60px -30px rgba(120,90,20,.6);
    padding:22px 24px calc(26px + env(safe-area-inset-bottom)); overflow-y:auto;
    display:flex; flex-direction:column;
    transform:translateX(100%); transition:transform .42s cubic-bezier(.2,.7,.3,1);}
  .drawer.open .drawer__panel{transform:none;}
  .drawer__head{display:flex; align-items:center; justify-content:space-between; gap:16px;
    padding-bottom:20px; border-bottom:1px solid var(--line-soft);}
  .drawer__head img{height:40px; width:auto;}
  .drawer__close{width:38px; height:38px; border-radius:12px; display:flex; align-items:center;
    justify-content:center; background:transparent; border:1px solid rgba(154,118,33,.24);
    color:var(--gold-deep); cursor:pointer; flex:none;}
  .drawer__close svg{width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round;}
  .drawer-nav{display:flex; flex-direction:column; margin-top:12px;}
  .drawer-nav a{display:flex; align-items:center; gap:14px; padding:15px 4px;
    font-family:"Mulish",sans-serif; font-weight:700; font-size:.98rem; color:var(--ink);
    border-bottom:1px solid var(--line-soft); transition:color .28s, padding-left .28s;}
  .drawer-nav a svg{width:19px; height:19px; color:var(--gold-deep); flex:none; fill:none;
    stroke:currentColor; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round;}
  .drawer-nav a:hover{color:var(--gold-deep); padding-left:8px;}
  .drawer-nav a.is-active{color:var(--gold-deep);}
  .drawer-nav a.is-active::after{content:""; width:6px; height:6px; border-radius:50%;
    background:var(--grad-gold); margin-left:auto;}
  .drawer__cta{margin-top:auto; padding-top:24px; display:flex; flex-direction:column; gap:11px;}
  .drawer__cta .btn{width:100%; justify-content:center;}
  .drawer__addr{margin-top:18px; font-size:.82rem; color:var(--ink-3); line-height:1.6;
    display:flex; gap:10px; align-items:flex-start;}
  .drawer__addr svg{width:17px; height:17px; color:var(--gold-deep); flex:none; margin-top:3px;
    fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round;}

  /* ---------- breadcrumb ---------- */
  .crumbs{display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:.78rem;
    color:var(--faint); font-weight:600; letter-spacing:.03em;}
  .crumbs a{color:var(--faint); transition:color .28s;}
  .crumbs a:hover{color:var(--gold-deep);}
  .crumbs svg{width:12px; height:12px; opacity:.6; fill:none; stroke:currentColor; stroke-width:2;
    stroke-linecap:round; stroke-linejoin:round;}
  .crumbs [aria-current]{color:var(--gold-deep);}

  /* ---------- page hero (iç sayfalar) ---------- */
  .page-hero{position:relative; overflow:hidden; padding:clamp(128px,15vw,178px) 0 clamp(52px,7vw,84px);
    background:linear-gradient(180deg,#FFFDF8 0%,#F8F3EA 100%); border-bottom:1px solid var(--line-soft);}
  .page-hero::before{content:""; position:absolute; width:56vw; height:56vw; max-width:620px; max-height:620px;
    top:-32%; right:-12%; border-radius:50%; filter:blur(72px); opacity:.5;
    background:radial-gradient(circle,rgba(201,162,39,.22),transparent 64%);}
  .page-hero .wrap{position:relative; z-index:2;}
  .page-hero h1{font-size:clamp(2.3rem,6.4vw,4.2rem); margin:18px 0 0; letter-spacing:-.005em;}
  .page-hero .lead{margin-top:20px; font-size:1.08rem;}
  .page-hero .crumbs{margin-bottom:22px;}
  .page-hero-cta{display:flex; flex-wrap:wrap; gap:14px; margin-top:34px;}

  /* ---------- map + address ---------- */
  .map-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(26px,4vw,48px); align-items:stretch;}
  .map-embed{position:relative; border-radius:20px; overflow:hidden; min-height:380px;
    border:1px solid rgba(154,118,33,.24); box-shadow:var(--shadow); background:var(--cream-2);}
  .map-embed iframe{position:absolute; inset:0; width:100%; height:100%; border:0; display:block;}
  .map-embed::after{content:"Harita yükleniyor…"; position:absolute; inset:0; display:flex;
    align-items:center; justify-content:center; font-size:.85rem; letter-spacing:.12em;
    text-transform:uppercase; color:var(--faint); pointer-events:none;}
  .map-embed[data-loaded="1"]::after{display:none;}

  .addr-card{background:#FFFFFF; border:1px solid rgba(154,118,33,.2); border-radius:20px;
    padding:clamp(28px,3.4vw,40px); box-shadow:var(--shadow); display:flex; flex-direction:column;}
  .addr-row{display:flex; gap:15px; align-items:flex-start; padding:17px 0;
    border-bottom:1px solid var(--line-soft);}
  .addr-row:first-of-type{padding-top:0;}
  .addr-row:last-of-type{border-bottom:0;}
  .addr-row svg{width:20px; height:20px; color:var(--gold-deep); flex:none; margin-top:3px;
    fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round;}
  .addr-row dt{font-size:.7rem; letter-spacing:.24em; text-transform:uppercase;
    color:var(--gold-deep); font-weight:700; margin-bottom:5px;}
  .addr-row dd{margin:0; color:var(--ink); font-size:1rem; line-height:1.6;}
  .addr-row dd a{transition:color .28s;}
  .addr-row dd a:hover{color:var(--gold-deep);}
  .addr-actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:26px;}
  .addr-actions .btn{flex:1 1 190px; justify-content:center;}
  .maps-hint{margin-top:14px; font-size:.76rem; color:var(--faint); letter-spacing:.03em;}

  /* ---------- content prose (iç sayfa metinleri) ---------- */
  .prose{max-width:74ch;}
  .prose h2{font-size:clamp(1.9rem,4vw,2.8rem); color:var(--ink); margin:46px 0 16px;}
  .prose h2:first-child{margin-top:0;}
  .prose h3{font-size:clamp(1.35rem,2.6vw,1.7rem); color:var(--ink); margin:32px 0 12px;}
  .prose p{color:var(--ink-3); font-size:1.02rem; margin-bottom:16px;}
  .prose p:last-child{margin-bottom:0;}
  .prose ul{margin:0 0 20px; padding-left:0; list-style:none; display:flex; flex-direction:column; gap:11px;}
  .prose li{display:flex; gap:12px; align-items:flex-start; color:var(--ink-3); font-size:1rem; line-height:1.65;}
  .prose li svg{width:18px; height:18px; color:var(--gold-deep); flex:none; margin-top:4px;
    fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;}
  .prose strong{color:var(--ink); font-weight:700;}

  /* ---------- FAQ ---------- */
  .faq{display:flex; flex-direction:column; gap:12px; max-width:860px; margin:0 auto;}
  .faq details{background:#FFFFFF; border:1px solid rgba(154,118,33,.18); border-radius:16px;
    padding:0 22px; box-shadow:0 16px 38px -32px rgba(120,90,20,.4); transition:border-color .3s;}
  .faq details[open]{border-color:rgba(154,118,33,.34);}
  .faq summary{cursor:pointer; list-style:none; padding:20px 0; display:flex; align-items:center;
    gap:14px; font-family:"Cormorant Garamond",serif; font-weight:600; font-size:1.25rem;
    color:var(--ink);}
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary::after{content:""; margin-left:auto; width:9px; height:9px; flex:none;
    border-right:1.6px solid var(--gold-deep); border-bottom:1.6px solid var(--gold-deep);
    transform:rotate(45deg) translateY(-2px); transition:transform .3s;}
  .faq details[open] summary::after{transform:rotate(225deg) translateY(-2px);}
  .faq .faq__a{padding:0 0 21px; color:var(--ink-3); font-size:.98rem; line-height:1.72;}

  /* ---------- next-page / related links ---------- */
  .nextlinks{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px;}
  .nextlink{display:flex; flex-direction:column; gap:9px; background:#FFFFFF;
    border:1px solid rgba(154,118,33,.18); border-radius:18px; padding:26px 24px;
    box-shadow:0 18px 42px -34px rgba(120,90,20,.42);
    transition:transform .38s cubic-bezier(.2,.7,.3,1), border-color .35s, box-shadow .35s;}
  .nextlink:hover{transform:translateY(-6px); border-color:rgba(154,118,33,.36);
    box-shadow:0 28px 54px -32px rgba(120,90,20,.46);}
  .nextlink svg.nextlink__ico{width:26px; height:26px; color:var(--gold-deep); fill:none;
    stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round;}
  .nextlink h3{font-size:1.42rem; color:var(--ink);}
  .nextlink p{font-size:.92rem; color:var(--ink-3); line-height:1.6;}
  .nextlink span{margin-top:auto; padding-top:12px; display:inline-flex; align-items:center; gap:.5em;
    font-family:"Mulish",sans-serif; font-weight:700; font-size:.78rem; letter-spacing:.08em;
    text-transform:uppercase; color:var(--gold-deep);}
  .nextlink span svg{width:1.05em; height:1.05em; transition:transform .3s;}
  .nextlink:hover span svg{transform:translateX(4px);}

  /* ---------- reveal ---------- */
  [data-reveal]{opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s cubic-bezier(.2,.7,.3,1);}
  [data-reveal].in{opacity:1; transform:none;}
  .grid [data-reveal].in{transition-delay:var(--d,0ms);}

  /* hero load */
  body:not(.loaded) .hero-inner > *{opacity:0; transform:translateY(24px);}
  .hero-inner > *{transition:opacity .9s ease, transform .9s cubic-bezier(.2,.7,.3,1);}
  body.loaded .hero .kicker{transition-delay:.05s;}
  body.loaded .hero h1{transition-delay:.18s;}
  body.loaded .hero .hero-sub{transition-delay:.34s;}
  body.loaded .hero .hero-desc{transition-delay:.46s;}
  body.loaded .hero .hero-cta{transition-delay:.58s;}
  body.loaded .hero .hero-trust{transition-delay:.7s;}

  @keyframes breathe{0%,100%{transform:scale(1); opacity:.5;}50%{transform:scale(1.12); opacity:.62;}}
  @keyframes cue{0%{top:-50%;}60%,100%{top:100%;}}
  @keyframes fabpulse{0%{box-shadow:0 16px 34px -12px rgba(201,162,39,.65), 0 0 0 0 rgba(201,162,39,.45);}
    70%{box-shadow:0 16px 34px -12px rgba(201,162,39,.65), 0 0 0 16px rgba(201,162,39,0);}
    100%{box-shadow:0 16px 34px -12px rgba(201,162,39,.65), 0 0 0 0 rgba(201,162,39,0);}}

  /* ---------- responsive ---------- */
  .section[id]{scroll-margin-top:88px;}
  @media (max-width:1080px){
    .nav-links{gap:20px;}
    .nav-links a{font-size:.8rem;}
  }
  @media (max-width:980px){
    .map-grid{grid-template-columns:1fr;}
    .map-embed{min-height:320px;}
    .footer-grid{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:560px){
    .footer-grid{grid-template-columns:1fr; gap:32px;}
  }
  @media (max-width:900px){
    .contact-inner{grid-template-columns:1fr;}
  }
  @media (max-width:860px){
    .nav-links{display:none;}
    .nav-actions{display:flex;}
    .nav-burger{display:flex;}
    .nav-phone-mini{display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%;
      background:var(--grad-gold); color:#1B130A; border:none;
      box-shadow:0 8px 22px -8px rgba(201,162,39,.7), inset 0 1px 0 rgba(255,255,255,.55);
      transition:transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s;}
    .nav-phone-mini svg{width:19px; height:19px;}
  }
  @media (max-width:760px){
    .nav-links{display:none;}
    .nav-phone-mini{display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%;
      background:var(--grad-gold); color:#1B130A; border:none;
      box-shadow:0 8px 22px -8px rgba(201,162,39,.7), inset 0 1px 0 rgba(255,255,255,.55);
      transition:transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s;}
    .nav-phone-mini:hover{transform:translateY(-1px) scale(1.05); box-shadow:0 12px 28px -8px rgba(201,162,39,.85), inset 0 1px 0 rgba(255,255,255,.6);}
    .nav-phone-mini svg{width:19px; height:19px;}
    .tabbar{display:block;}
    .callfab-stack{display:none;}
    body{padding-bottom:96px;}
    .scrollcue{display:none;}
    .hero{min-height:auto; padding-top:118px;}
    .footer-phone{font-size:1.6rem;}
    .addr-actions .btn{flex:1 1 100%;}
    .page-hero{padding-top:120px;}
  }
  /* 430 and narrower */
  @media (max-width:430px){
    .wrap{padding:0 18px;}
    .card{padding:30px 24px 26px;}
    .hero-cta .btn{flex:1 1 auto; justify-content:center;}
    .footer-top{gap:22px;}
    .footer-top > div[style]{text-align:left !important;}
    .footer-links{justify-content:flex-start !important;}
  }
  /* 390 / 360 / 320 fine tuning */
  @media (max-width:400px){
    .wrap{padding:0 16px;}
    .eyebrow{font-size:.64rem; letter-spacing:.2em; gap:9px;}
    .eyebrow::before{width:22px;}
    .eyebrow.center::after{width:22px;}
    .hero h1{font-size:clamp(2.6rem,13vw,3.2rem);}
    .hero h1 .h1-top{font-size:.3em; letter-spacing:.34em;}
    .hero .hero-sub{font-size:1.22rem;}
    .hero p.hero-desc{font-size:1rem;}
    .head-block h2{font-size:2.05rem;}
    .lead{font-size:1rem;}
    .card{padding:26px 22px 24px;}
    .card__title{font-size:1.45rem;}
    .feat{padding:28px 22px;}
    .feat h3{font-size:1.38rem;}
    .band h2{font-size:2.05rem;}
    .contact-phone{font-size:7.6vw;}
    .footer-phone{font-size:1.5rem;}
    .page-hero h1{font-size:2.2rem;}
    .prose h2{font-size:1.85rem;}
    .addr-card{padding:26px 22px;}
    .tab{font-size:.74rem;}
    .tab svg{width:26px; height:26px;}
  }
  @media (max-width:360px){
    .hero h1{font-size:2.45rem;}
    .hero .hero-sub{font-size:1.16rem;}
    .head-block h2{font-size:1.92rem;}
    .band h2{font-size:1.92rem;}
    .page-hero h1{font-size:2.05rem;}
    .tab{font-size:.71rem;}
    .tab svg{width:25px; height:25px;}
    .tab-call .tab-call__btn{width:66px; height:66px;}
    .tab-call .tab-call__btn svg{width:29px; height:29px;}
    .tab-call{margin-top:-37px;}
  }
  @media (max-width:330px){
    .hero h1{font-size:2.25rem;}
    .footer-phone{font-size:1.35rem;}
    .tab{font-size:.68rem;}
    .tab svg{width:24px; height:24px;}
    .tab-call .tab-call__btn{width:62px; height:62px;}
    .tab-call{margin-top:-35px;}
  }
  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    *,*::before,*::after{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important;}
    [data-reveal]{opacity:1; transform:none;}
    body:not(.loaded) .hero-inner > *{opacity:1; transform:none;}
  }
