/* Srini Graphics 4.0: layout models, corporate and branding sections, mobile and Elementor polish. */

/* ===== Mobile and safety foundations ===== */
html{-webkit-text-size-adjust:100%}
body{overflow-x:hidden}
@supports(overflow:clip){body{overflow-x:clip}}
img,video,iframe,svg{max-width:100%}
table{max-width:100%}
.entry table,.woocommerce table.shop_table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
input,select,textarea{font-size:16px;max-width:100%}
.btn,.button,.ib,.mbar a,.filters button{min-height:44px}
.container{width:min(1200px,100% - 32px)}
h1,h2,h3{overflow-wrap:break-word}
@media(max-width:600px){.btn{padding:12px 20px}.cta{gap:10px}.cta .btn{flex:1 1 auto}.sec{padding:56px 0}}
.srini-canvas{width:100%;max-width:none;margin:0;padding:0}
.srini-canvas>.alignfull{width:100%}

/* ===== Footer with five columns ===== */
.fg{grid-template-columns:1.5fr 1fr 1fr 1fr 1.3fr;gap:36px}
@media(max-width:1100px){.fg{grid-template-columns:1fr 1fr 1fr;gap:32px}.fb{grid-column:1/-1}}
@media(max-width:640px){.fg{grid-template-columns:1fr 1fr;gap:26px}.fg>div:last-child{grid-column:1/-1}}
@media(max-width:420px){.fg{grid-template-columns:1fr}}
body:not(.pal-wedding) .site-footer{background:linear-gradient(180deg,var(--wine),var(--burg2))}

/* ===== Shared new-section bits ===== */
.corp,.brand{overflow:hidden}
.steps{list-style:none;margin:54px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;position:relative;counter-reset:s}
.steps li{position:relative;display:flex;flex-direction:column;gap:6px;padding:22px 20px;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.steps .jn{width:44px;height:44px;font-size:1.1rem;border-width:2px;margin-bottom:6px}
.steps strong{font:600 1.08rem var(--serif);color:var(--burg)}
.steps small{color:var(--mut);font-size:.86rem}
@media(max-width:900px){.steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.steps{grid-template-columns:1fr;margin-top:36px}}

/* ===== Corporate section (navy, orange) ===== */
.corp{background:linear-gradient(160deg,#0b1f3a,#12305a);color:#d6e0f0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(160deg,#0b1f3a,#12305a);background-size:42px 42px,42px 42px,auto}
.corp h2{color:#fff}.corp .sh h2 em{color:#ff9a52}.corp .sh p{color:#b9c8de}
.corp-top{display:grid;grid-template-columns:1.3fr 1fr;gap:30px 48px;align-items:end;margin-bottom:38px}
.corp-top .sh{margin:0;max-width:none}
.corp-aud{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.corp-aud span{border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:6px 14px;font-size:.8rem;color:#e6eefb;background:rgba(255,255,255,.05)}
.corp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.corp-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:28px 26px 24px;background:#fff;color:#0b1f3a;border-radius:var(--r);border-bottom:4px solid #ff6a00;transition:transform .3s,box-shadow .3s}
.corp-card:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(0,0,0,.35);color:#0b1f3a}
.corp-ic{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;background:#fff1e6;color:#ff6a00}.corp-ic .ic{width:24px;height:24px}
.corp-n{position:absolute;right:22px;top:18px;font:700 1.9rem var(--sans);color:#e6ecf5}
.corp-card strong{font:700 1.12rem var(--sans);margin-top:8px}
.corp-card small{color:#55627a;font-size:.88rem;flex:1}
.corp-card .more{color:#d95a00;margin-top:6px}
.corp-bar{margin-top:32px;display:flex;flex-wrap:wrap;gap:20px 32px;align-items:center;justify-content:space-between;padding:26px 30px;border:1px solid rgba(255,255,255,.2);border-radius:var(--r);background:rgba(255,255,255,.06)}
.corp-bar strong{color:#fff;font:700 1.15rem var(--sans)}.corp-bar p{margin:4px 0 0;color:#b9c8de;max-width:60ch;font-size:.92rem}.corp-bar .cta{margin:0}
@media(max-width:1000px){.corp-grid{grid-template-columns:repeat(2,1fr)}.corp-top{grid-template-columns:1fr}.corp-aud{justify-content:flex-start}}
@media(max-width:560px){.corp-grid{grid-template-columns:1fr;gap:14px}.corp-bar{padding:22px 20px}.corp-bar .cta,.corp-bar .btn{width:100%}}

/* ===== Branding section ===== */
.brand{background:var(--ivory)}
.brand-in{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}
.brand-copy{position:sticky;top:120px}
.brand-copy h2{font-size:clamp(1.9rem,3.6vw,2.8rem)}.brand-copy h2 em{color:var(--gold-d)}
.brand-copy p{color:var(--mut)}
.brand-kit{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.bk{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px 22px;display:flex;flex-direction:column;gap:6px;transition:transform .3s,box-shadow .3s}
.bk:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.bk:nth-child(even){transform:translateY(18px)}.bk:nth-child(even):hover{transform:translateY(14px)}
.bk-n{position:absolute;top:16px;right:18px;font:600 .8rem var(--serif);letter-spacing:.14em;color:var(--gold-d)}
.bk-ic{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--burg);color:var(--gold-l)}
.bk strong{font:600 1.05rem var(--serif);color:var(--burg);margin-top:8px}.bk small{color:var(--mut);font-size:.86rem}
@media(max-width:900px){.brand-in{grid-template-columns:1fr;gap:30px}.brand-copy{position:static}.bk:nth-child(even),.bk:nth-child(even):hover{transform:none}}
@media(max-width:480px){.brand-kit{grid-template-columns:1fr}}

/* ===== Hero: corporate and branding ===== */
.hero.hero-brand{background:radial-gradient(800px 480px at 85% 10%,rgba(255,106,0,.25),transparent 60%),linear-gradient(135deg,#0b1f3a,#143262)}
.hb-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:44px 44px;pointer-events:none}
.hero-brand .eyebrow{color:#ffb27a}.hero-brand .eb-dot{background:#ff6a00;box-shadow:0 0 0 4px rgba(255,106,0,.25)}
.hero-brand h1 em{background:linear-gradient(90deg,#ffb27a,#ff6a00);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-brand .lead,.hero-brand .hero-pts{color:#cdd9ec}.hero-brand .hero-pts b{color:#ffb27a}.hero-brand .hero-pts{border-color:rgba(255,255,255,.25)}
.hero-brand .btn-gold{background:#ff6a00;color:#fff;box-shadow:0 10px 24px rgba(255,106,0,.35)}.hero-brand .btn-gold:hover{background:#e65e00;color:#fff}
.hb-mosaic{position:relative;display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:auto auto;gap:14px;align-self:center}
.hb-mosaic figure{margin:0;position:relative;overflow:hidden;border-radius:var(--r);border:3px solid rgba(255,255,255,.9);box-shadow:0 20px 40px rgba(0,0,0,.35);background:#fff}
.hb-mosaic img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.hb-mosaic figcaption{position:absolute;left:10px;bottom:10px;background:#0b1f3a;color:#fff;font-size:.72rem;letter-spacing:.06em;padding:5px 12px;border-radius:999px;border-left:3px solid #ff6a00}
.hb-mosaic .m1{grid-row:span 2}.hb-mosaic .m1 img{aspect-ratio:3/4}
.hb-mosaic .m3,.hb-mosaic .m4{display:block}
@media(max-width:960px){.hb-mosaic{max-width:560px;margin:10px auto 0;width:100%}}
@media(max-width:520px){.hb-mosaic{grid-template-columns:1fr 1fr;gap:10px}.hb-mosaic .m1{grid-row:auto}.hb-mosaic .m1 img{aspect-ratio:4/3}.hb-mosaic figcaption{font-size:.64rem;left:6px;bottom:6px;padding:4px 9px}}

/* ===== Hero: split (wedding | corporate) ===== */
.hero-split{display:grid;grid-template-columns:1fr 1fr;position:relative;min-height:600px}
.hs-panel{position:relative;overflow:hidden;display:flex;align-items:center;padding:72px clamp(20px,5vw,72px);color:#fff}
.hs-wed{background:linear-gradient(135deg,#3d0f1f,#7c1f3a)}.hs-biz{background:linear-gradient(135deg,#0b1f3a,#143262)}
.hs-bgimg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.22;mix-blend-mode:luminosity;transition:opacity .4s,transform .6s}
.hs-wed .hs-bgimg{background-size:auto 115%;background-repeat:no-repeat;background-position:right -40px bottom;opacity:.4;mix-blend-mode:normal}
.hs-panel:hover .hs-bgimg{opacity:.34;transform:scale(1.04)}
.hs-body{position:relative;z-index:2;max-width:520px}
.hs-body .eyebrow{color:var(--gold-l)}.hs-biz .eyebrow{color:#ffb27a}.hs-biz .eb-dot{background:#ff6a00;box-shadow:0 0 0 4px rgba(255,106,0,.25)}
.hs-body h1,.hs-body h2{color:#fff;font:600 clamp(2rem,3.6vw,3.2rem)/1.1 var(--serif);margin:0 0 .4em}
.hs-body em{font-style:italic;color:var(--gold-l)}.hs-biz em{color:#ffb27a}
.hs-body p{color:rgba(255,255,255,.85);max-width:46ch}
.hs-tag{position:absolute;left:50%;bottom:0;transform:translateX(-50%);z-index:3;background:#fff;color:var(--burg);font:600 .74rem var(--sans);letter-spacing:.18em;text-transform:uppercase;padding:11px 24px;border-radius:14px 14px 0 0;box-shadow:0 -8px 24px rgba(0,0,0,.2);white-space:nowrap}
@media(max-width:900px){.hero-split{grid-template-columns:1fr;min-height:0}.hs-panel{padding:52px 20px 56px}.hs-wed .hs-bgimg{background-position:right -60px bottom;opacity:.3}.hs-tag{position:static;transform:none;border-radius:0;text-align:center;white-space:normal;letter-spacing:.12em;font-size:.68rem;padding:12px 16px}}

/* ===== Hero: bold centred ===== */
.hero.hero-center{background:#0b0b0d;text-align:center;padding:92px 0 0}
.hero-center .hc-in{position:relative;z-index:2;max-width:860px}
.hero-center h1{font:700 clamp(2.6rem,7.5vw,6rem)/1 var(--sans);letter-spacing:-.035em;color:#fff;margin:0 0 .3em}
.hero-center h1 em{font-family:var(--serif);font-weight:500;background:linear-gradient(90deg,var(--gold-l),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.1em}
.hero-center .lead{margin:0 auto;max-width:56ch;color:#c9c9cf}.hero-center .eyebrow{color:var(--gold-l);justify-content:center}
.hero-center .cta{justify-content:center}
.hc-strip{display:flex;gap:16px;justify-content:center;margin:64px auto 0;padding:0 16px;max-width:1300px;align-items:flex-end}
.hc-strip img{flex:1 1 0;min-width:0;height:300px;object-fit:cover;border-radius:var(--r) var(--r) 0 0;border:1px solid rgba(255,255,255,.12);border-bottom:0}
.hc-strip img:nth-child(odd){height:340px}
@media(max-width:700px){.hero.hero-center{padding-top:56px}.hc-strip{gap:8px;margin-top:40px}.hc-strip img,.hc-strip img:nth-child(odd){height:170px}.hc-strip img:nth-child(n+4){display:none}}

/* ===== Page heroes for corporate and branding pages ===== */
.page-hero p{margin:12px auto 0;max-width:56ch;color:rgba(255,255,255,.85)}
.page-hero .eyebrow,.page-hero .eyebrow-o{justify-content:center;color:var(--gold-l)}
.page-hero-biz{background:radial-gradient(700px 260px at 85% 0,rgba(255,106,0,.28),transparent 60%),linear-gradient(135deg,#0b1f3a,#143262)}.page-hero-biz .eyebrow-o{color:#ffb27a}

/* ===== Layout model 2: Corporate (sharp, sans headings) ===== */
.layout-corporate{--r:6px}
.layout-corporate h1,.layout-corporate h2,.layout-corporate h3,.layout-corporate h4{font-family:var(--sans);font-weight:700;letter-spacing:-.02em}
.layout-corporate .btn,.layout-corporate .button{border-radius:6px}
.layout-corporate .sh{text-align:left;margin-left:0;max-width:none}.layout-corporate .sh .orn{display:none}
.layout-corporate .corp-ic{border-radius:6px}.layout-corporate .corp-aud span{border-radius:4px}
.layout-corporate .bk-ic{border-radius:6px}.layout-corporate .jn{border-radius:6px}
.layout-corporate .hero h1{font-family:var(--sans);font-weight:700;letter-spacing:-.03em}
.layout-corporate .hero h1 em,.layout-corporate .sh h2 em{font-family:var(--sans);font-style:normal}

/* ===== Layout model 4: Bold Showcase (square, big numbers) ===== */
.layout-showcase{--r:0px}
.layout-showcase h1,.layout-showcase h2,.layout-showcase h3{font-family:var(--sans);font-weight:700;letter-spacing:-.03em;color:#0b0b0d}
.layout-showcase .hero h1,.layout-showcase .corp h2,.layout-showcase .page-hero h1,.layout-showcase .cta-band h2{color:#fff}
.layout-showcase .btn,.layout-showcase .button{border-radius:0;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem}
.layout-showcase .sh{text-align:left;margin-left:0;max-width:none;border-top:4px solid #0b0b0d;padding-top:18px}.layout-showcase .sh .orn{display:none}
.layout-showcase .sh h2{font-size:clamp(2.2rem,5.5vw,4.4rem);line-height:1}.layout-showcase .sh h2 em{font-family:var(--serif);font-weight:500}
.layout-showcase .corp .sh,.layout-showcase .brand .sh{border-color:var(--gold)}
.layout-showcase .bk,.layout-showcase .corp-card,.layout-showcase .steps li{border-radius:0}.layout-showcase .bk-ic,.layout-showcase .jn,.layout-showcase .corp-ic{border-radius:0}
.layout-showcase .corp{background:#0b0b0d}.layout-showcase .corp-card{border-bottom-color:var(--gold)}.layout-showcase .corp-ic{background:#fff6dd;color:#b87a00}.layout-showcase .corp-card .more{color:#b87a00}
.layout-showcase .brand-copy h2{font-size:clamp(2.2rem,5vw,4rem);line-height:1}
.layout-showcase .brand-in{grid-template-columns:1fr 1fr}
.layout-showcase .ribbon{background:var(--gold)}.layout-showcase .ribbon span{color:#0b0b0d}.layout-showcase .ribbon span::after{background:#0b0b0d}
.layout-showcase .cta-band{background:#0b0b0d}

/* ===== Layout model 1: Balanced (soft, rounded) already uses the base look. ===== */
.layout-balanced .brand{background:linear-gradient(180deg,var(--ivory),#fff)}

/* ===== Elementor friendliness ===== */
.elementor-page .site-main,.elementor-page main{padding:0}
.elementor-page .page-wrap{padding:0;width:100%;max-width:none}
.elementor-section.elementor-section-boxed>.elementor-container{max-width:1200px}
.elementor-widget-shortcode .sec{padding-left:0;padding-right:0}
.elementor-widget-shortcode .container{width:min(1200px,100%)}
.elementor-widget-container .hero,.elementor-widget-container .hero-split{border-radius:0}
.elementor-editor-active .reveal{opacity:1!important;transform:none!important}
.elementor-widget-heading .elementor-heading-title,.elementor-widget-text-editor{color:inherit}
