/* Mangala Nakatha v3.8.2 — professional website + image proportion correction.
   Appearance only. No API/payment/OTP/permission behaviour is changed. */

:root{
  --mn382-ink:#251b2c;
  --mn382-copy:#5c5261;
  --mn382-soft:#fffafc;
  --mn382-line:rgba(74,46,82,.12);
  --mn382-plum:#672b73;
  --mn382-plum-deep:#43204f;
  --mn382-rose:#b85c80;
  --mn382-gold:#ac8440;
  --mn382-shadow:0 18px 48px rgba(55,31,63,.10);
  --mn382-shadow-soft:0 9px 26px rgba(55,31,63,.07);
}

html{font-size:16px}
body{
  font-family:"MN Manrope","Noto Sans Sinhala","Segoe UI",Arial,sans-serif!important;
  font-size:.985rem;
  line-height:1.66;
  letter-spacing:-.006em;
  color:var(--mn382-ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
p,li,dd,input,select,textarea,button{font-feature-settings:"kern" 1,"liga" 1}
small,.muted,.cell-subtitle,.card-intro{line-height:1.55}

/* Display font is reserved for marketing headings. Operational/profile text remains crisp Manrope. */
.page-hero h1,.home-hero h1,.hero-copy h1,.marketing-heading,.section-heading h2{
  font-family:"MN Display","Noto Serif Sinhala",Georgia,serif!important;
  font-weight:600!important;
  letter-spacing:-.024em!important;
}
.profile-profession,.paid-profile-heading h2,.profile-details-card h2,.profile-section-card h2,
.registration-card h2,.proposal-card h2,.member-contact-panel h3,.full-profile-text-section h3{
  font-family:"MN Manrope","Noto Sans Sinhala","Segoe UI",sans-serif!important;
  font-weight:760!important;
  letter-spacing:-.022em!important;
}
.profile-profession{font-size:1.34rem!important;line-height:1.22!important}
.paid-profile-heading h2{font-size:clamp(1.9rem,3vw,2.75rem)!important;line-height:1.08!important}
.full-profile-text-section h3{font-size:1.15rem!important}

/* Keep every normal content image proportional. */
img{max-width:100%}
.site-header img,.site-footer img,.hero-visual img,.hero-media img,.hero-image-card img,.home-hero img,.mn-home-hero-image{
  display:block;
  object-fit:contain;
  object-position:center;
}
.header-brand-logo{
  width:clamp(148px,12vw,188px)!important;
  height:58px!important;
  max-height:58px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.brand{display:flex!important;align-items:center!important;min-width:0}
.footer-brand-logo{width:min(190px,100%)!important;height:auto!important;max-height:108px!important;object-fit:contain!important;object-position:left center!important}

/* Home hero media — correct the overly tall/narrow screenshot ratio. */
.home-hero .hero-visual,.home-hero .hero-media,.home-hero .hero-image-card,
.hero-section .hero-visual,.hero-section .hero-media,.hero-section .hero-image-card,
.hero-grid .hero-visual,.hero-grid .hero-media,.hero-grid .hero-image-card,
.mn-home-hero-media{
  position:relative!important;
  width:100%!important;
  aspect-ratio:8/5!important;
  min-height:0!important;
  max-height:600px!important;
  overflow:hidden!important;
  border-radius:clamp(22px,3vw,36px)!important;
  background:#f3ecef!important;
  box-shadow:0 26px 64px rgba(58,31,66,.14)!important;
}
.home-hero .hero-visual img,.home-hero .hero-media img,.home-hero .hero-image-card img,
.hero-section .hero-visual img,.hero-section .hero-media img,.hero-section .hero-image-card img,
.hero-grid .hero-visual img,.hero-grid .hero-media img,.hero-grid .hero-image-card img,
.mn-home-hero-image{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center 42%!important;
  border-radius:inherit!important;
  transform:none!important;
}
.mn-home-hero-media::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border:1px solid rgba(255,255,255,.62);
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(86,43,91,.045);
}
/* Keep floating hero labels compact and away from the subjects. */
.hero-visual .floating-card,.hero-visual .image-float-card,.hero-visual .hero-badge,
.hero-media .floating-card,.hero-image-card .floating-card,.mn-home-hero-media .floating-card{
  max-width:min(250px,68%)!important;
  min-height:auto!important;
  padding:12px 16px!important;
  border-radius:16px!important;
  font-size:.84rem!important;
  line-height:1.3!important;
  box-shadow:0 14px 34px rgba(43,25,48,.15)!important;
  backdrop-filter:blur(14px)!important;
}

/* More disciplined global spacing and surfaces. */
.page-shell{width:min(1180px,calc(100% - 40px))!important}
.section{padding-block:clamp(48px,6vw,82px)}
.panel,.registration-card,.content-card,.package-card{
  border-color:var(--mn382-line)!important;
  box-shadow:var(--mn382-shadow-soft)!important;
}
.site-header{min-height:76px}
.header-inner{min-height:76px;gap:22px}
.primary-nav{gap:4px!important}.primary-nav a{font-size:.88rem!important;font-weight:690!important;letter-spacing:-.01em;padding:9px 11px!important;border-radius:10px}
.header-actions{gap:10px}

/* Proposal catalogue: professional text-first cards, no public photos. */
.text-proposal-grid{gap:20px!important}
.text-proposal-card{
  border-radius:20px!important;
  box-shadow:var(--mn382-shadow-soft)!important;
  background:#fff!important;
}
.text-proposal-card:hover{transform:translateY(-4px)!important;box-shadow:var(--mn382-shadow)!important}
.text-proposal-top{padding:15px 18px!important;border-bottom:1px solid rgba(78,48,85,.08)!important}
.proposal-body{padding:19px!important}
.profile-detail-grid.text-detail-grid{gap:8px!important}
.text-detail-grid>div{padding:11px 12px!important;border-radius:12px!important;background:#fcf9fb!important;border:1px solid rgba(79,47,85,.075)!important}
.text-detail-grid dt{font-size:.66rem!important;letter-spacing:.055em!important}
.text-detail-grid dd{font-size:.88rem!important;line-height:1.38!important}
.proposal-story{padding:14px!important;border-radius:13px!important;background:#fffafb!important}
.visitor-reply-cta{border-radius:15px!important}
.profile-card-actions .button{min-height:43px}

/* Explicitly suppress legacy public profile/photo containers if older markup still exists. */
.text-proposals-page .profile-photo,.text-proposals-page .profile-image,.text-proposals-page .proposal-photo,
.text-proposals-page .proposal-cover,.paid-profile-layout .profile-photo,.paid-profile-layout .profile-image,
.profile-editor-layout .profile-photo-upload,.profile-editor-layout .profile-gallery-upload,
[data-profile-photo],[data-profile-gallery]{display:none!important}

/* Full profile and profile editor — cleaner readable information hierarchy. */
.paid-profile-layout{grid-template-columns:290px minmax(0,1fr)!important;gap:22px!important}
.text-profile-identity{padding:23px 18px!important;border-radius:19px!important}
.text-profile-monogram{width:66px!important;height:66px!important;border-radius:19px!important;font-family:"MN Manrope",sans-serif!important;font-size:1.6rem!important;font-weight:800!important}
.paid-profile-content{padding:24px!important;border-radius:20px!important;box-shadow:var(--mn382-shadow-soft)!important}
.full-profile-detail-grid{gap:9px!important}
.full-profile-detail-grid>div{min-height:76px!important;padding:12px 13px!important;border-radius:13px!important}
.full-profile-detail-grid dt{font-size:.65rem!important}
.full-profile-detail-grid dd{font-size:.9rem!important}
.full-profile-text-section{padding:16px 17px!important;border-radius:14px!important}
.full-profile-proposal-box{border-radius:17px!important;padding:18px!important}
.profile-editor-layout{grid-template-columns:280px minmax(0,1fr)!important;gap:22px!important}
.profile-preview-card{border-radius:20px!important;padding:22px!important}
.registration-card.profile-details-card,.registration-card.profile-section-card{border-radius:18px!important;padding:22px!important}
.profile-editor-content input,.profile-editor-content select,.profile-editor-content textarea{font-size:.93rem!important}

/* Registration stays aligned and compact. */
.registration-page .narrow-shell{max-width:960px!important}
.registration-card{border-radius:20px!important;padding:clamp(20px,3.2vw,32px)!important}
.registration-card>h2{font-size:clamp(1.6rem,2.6vw,2.15rem)!important;line-height:1.15!important}
.registration-packages{gap:12px!important}
.package-choice{border-radius:15px!important;padding:16px!important}
.form-grid{column-gap:14px!important;row-gap:13px!important}

/* Image loading polish — no layout jump. */
.mn-image-stable{background:#f4eef1;color:transparent}
.mn-image-stable.is-loaded{background:transparent}

@media(max-width:980px){
  .page-shell{width:min(100% - 30px,1180px)!important}
  .home-hero .hero-visual,.home-hero .hero-media,.home-hero .hero-image-card,
  .hero-section .hero-visual,.hero-section .hero-media,.hero-section .hero-image-card,
  .hero-grid .hero-visual,.hero-grid .hero-media,.hero-grid .hero-image-card,.mn-home-hero-media{aspect-ratio:4/3!important;max-height:560px!important}
}
@media(max-width:760px){
  .page-shell{width:min(100% - 24px,1180px)!important}
  .section{padding-block:42px}
  .header-brand-logo{width:145px!important;height:48px!important;max-height:48px!important}
  .home-hero .hero-visual,.home-hero .hero-media,.home-hero .hero-image-card,
  .hero-section .hero-visual,.hero-section .hero-media,.hero-section .hero-image-card,
  .hero-grid .hero-visual,.hero-grid .hero-media,.hero-grid .hero-image-card,.mn-home-hero-media{aspect-ratio:4/5!important;max-height:620px!important;border-radius:24px!important}
  .home-hero .hero-visual img,.home-hero .hero-media img,.home-hero .hero-image-card img,
  .hero-section .hero-visual img,.hero-section .hero-media img,.hero-section .hero-image-card img,
  .hero-grid .hero-visual img,.hero-grid .hero-media img,.hero-grid .hero-image-card img,.mn-home-hero-image{object-position:center 38%!important}
  .paid-profile-layout,.profile-editor-layout{grid-template-columns:1fr!important}
  .paid-profile-content{padding:18px!important}
  .registration-card{padding:19px!important}
}
@media(max-width:440px){
  body{font-size:.955rem}
  .page-shell{width:min(100% - 18px,1180px)!important}
  .home-hero .hero-visual,.home-hero .hero-media,.home-hero .hero-image-card,
  .hero-section .hero-visual,.hero-section .hero-media,.hero-section .hero-image-card,
  .hero-grid .hero-visual,.hero-grid .hero-media,.hero-grid .hero-image-card,.mn-home-hero-media{border-radius:20px!important}
  .profile-profession{font-size:1.2rem!important}
  .text-proposal-top,.proposal-body{padding-left:15px!important;padding-right:15px!important}
}
