/* Lower site: supplied floral artwork with a deep evergreen and ivory palette. */
:root{--lower-green:#10231c;--lower-green-deep:#0b1713;--lower-gold:#d3aa68;--lower-line:rgba(215,179,111,.34)}
.page-index .light-cta{
  padding:clamp(32px,4vw,58px) 0!important;
  background:linear-gradient(110deg,rgba(255,253,248,.96),rgba(244,234,218,.91))!important;
  border-block:1px solid #dcc8a7;
  backdrop-filter:none
}
.page-index .light-cta-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px 45px}
.page-index .light-cta-copy{min-width:0}
.page-index .light-cta-copy .eyebrow{font-size:.62rem;color:#9c7442}
.page-index .light-cta h2{font-size:clamp(1.45rem,2.3vw,2.35rem);line-height:1.14;margin:10px 0 7px;color:#26231f}
.page-index .light-cta p{font-size:.86rem;line-height:1.5;color:#6d6458;margin:0}
.page-index .light-cta-actions{display:grid;grid-template-columns:repeat(2,minmax(135px,1fr));align-items:center;gap:11px 13px}
.page-index .light-cta-actions .btn{min-height:49px;min-width:0;padding-inline:20px;white-space:nowrap}
.page-index .light-cta-actions .btn-primary{background:linear-gradient(120deg,#d5aa66,#a97d43);border-color:#b58c51;color:#fff}

.page-index .process-section,.page-hizmetler .process-section{padding:clamp(64px,6vw,94px) 0}
.process-section .section-heading{margin-bottom:34px}
.process-section .section-heading h2{font-size:clamp(1.95rem,3vw,3rem)}
.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.process-step{
  min-width:0;min-height:205px;position:relative;display:flex;flex-direction:column;
  align-items:flex-start;text-align:left;padding:24px;
  background:rgba(255,252,247,.83);border:1px solid rgba(178,143,89,.28);
  border-top:2px solid #bb965c;box-shadow:0 15px 32px rgba(63,45,24,.055);
  backdrop-filter:blur(8px)
}
.process-step:not(:last-child)::after{display:none}
.process-number{font:700 .67rem var(--sans);letter-spacing:.2em;color:#9c7440;margin:0 0 12px}
.process-icon{
  width:48px;height:48px;margin:0 0 14px;border-radius:50%;
  background:#172920;color:#dbb778
}
.process-icon .icon{width:22px;height:22px}
.process-copy{min-width:0}
.process-step h3{font-size:1.18rem;line-height:1.22;text-transform:none;margin:0 0 7px;color:#28241f}
.process-step p{font-size:.8rem;line-height:1.55;margin:0;color:#686056}
.page-hizmetler .process-grid{gap:14px}
.page-hizmetler .process-step{min-height:205px}
.page-hizmetler .process-number{font-size:.67rem;margin-bottom:12px}
.page-hizmetler .process-icon{width:48px;height:48px;margin-bottom:14px}
.page-hizmetler .process-icon .icon{width:22px;height:22px}
.page-hizmetler .process-step h3{font-size:1.18rem;margin-bottom:7px}
.page-hizmetler .process-step p{font-size:.8rem}
.page-hizmetler .process-section .section-heading{margin-bottom:34px}
.page-hizmetler .process-section .section-heading h2{font-size:clamp(1.95rem,3vw,3rem)}

/* A calm evergreen ground. The floral detail lives only in the corners. */
main>section.dark-cta,.site-footer,.page-iletisim main>section.contact-page,.page-iletisim main>section.contact-assurances{
  color:#f7f2e9;
  background-image:radial-gradient(circle at 8% 8%,rgba(191,151,82,.075),transparent 24%),radial-gradient(circle at 95% 95%,rgba(191,151,82,.06),transparent 25%),linear-gradient(140deg,#12241d,#0b1713)!important;
  background-color:var(--lower-green)!important;
  background-position:center!important;
  background-size:auto!important;
  background-repeat:no-repeat!important
}
main>section.dark-cta{
  padding:clamp(52px,5vw,83px) 0!important;
  border-top:1px solid #c8a46e;border-bottom:1px solid var(--lower-line)
}
.dark-cta::before{display:none}
.dark-cta-inner{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);align-items:center;gap:40px}
.dark-cta .eyebrow{color:#d9b778}
.dark-cta h2{font-size:clamp(2rem,3vw,3.35rem);line-height:1.12;max-width:800px;margin:15px 0 12px}
.dark-cta p{font-size:.9rem;line-height:1.6;color:#d0c9bc}
.dark-cta-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:none}
.dark-cta-actions .btn{min-width:0;min-height:49px;padding-inline:13px;white-space:nowrap}
.dark-cta-actions .btn-primary{background:linear-gradient(120deg,#d6ae70,#a8783c);border-color:#d5ae72;color:#181d18}
.dark-cta-actions .btn-outline{background:rgba(255,253,246,.95);border-color:#d8bd91;color:#24251e}
.page-hizmetler .dark-cta h2{font-size:clamp(2rem,3vw,3.35rem);margin:15px 0 12px}
.page-hizmetler .dark-cta p{font-size:.9rem}

/* Contact page: address, form and a live map each get their own clear column. */
.page-iletisim main>section.contact-page{padding:clamp(62px,5vw,90px) 0!important;min-height:0;overflow:hidden}
.page-iletisim .contact-grid{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) minmax(275px,.86fr);
  align-items:start;gap:clamp(22px,2.4vw,42px)
}
.page-iletisim .contact-info{padding:0;min-width:0}
.page-iletisim .contact-info .eyebrow,.page-iletisim .contact-form-heading .eyebrow,.contact-map-info .eyebrow{color:#d5ad6a}
.page-iletisim .contact-info h1{font-size:clamp(2.35rem,3.2vw,3.65rem);line-height:1.1;text-transform:none;letter-spacing:-.04em;color:#fffaf1;margin:16px 0 16px}
.page-iletisim .contact-info h1 em{color:#d2aa6b;font-style:normal}
.page-iletisim .contact-info>p{max-width:480px;font-size:.9rem;line-height:1.65;color:#d8d2c7;margin:0}
.page-iletisim .contact-links{display:grid;gap:3px;margin:22px 0 0}
.page-iletisim .contact-links a{
  display:flex;align-items:flex-start;gap:12px;min-width:0;
  padding:12px 0;border:0;border-bottom:1px solid rgba(222,190,136,.2);color:#f8f4ed
}
.page-iletisim .contact-links a:hover strong{color:#e8c787}
.page-iletisim .contact-links a>.icon{
  flex:none;width:38px;height:38px;padding:9px;border:1px solid #caa263;
  border-radius:50%;color:#e3bd7b;background:rgba(10,24,20,.45)
}
.page-iletisim .contact-links a>span{min-width:0;display:grid;gap:1px}
.page-iletisim .contact-links small{font-size:.61rem;letter-spacing:.17em;color:#d6ae70}
.page-iletisim .contact-links strong{font:500 1.13rem/1.25 var(--serif);overflow-wrap:anywhere}
.page-iletisim .contact-links em{font-style:normal;font-size:.72rem;line-height:1.4;color:#c8c5bb;overflow-wrap:anywhere}
.page-iletisim .contact-form-column{padding:0;border:0;min-width:0}
.page-iletisim .contact-form-heading{text-align:left}
.page-iletisim .contact-form-heading .eyebrow::before{display:block}
.page-iletisim .contact-form-heading h2{font:500 clamp(1.65rem,2.1vw,2.3rem)/1.2 var(--serif);letter-spacing:-.025em;text-transform:none;color:#fffaf2;margin:14px 0 8px}
.page-iletisim .contact-form-heading p{font-size:.78rem;line-height:1.5;color:#cbc8bc;margin:0 0 20px}
.page-iletisim .contact-form-wrap{
  padding:0!important;background:transparent!important;box-shadow:none;border:0;backdrop-filter:none
}
.page-iletisim .contact-form-wrap form{display:grid;gap:13px;margin:0}
.page-iletisim .contact-form-wrap label{display:grid;gap:5px;font-size:.66rem;letter-spacing:.08em;color:#dacbb2}
.page-iletisim .contact-form-wrap input,.page-iletisim .contact-form-wrap select,.page-iletisim .contact-form-wrap textarea{
  width:100%;min-height:44px;padding:11px 13px;border:1px solid rgba(217,194,154,.4);
  border-radius:8px;background:rgba(255,252,245,.075)!important;color:#f7f3eb;
  font-size:.85rem;letter-spacing:0;outline:none
}
.page-iletisim .contact-form-wrap textarea{min-height:104px;resize:vertical}
.page-iletisim .contact-form-wrap input::placeholder,.page-iletisim .contact-form-wrap textarea::placeholder{color:#bfbcb3}
.page-iletisim .contact-form-wrap select option{color:#1b241f;background:#f9f5ec}
.page-iletisim .contact-form-wrap input:focus,.page-iletisim .contact-form-wrap select:focus,.page-iletisim .contact-form-wrap textarea:focus{
  border-color:#e8bd77;box-shadow:0 0 0 3px rgba(225,182,109,.14)
}
.page-iletisim .contact-form-wrap button{
  width:100%;min-height:49px;margin-top:3px;justify-self:stretch;
  background:linear-gradient(120deg,#d8b071,#a97a3d);border:1px solid #deb979;
  color:#142018;font-size:.72rem;letter-spacing:.08em
}
.page-iletisim .contact-map{
  min-width:0;overflow:hidden;border:1px solid #bd955d;border-radius:16px;
  background:#233128;box-shadow:0 20px 46px rgba(0,0,0,.16)
}
.page-iletisim .contact-map iframe{display:block;width:100%;height:clamp(260px,26vw,390px);border:0;filter:grayscale(.55) sepia(.12)}
.page-iletisim .contact-map-info{padding:20px;background:rgba(12,30,23,.96)}
.page-iletisim .contact-map-info .eyebrow{font-size:.57rem}
.page-iletisim .contact-map-info strong{display:block;font:500 1.3rem var(--serif);margin:9px 0 5px}
.page-iletisim .contact-map-info p{font-size:.74rem;line-height:1.5;color:#c9c7bb;margin:0 0 13px;overflow-wrap:anywhere}
.page-iletisim .contact-map-info a{
  display:inline-flex;align-items:center;gap:8px;color:#e5bb78;
  font-size:.68rem;font-weight:700;letter-spacing:.08em
}
.page-iletisim .contact-map-info a .icon{width:16px;height:16px}
.page-iletisim main>section.contact-assurances{
  border-top:1px solid var(--lower-line);border-bottom:1px solid var(--lower-line)
}
.contact-assurances .container{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.contact-assurances .container>div{
  min-width:0;display:flex;align-items:center;gap:11px;padding:20px;
  border-right:1px solid var(--lower-line)
}
.contact-assurances .container>div:first-child{border-left:1px solid var(--lower-line)}
.contact-assurances .icon{flex:none;width:32px;height:32px;color:#e0b875}
.contact-assurances strong{font:500 .92rem var(--serif);color:#f7f1e7}
.contact-assurances small{font-size:.67rem;line-height:1.35;color:#c9c5b9}

/* Footer shares the dark artwork and uses the same content rails as the page. */
.site-footer{
  padding:clamp(54px,5vw,78px) 0 0;
  border-top:1px solid var(--lower-line);
  overflow:hidden
}
.footer-grid{
  display:grid;grid-template-columns:minmax(210px,1.35fr) minmax(115px,.7fr) minmax(160px,1fr) minmax(200px,1fr);
  align-items:start;gap:clamp(25px,3vw,52px)
}
.footer-grid>div{min-width:0}
.site-footer .brand-footer .brand-copy strong{color:#fffaf2}
.site-footer .brand-footer .brand-copy small{color:#d9b677}
.site-footer .footer-intro p{max-width:310px;margin:21px 0 13px;color:#c9c7bd;font-size:.82rem;line-height:1.65}
.site-footer .footer-domain{font-size:.74rem;color:#d3a96b}
.footer-grid h3{font-size:.68rem;color:#dbb575;letter-spacing:.17em;margin:3px 0 19px}
.footer-grid>div:not(:first-child){display:flex;flex-direction:column;align-items:flex-start}
.footer-grid>div>a:not(.brand){
  display:inline-flex;align-items:flex-start;gap:8px;max-width:100%;
  margin:0 0 11px;color:#e3dfd4;font-size:.77rem;line-height:1.45;
  overflow-wrap:anywhere
}
.footer-grid>div>a:not(.brand):hover{color:#e9c385}
.footer-grid .icon{flex:none;width:16px;height:16px;color:#d5ad70;margin-top:1px}
.footer-contact .footer-address span{overflow-wrap:anywhere}
.footer-bottom{
  display:flex;justify-content:space-between;gap:16px;margin-top:52px;
  padding:22px 0;border-top:1px solid var(--lower-line);
  color:#b6b6ad;font-size:.72rem
}
@media(max-width:1200px){
  .page-iletisim .contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}
  .page-iletisim .contact-map{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr)}
  .page-iletisim .contact-map iframe{height:285px}
  .page-iletisim .contact-map-info{display:flex;flex-direction:column;justify-content:center}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 46px}
  .dark-cta-inner{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr)}
}
@media(min-width:768px) and (max-width:1000px){
  .dark-cta-actions{grid-template-columns:1fr}
}
@media(max-width:767px){
  .page-index .light-cta{padding:30px 0!important}
  .page-index .light-cta-inner{grid-template-columns:1fr;gap:18px;text-align:left}
  .page-index .light-cta-inner>div{flex-basis:auto}
  .page-index .light-cta-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .page-index .light-cta-actions .btn{min-width:0;min-height:44px;padding:9px 6px;font-size:.61rem;letter-spacing:.02em}
  .page-index .light-cta-actions .btn .icon{width:13px;height:13px}
  .page-index .process-section,.page-hizmetler .process-section{padding:58px 0 64px}
  .process-section .section-heading,.page-hizmetler .process-section .section-heading{margin-bottom:27px}
  .process-grid,.page-hizmetler .process-grid{grid-template-columns:1fr;gap:11px}
  .process-step,.page-hizmetler .process-step{
    min-height:0;display:grid;grid-template-columns:26px 46px minmax(0,1fr);
    align-items:center;gap:12px;padding:15px 16px;text-align:left
  }
  .process-number,.page-hizmetler .process-number{margin:0;font-size:.65rem}
  .process-icon,.page-hizmetler .process-icon{width:46px;height:46px;margin:0}
  .process-step h3,.page-hizmetler .process-step h3{font-size:1.08rem;margin-bottom:4px}
  .process-step p,.page-hizmetler .process-step p{font-size:.75rem;line-height:1.4;margin:0}
  main>section.dark-cta{padding:48px 0!important}
  .dark-cta-inner{grid-template-columns:1fr;gap:22px;text-align:left}
  .dark-cta h2,.page-hizmetler .dark-cta h2{font-size:clamp(1.9rem,8vw,2.7rem);margin:13px 0 8px}
  .dark-cta p,.page-hizmetler .dark-cta p{font-size:.84rem}
  .dark-cta-actions{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
  .dark-cta-actions .btn{min-height:46px;padding:8px 7px;font-size:.61rem;letter-spacing:.02em}
  .page-iletisim main>section.contact-page{padding:55px 0 42px!important}
  .page-iletisim .contact-grid{grid-template-columns:1fr;gap:38px}
  .page-iletisim .contact-info h1{font-size:clamp(2.55rem,10vw,3.65rem)}
  .page-iletisim .contact-info>p{font-size:.85rem}
  .page-iletisim .contact-links{margin-top:18px}
  .page-iletisim .contact-form-heading h2{font-size:1.95rem}
  .page-iletisim .contact-map{grid-column:auto;display:block}
  .page-iletisim .contact-map iframe{height:240px}
  .page-iletisim .contact-map-info{display:block}
  .contact-assurances .container{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-assurances .container>div{padding:17px 10px}
  .contact-assurances .container>div:nth-child(odd){border-left:1px solid var(--lower-line)}
  .contact-assurances .container>div:nth-child(n+3){border-top:1px solid var(--lower-line)}
  .contact-assurances strong{font-size:.76rem}
  .contact-assurances small{font-size:.6rem}
  .site-footer{padding:48px 0 0}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 20px}
  .footer-intro,.footer-contact{grid-column:1/-1}
  .footer-grid h3{margin-bottom:13px}
  .footer-grid>div>a:not(.brand){font-size:.75rem}
  .footer-bottom{display:grid;justify-content:start;gap:5px;margin-top:37px;padding:20px 0;font-size:.66rem}
}
@media(max-width:380px){
  .page-index .light-cta-actions{grid-template-columns:1fr}
  .page-index .light-cta-actions .btn{width:100%}
  .process-step,.page-hizmetler .process-step{grid-template-columns:22px 42px minmax(0,1fr);gap:9px;padding:14px 12px}
  .contact-assurances .container>div{gap:7px;padding-inline:7px}
}
/* Final lower-section pass: continuous rhythm, clear actions and quiet corners. */
.page-index .light-cta-actions,.dark-cta-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.page-index .light-cta-actions .btn,.dark-cta-actions .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-width:0;white-space:normal;text-align:center
}
.page-index .light-cta-actions .cta-call{background:rgba(255,254,250,.9);color:#233027}
.page-index .light-cta-actions .cta-message{background:linear-gradient(115deg,#cba360,#a8793e);color:#fff}
.dark-cta-actions .cta-call{background:rgba(255,253,247,.98);color:#1d291f}
.dark-cta-actions .cta-message{background:linear-gradient(115deg,#dab574,#b58a4e);color:#102019}
.page-index .light-cta-actions .btn .icon,.dark-cta-actions .btn .icon{
  flex:none;width:19px;height:19px
}
.page-index .light-cta-actions .cta-message .icon,.dark-cta-actions .cta-message .icon{width:21px;height:21px}

.process-section .section-heading p{max-width:570px;margin:0 auto;color:#655e52;font-size:.83rem}
.process-grid,.page-hizmetler .process-grid{
  position:relative;gap:0;overflow:hidden;border:1px solid rgba(172,134,77,.36);
  border-radius:22px;background:rgba(255,252,246,.84);
  box-shadow:0 22px 48px rgba(62,45,22,.08);backdrop-filter:blur(7px)
}
.process-step,.page-hizmetler .process-step{
  min-height:220px;padding:27px;box-shadow:none;background:transparent;
  border:0;border-right:1px solid rgba(174,137,82,.25);border-radius:0
}
.process-step:last-child,.page-hizmetler .process-step:last-child{border-right:0}
.process-number,.page-hizmetler .process-number{font-size:.66rem;letter-spacing:.22em;color:#9a7240}
.process-icon,.page-hizmetler .process-icon{
  border:1px solid rgba(212,176,113,.67);background:#183027;color:#e0bd80
}
.process-copy h3,.page-hizmetler .process-copy h3{font-size:1.2rem}
.process-copy p,.page-hizmetler .process-copy p{font-size:.79rem;line-height:1.5}

main>section.dark-cta,.site-footer,.page-iletisim main>section.contact-page{position:relative;isolation:isolate}
main>section.dark-cta::before,main>section.dark-cta::after,
.site-footer::before,.site-footer::after,
.page-iletisim main>section.contact-page::before,.page-iletisim main>section.contact-page::after{
  content:'';display:block;position:absolute;z-index:0;pointer-events:none;
  width:190px;height:280px;background:url('../assets/icons/botanical.svg') left top/contain no-repeat;
  border:0;border-radius:0;box-shadow:none;opacity:.32
}
main>section.dark-cta::before,.site-footer::before,.page-iletisim main>section.contact-page::before{left:-44px;right:auto;top:-35px}
main>section.dark-cta::after,.site-footer::after,.page-iletisim main>section.contact-page::after{
  right:-44px;left:auto;bottom:-40px;top:auto;transform:scaleX(-1) rotate(180deg)
}
.dark-cta-inner,.site-footer>.container,.page-iletisim main>section.contact-page>.container{position:relative;z-index:1}
.site-footer{background-color:#0d1c16!important}
@media(min-width:768px) and (max-width:1050px){
  .process-grid,.page-hizmetler .process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .process-step,.page-hizmetler .process-step{min-height:185px}
  .process-step:nth-child(2),.page-hizmetler .process-step:nth-child(2){border-right:0}
  .process-step:nth-child(-n+2),.page-hizmetler .process-step:nth-child(-n+2){border-bottom:1px solid rgba(174,137,82,.25)}
}
@media(max-width:767px){
  .page-index .light-cta-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-index .light-cta-actions .btn{font-size:.63rem;min-height:48px;gap:6px;line-height:1.25}
  .dark-cta-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dark-cta-actions .btn{font-size:.63rem;min-height:48px;gap:6px;line-height:1.25}
  .page-index .light-cta-actions .btn .icon,.dark-cta-actions .btn .icon{width:18px;height:18px}
  .process-grid,.page-hizmetler .process-grid{
    display:grid;grid-template-columns:1fr;gap:0;padding:7px 20px;
    border-radius:20px;background:rgba(255,253,248,.91)
  }
  .process-grid::before,.page-hizmetler .process-grid::before{
    content:'';position:absolute;z-index:0;left:43px;top:42px;bottom:42px;
    width:1px;background:linear-gradient(#ceb17b,#a57d43,#ceb17b)
  }
  .process-step,.page-hizmetler .process-step{
    position:relative;z-index:1;display:grid;grid-template-columns:46px minmax(0,1fr);
    grid-template-rows:auto auto;column-gap:15px;row-gap:2px;
    min-height:0;padding:20px 0;background:transparent;border:0;
    border-bottom:1px solid rgba(175,138,82,.22)
  }
  .process-step:last-child,.page-hizmetler .process-step:last-child{border:0}
  .process-icon,.page-hizmetler .process-icon{
    grid-column:1;grid-row:1/3;width:46px;height:46px;margin:0;position:relative;z-index:2
  }
  .process-number,.page-hizmetler .process-number{grid-column:2;grid-row:1;margin:0;font-size:.58rem}
  .process-copy{grid-column:2;grid-row:2}
  .process-copy h3,.page-hizmetler .process-copy h3{font-size:1.16rem;margin:0 0 4px}
  .process-copy p,.page-hizmetler .process-copy p{font-size:.76rem;line-height:1.45}
  .process-section .section-heading p{font-size:.78rem;line-height:1.55}
  main>section.dark-cta::before,main>section.dark-cta::after,
  .site-footer::before,.site-footer::after,
  .page-iletisim main>section.contact-page::before,.page-iletisim main>section.contact-page::after{
    width:125px;height:185px;opacity:.19
  }
  main>section.dark-cta::before,.site-footer::before,.page-iletisim main>section.contact-page::before{left:-40px;top:-26px}
  main>section.dark-cta::after,.site-footer::after,.page-iletisim main>section.contact-page::after{right:-40px;bottom:-20px}
}
@media(max-width:360px){
  .page-index .light-cta-actions .btn,.dark-cta-actions .btn{font-size:.58rem;padding-inline:5px}
  .process-grid,.page-hizmetler .process-grid{padding-inline:14px}
  .process-grid::before,.page-hizmetler .process-grid::before{left:37px}
}

/* A compact WhatsApp appointment request replaces the former process timeline. */
.appointment-section{
  position:relative;overflow:hidden;scroll-margin-top:90px;
  background:linear-gradient(145deg,#fffdf8 0%,#f7f1e7 100%);
  border-top:1px solid rgba(182,146,94,.2)
}
.appointment-section::before{
  content:'';position:absolute;left:-100px;bottom:-160px;width:390px;height:390px;
  border-radius:50%;background:radial-gradient(circle,rgba(206,170,111,.12),transparent 70%);
  pointer-events:none
}
.appointment-layout{
  position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  align-items:center;gap:clamp(38px,7vw,118px)
}
.appointment-layout>*{min-width:0}
.appointment-intro{max-width:580px}
.appointment-intro h2{max-width:560px;margin:18px 0 18px;font-size:clamp(2.3rem,3.8vw,4.2rem);line-height:1.12;color:#22251f}
.appointment-intro h2 em{color:#a67c47;font-style:normal}
.appointment-intro>p{max-width:510px;margin:0;color:#655f54;font-size:.91rem;line-height:1.75}
.appointment-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:34px}
.appointment-notes>div{display:flex;align-items:flex-start;gap:12px;min-width:0;padding-top:16px;border-top:1px solid rgba(166,126,69,.35)}
.appointment-notes .icon{width:22px;height:22px;color:#a77b40}
.appointment-notes span{display:grid;gap:4px;min-width:0}
.appointment-notes strong{font:500 1.05rem/1.2 var(--serif);color:#2d3028}
.appointment-notes small{font-size:.72rem;line-height:1.4;color:#6d685e}
.appointment-card{
  position:relative;min-width:0;padding:clamp(26px,3vw,44px);
  border:1px solid rgba(169,128,71,.42);border-radius:22px;
  background:rgba(255,254,251,.94);box-shadow:0 26px 70px rgba(58,46,28,.09)
}
.appointment-card::before{content:'';position:absolute;top:0;left:35px;right:35px;height:2px;background:linear-gradient(90deg,transparent,#bb9057,transparent)}
.appointment-card-heading>span{color:#a87b43;font-size:.65rem;font-weight:700;letter-spacing:.2em}
.appointment-card-heading h3{margin:12px 0 8px;color:#232923;font-size:clamp(1.5rem,2.3vw,2rem);line-height:1.18}
.appointment-card-heading p{margin:0 0 24px;color:#6c665d;font-size:.75rem;line-height:1.5}
.appointment-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.appointment-form label{display:grid;gap:7px;min-width:0;color:#534a3d;font-size:.67rem;font-weight:700;letter-spacing:.05em}
.appointment-form input,.appointment-form select{
  width:100%;min-width:0;height:48px;padding:0 14px;
  border:1px solid #d9cbb6;border-radius:9px;background:#fffdfa;
  color:#252b25;font:500 .84rem var(--sans);outline:none
}
.appointment-form input::placeholder{color:#a5a097}
.appointment-form input:focus,.appointment-form select:focus{border-color:#ae824a;box-shadow:0 0 0 3px rgba(176,132,73,.15)}
.appointment-date-hint{display:block;margin:9px 0 19px;color:#898074;font-size:.67rem}
.appointment-submit{
  width:100%;min-height:51px;display:flex;align-items:center;justify-content:center;
  gap:11px;padding:12px 17px;border:1px solid #b28a52;border-radius:10px;
  background:linear-gradient(110deg,#183329,#274436);color:#fff9ec;
  font:700 .7rem var(--sans);letter-spacing:.06em;line-height:1.35;
  box-shadow:0 11px 24px rgba(25,55,41,.16);transition:transform .2s,box-shadow .2s
}
.appointment-submit:hover{transform:translateY(-2px);box-shadow:0 15px 30px rgba(25,55,41,.22)}
.appointment-submit .icon{width:20px;height:20px}
.appointment-submit .icon:last-child{width:16px;height:16px}
.appointment-submit:focus-visible,.floating-social-link:focus-visible,.footer-appointment a:focus-visible{outline:3px solid #e7c581;outline-offset:3px}

/* A clear appointment route and physical location anchor the footer. */
.footer-appointment{
  display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
  align-items:center;gap:clamp(30px,6vw,85px);
  padding-bottom:clamp(40px,4vw,60px);margin-bottom:clamp(42px,4vw,60px);
  border-bottom:1px solid rgba(219,180,117,.23)
}
.footer-appointment>*{min-width:0}
.footer-appointment .eyebrow{color:#d8b779}
.footer-appointment h2{max-width:640px;margin:15px 0 11px;color:#fffaf2;font-size:clamp(2rem,3vw,3.15rem);line-height:1.15}
.footer-appointment p{max-width:550px;margin:0;color:#c9ccc2;font-size:.82rem;line-height:1.65}
.footer-appointment-actions{display:grid;gap:11px;min-width:0}
.footer-appointment-actions a{display:flex;align-items:center;gap:12px;min-width:0;border-radius:10px;transition:transform .2s,border-color .2s,background .2s}
.footer-appointment-actions a:hover{transform:translateY(-2px)}
.footer-appointment-button{
  min-height:55px;padding:13px 17px;background:linear-gradient(112deg,#dfbf87,#b68a50);
  color:#182b21;font-size:.69rem;font-weight:700;letter-spacing:.06em
}
.footer-appointment-button .icon:first-child{width:20px;height:20px}
.footer-appointment-button .icon:last-child,.footer-appointment-location .icon:last-child{width:16px;height:16px;margin-left:auto}
.footer-appointment-location{
  min-height:68px;padding:12px 16px;border:1px solid rgba(216,181,123,.37);
  background:rgba(255,255,255,.035);color:#f4efe4
}
.footer-appointment-location>.icon:first-child{width:22px;height:22px;color:#d7b674}
.footer-appointment-location span{min-width:0;font-size:.76rem;line-height:1.35}
.footer-appointment-location small{display:block;margin-top:3px;color:#bdbeb3;font-size:.65rem}
.mobile-nav a .icon{width:17px;height:17px;color:#a77c43}
.mobile-nav>a:not(.btn){display:flex;align-items:center;gap:9px}

/* Shared, recognisable social and call actions. */
.floating-social{
  position:fixed;right:clamp(13px,1.8vw,28px);bottom:clamp(13px,1.8vw,28px);z-index:90;
  display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px;
  border:1px solid rgba(183,147,91,.55);border-radius:31px;
  background:rgba(255,251,243,.66);box-shadow:0 12px 32px rgba(16,35,27,.14);
  backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%)
}
.floating-social-link{width:45px;height:45px;display:grid;place-items:center;border-radius:50%;background:transparent;transition:transform .2s,background .2s,color .2s}
.floating-social-link:hover{transform:scale(1.06);background:rgba(160,123,70,.12)}
.floating-social-link .icon{width:21px;height:21px}
.floating-instagram{color:#95683d}
.floating-whatsapp{color:#1f5138;background:rgba(39,91,61,.1)}
.floating-call{color:#6f552f}
.floating-call .icon{width:20px;height:20px}
@media(min-width:951px) and (max-width:1120px){
  .desktop-nav,.header-actions{display:none}
  .header-inner{min-height:74px}
  .menu-toggle{display:flex;margin-left:auto;border:1px solid var(--line);background:rgba(255,251,244,.58);padding:10px;color:var(--ink)}
  .mobile-nav{position:absolute;top:100%;left:auto;right:25px;width:min(350px,calc(100vw - 50px));box-shadow:0 20px 30px rgba(0,0,0,.1);border:1px solid var(--line);border-radius:0 0 14px 14px;padding:18px 26px 25px;flex-direction:column;gap:0}
  .mobile-nav:not([hidden]){display:flex}
  .mobile-nav>a:not(.btn){border-bottom:1px solid var(--line);padding:11px 0;font-weight:600}
  .mobile-nav .btn{margin-top:16px;align-self:flex-start}
}
@media(max-width:980px){
  .appointment-layout{grid-template-columns:1fr;gap:30px}
  .appointment-intro{max-width:700px}
  .appointment-card{max-width:720px;width:100%}
  .footer-appointment{grid-template-columns:1fr;gap:25px}
  .footer-appointment-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
  .appointment-section{padding:62px 0 68px;scroll-margin-top:68px}
  .appointment-intro h2{font-size:clamp(2.1rem,9vw,3rem);margin:13px 0}
  .appointment-intro>p{font-size:.82rem;line-height:1.65}
  .appointment-notes{gap:10px;margin-top:22px}
  .appointment-notes>div{gap:8px;padding-top:12px}
  .appointment-notes .icon{width:19px;height:19px}
  .appointment-notes strong{font-size:.88rem}
  .appointment-notes small{font-size:.65rem}
  .appointment-card{padding:25px 19px;border-radius:17px}
  .appointment-card-heading h3{font-size:1.55rem}
  .appointment-fields{grid-template-columns:1fr;gap:13px}
  .appointment-form input,.appointment-form select{height:47px;font-size:.85rem}
  .appointment-submit{font-size:.63rem;gap:8px;padding-inline:10px}
  .site-footer{padding-top:49px}
  .footer-appointment{gap:20px;padding-bottom:34px;margin-bottom:37px}
  .footer-appointment h2{font-size:clamp(1.9rem,7.8vw,2.5rem)}
  .footer-appointment-actions{grid-template-columns:1fr}
  .footer-appointment-button,.footer-appointment-location{width:100%}
  .footer-appointment-button{min-height:50px}
  .footer-bottom{padding-bottom:84px}
  .floating-social{
    right:12px;bottom:calc(15px + env(safe-area-inset-bottom));
    flex-direction:column;gap:3px;padding:5px;border-radius:29px
  }
  .floating-social-link{width:44px;height:44px}
  .floating-social-link .icon{width:20px;height:20px}
}
@media(max-width:360px){
  .appointment-notes{grid-template-columns:1fr}
  .appointment-submit{font-size:.58rem}
  .floating-social{right:9px;bottom:calc(12px + env(safe-area-inset-bottom))}
  .floating-social-link{width:42px;height:42px}
}
@media(prefers-reduced-motion:reduce){
  .appointment-submit,.floating-social-link,.footer-appointment-actions a{transition:none}
}
