/* About page: Elementor widgets (TWN About Header / Image / Story / Decor).
   Values are the Tailwind sizes of the prototype, 1:1. Every colour and size is overridable from each widget's Style tab. */

/* ---------- Page shell (outer + inner containers carry these classes) ---------- */
.elementor .twn-about-page{position:relative;overflow:hidden;width:100%;min-height:100vh;background:#FAF7F2;color:#2E241E;}
.elementor .twn-about-inner{position:relative;z-index:10;width:100%;max-width:80rem;margin-left:auto;margin-right:auto;}
.elementor .twn-about-grid.e-con{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;}
.elementor .twn-about-grid.e-con>.elementor-widget{width:auto;min-width:0;max-width:100%;}
@media (min-width:1024px){
  .elementor .twn-about-grid.e-con{grid-template-columns:repeat(12,minmax(0,1fr));}
  .elementor .twn-about-grid.e-con>.elementor-widget-twn-about-image{grid-column:span 5 / span 5;}
  .elementor .twn-about-grid.e-con>.elementor-widget-twn-about-story{grid-column:span 7 / span 7;padding-left:1rem;}
}
@media (min-width:1280px){
  .elementor .twn-about-grid.e-con>.elementor-widget-twn-about-story{padding-left:1.5rem;}
}

/* ---------- Header ---------- */
.twn-abh{text-align:center;max-width:36rem;margin:0 auto 3rem;font-family:'Poppins',sans-serif;}
@media (min-width:640px){.twn-abh{margin-bottom:4rem;}}
.twn-abh__eyebrow{display:block;font-size:.75rem;line-height:1rem;text-transform:uppercase;letter-spacing:.3em;color:#B89047;font-weight:500;margin-bottom:.5rem;}
@media (min-width:640px){.twn-abh__eyebrow{font-size:.875rem;line-height:1.25rem;}}
.twn-abh .twn-abh__title{margin:0;font-family:'Abril Fatface',Georgia,serif;font-weight:400;font-size:2.25rem;line-height:2.5rem;color:#1A1A1A;letter-spacing:-.025em;}
@media (min-width:640px){.twn-abh .twn-abh__title{font-size:3rem;line-height:1;}}
@media (min-width:1024px){.twn-abh .twn-abh__title{font-size:3.75rem;}}
.twn-abh__divider{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem;--twn-line:rgb(201 169 106 / .7);}
.twn-abh__line{width:4rem;height:1px;}
@media (min-width:640px){.twn-abh__line{width:5rem;}}
.twn-abh__line--l{background:linear-gradient(to right,transparent,var(--twn-line));}
.twn-abh__line--r{background:linear-gradient(to left,transparent,var(--twn-line));}
.twn-abh__star{color:#B89047;display:flex;}
.twn-abh__sparkle{width:.875rem;height:.875rem;display:block;}

/* ---------- Image composition ---------- */
.twn-abi{position:relative;display:flex;justify-content:center;}
@media (min-width:1024px){.twn-abi{justify-content:flex-end;}}
.twn-abi__inner{position:relative;isolation:isolate;width:100%;max-width:380px;}
@media (min-width:640px){.twn-abi__inner{max-width:420px;}}
.twn-abi__panel{position:absolute;top:-1.5rem;left:-1.5rem;width:100%;height:95%;background:#F3ECE1;border-top-left-radius:160px;border-bottom-right-radius:1.5rem;z-index:-1;}
@media (min-width:640px){.twn-abi__panel{border-top-left-radius:190px;}}
.twn-abi__square{position:absolute;bottom:-1.5rem;left:-2rem;width:8rem;height:6rem;background:rgb(239 230 216 / .7);border-radius:2px;z-index:-1;}
.twn-abi__contour{position:absolute;top:-1.75rem;left:-1.75rem;width:100%;height:92%;border-style:solid;border-width:1px 0 0 1px;border-color:rgb(201 169 106 / .7);border-top-left-radius:170px;pointer-events:none;}
@media (min-width:640px){.twn-abi__contour{border-top-left-radius:200px;}}
.twn-abi__spark{position:absolute;top:4rem;left:-.5rem;color:#B89047;display:flex;}
.twn-abi__sparkle{width:1rem;height:1rem;display:block;}
.twn-abi__photo{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;border-radius:170px 170px .75rem .75rem;border:1px solid rgb(201 169 106 / .3);box-shadow:0 8px 30px rgb(0 0 0 / .06);background:#EAE2D5;}
@media (min-width:640px){.twn-abi__photo{aspect-ratio:3.8/5;border-radius:200px 200px .75rem .75rem;}}
.twn-abi__photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;}
.twn-abi__medallion{position:absolute;bottom:-1.5rem;right:-1.5rem;width:8rem;aspect-ratio:1;background:#FAF7F2;border-radius:48px 54px 40px 2px;border-style:solid;border-width:1px 1px 0 0;border-color:rgb(201 169 106 / .6);box-shadow:0 4px 20px rgb(0 0 0 / .04);display:flex;align-items:center;justify-content:center;padding:.75rem;z-index:10;}
@media (min-width:640px){.twn-abi__medallion{bottom:-2rem;right:-2rem;width:9rem;}}
.twn-abi__medallion svg{width:100%;height:100%;color:#B89047;display:block;}
.twn-abi__flourish{display:none;position:absolute;bottom:-2rem;right:-7rem;width:11rem;height:6rem;pointer-events:none;z-index:0;}
@media (min-width:640px){.twn-abi__flourish{display:block;}}
.twn-abi__flourish svg{width:100%;height:100%;}

/* ---------- Story rows ---------- */
.twn-abs{--twn-ic:1.25rem;display:flex;flex-direction:column;gap:2rem;font-family:'Poppins',sans-serif;}
@media (min-width:640px){.twn-abs{gap:2.5rem;}}
.twn-abs__row{display:flex;align-items:flex-start;gap:1rem;}
@media (min-width:640px){.twn-abs__row{gap:1.5rem;}}
.twn-abs__rail{display:flex;flex-direction:column;align-items:center;flex-shrink:0;}
.twn-abs__circle{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:9999px;background:#FAF5EE;border:1px solid rgb(201 169 106 / .4);box-shadow:0 1px 2px rgb(0 0 0 / .05);color:#B89047;}
@media (min-width:640px){.twn-abs__circle{width:3rem;height:3rem;}}
.twn-abs__circle svg{display:block;width:var(--twn-ic);height:var(--twn-ic);}
.twn-abs__circle--heart svg{width:calc(var(--twn-ic) * .9);height:calc(var(--twn-ic) * .9);}
.twn-abs__circle i{font-size:var(--twn-ic);line-height:1;}
.twn-abs__stem{width:1px;height:3.5rem;margin-top:.5rem;background:rgb(201 169 106 / .35);}
@media (min-width:640px){.twn-abs__stem{height:4rem;}}
.twn-abs__text{flex:1 1 0%;padding-top:.375rem;min-width:0;}
.twn-abs__text p{margin:0;font-size:.875rem;line-height:1.625;color:#2E241E;font-weight:400;}
@media (min-width:640px){.twn-abs__text p{font-size:15px;}}
@media (min-width:1024px){.twn-abs__text p{font-size:1rem;}}

/* ---------- Decor ---------- */
.elementor .elementor-widget-twn-about-decor,.elementor .elementor-widget-twn-about-decor>.elementor-widget-container{position:static;}
.twn-abd__tl{position:absolute;top:0;left:0;width:20rem;height:20rem;opacity:.8;pointer-events:none;z-index:0;}
.twn-abd__tl>svg,.twn-abd__br>svg{width:100%;height:100%;display:block;}
.twn-abd__br{position:absolute;bottom:-2.5rem;right:-2.5rem;width:24rem;height:24rem;opacity:.8;pointer-events:none;z-index:0;}
.twn-abd__star{position:absolute;top:7rem;left:6rem;color:#B89047;display:flex;filter:drop-shadow(0 1px 1px rgb(0 0 0 / .05));}
.twn-abd__sparkle{width:1.25rem;height:1.25rem;display:block;}
@media (min-width:640px){
  .twn-abd__tl{width:24rem;height:24rem;}
  .twn-abd__br{width:480px;height:480px;}
}
