/*
Theme Name: Aiata Rabby Portfolio
Theme URI: https://aiatarabby.com/
Author: Zendip
Description: Responsive portfolio for Aiata Rabby and Shodesh Travels.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: aiata-rabby
*/
:root{--bg:#212428;--panel:#202327;--text:#c4cfde;--muted:#878e99;--accent:#ff014f;--line:#111318;--shadow:10px 10px 24px #17191d,-10px -10px 24px #292d32}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Poppins,Arial,sans-serif;line-height:1.7}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}img{max-width:100%;display:block}.sidebar{position:fixed;inset:0 auto 0 0;width:285px;padding:42px 38px 34px;background:#212428;border-right:1px solid #16181d;display:flex;flex-direction:column;z-index:30;overflow-y:auto}.side-photo{width:190px;height:190px;object-fit:cover;border-radius:50%;border:5px solid #31353b;box-shadow:var(--shadow);margin:0 auto 36px}.side-bio{display:none}.nav{display:grid;gap:13px}.nav a{font-size:14px;text-transform:uppercase;letter-spacing:.035em;padding:5px 0;transition:color .2s}.nav a:hover,.nav a.active{color:var(--accent)}.side-social{margin-top:auto;padding-top:34px}.side-social small,.contact-card small{display:block;text-transform:uppercase;letter-spacing:.18em;font-size:12px;color:var(--text);margin-bottom:19px}.social-row{display:flex;flex-wrap:wrap;gap:12px}.social-row a{width:43px;height:43px;display:grid;place-items:center;border-radius:9px;background:var(--panel);box-shadow:var(--shadow);font-size:16px;font-weight:700;transition:color .2s,transform .2s}.social-row a:hover{color:var(--accent);transform:translateY(-3px)}.overlay,.menu-toggle,.menu-close{display:none}.site-main{margin-left:285px;padding:0 4.3vw}.section{padding:105px 0;border-bottom:1px solid #16191e;scroll-margin-top:25px}.hero{min-height:790px;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#b7bdc8 1.8px,transparent 2px);background-size:165px 165px;opacity:.3;pointer-events:none}.hero-inner{position:relative;max-width:820px;width:100%}.hero-photo{width:min(325px,64vw);height:min(325px,64vw);object-fit:cover;object-position:center 20%;border-radius:50%;padding:8px;background:linear-gradient(35deg,#6860b9,#139fae,#ff5a77);margin:0 auto 22px}.hero h1{font-size:clamp(42px,5vw,66px);line-height:1.12;margin:0 0 12px;font-weight:750}.hero .role{font-size:clamp(20px,2.5vw,29px);margin:0 0 25px}.role strong{color:var(--accent);font-weight:500}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.18em;font-size:14px;font-weight:550}.hero .brand{margin:26px 0 0;font-weight:650;font-size:clamp(20px,2.7vw,31px)}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:53px;padding:12px 27px;border:0;border-radius:9px;background:var(--panel);box-shadow:var(--shadow);color:var(--accent);font-weight:550;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-3px);background:#292d32}.section h2{font-size:clamp(38px,4.6vw,58px);line-height:1.15;margin:5px 0 45px;letter-spacing:-.025em}.section-intro{max-width:690px;color:var(--muted);margin:-20px 0 36px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.card{background:var(--panel);border-radius:14px;box-shadow:var(--shadow);padding:38px;min-height:260px}.card .mark{width:43px;height:43px;border:3px solid var(--accent);border-radius:50%;margin-bottom:34px}.card h3{font-size:23px;line-height:1.3;margin:0 0 13px}.card p{margin:0;color:#aab4c3;font-size:16px}.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.video-card{border-radius:14px;overflow:hidden;background:#181a1f;box-shadow:var(--shadow)}.video-card a{display:block;position:relative;aspect-ratio:16/9;background:#121317}.video-card img{width:100%;height:100%;object-fit:cover}.video-card .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:66px;height:48px;border-radius:14px;background:#f00;color:white;display:grid;place-items:center;font-size:23px;line-height:1}.video-card h3{font-size:17px;padding:15px 18px;margin:0}.video-card p{padding:0 18px 16px;margin:0;color:var(--muted);font-size:14px}.video-card .external{display:grid;place-items:center;height:100%;padding:20px;text-align:center;color:var(--accent);font-weight:600}.people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.person{display:flex;align-items:center;gap:24px}.person img{width:130px;height:130px;border-radius:12px;object-fit:cover;object-position:top}.person h3{margin:0;font-size:24px}.person p{margin:2px 0 15px;color:var(--muted)}.person a{color:var(--accent);overflow-wrap:anywhere}.contact-layout{display:grid;grid-template-columns:.84fr 1.16fr;gap:35px}.contact-card,.contact-form{background:var(--panel);box-shadow:var(--shadow);border-radius:14px;padding:38px}.contact-card h3{font-size:29px;margin:0 0 12px}.contact-card p{color:var(--muted)}.contact-card a:not(.social-row a){overflow-wrap:anywhere}.contact-form label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.14em;margin:0 0 8px}.contact-form input,.contact-form textarea,.contact-form select{width:100%;border:2px solid #17191c;background:#191b1f;border-radius:7px;padding:13px 15px;color:var(--text);margin-bottom:19px}.contact-form textarea{min-height:145px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:19px}.contact-form .btn{width:100%;font-size:14px;letter-spacing:.1em}.form-message{margin:15px 0 0}.hp{position:absolute;left:-9999px}.footer{text-align:center;color:var(--muted);padding:55px 0 65px}.back-top{position:fixed;bottom:24px;right:24px;width:52px;height:52px;border-radius:50%;background:var(--panel);box-shadow:var(--shadow);display:grid;place-items:center;color:var(--accent);font-size:27px;z-index:20}@media(max-width:1100px){.sidebar{width:235px;padding:35px 25px}.site-main{margin-left:235px}.cards,.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.menu-toggle{display:grid;place-items:center;position:fixed;top:18px;right:18px;width:46px;height:46px;background:var(--bg);border:0;color:var(--accent);font-size:31px;line-height:1;z-index:25}.menu-close{display:grid;place-items:center;position:absolute;top:28px;right:18px;width:43px;height:43px;border:0;background:#22252a;border-radius:50%;color:var(--accent);font-size:29px}.sidebar{width:min(86vw,380px);max-width:380px;transform:translateX(-105%);transition:transform .3s;padding:37px 25px;box-shadow:12px 0 35px #0008}.sidebar.open{transform:translateX(0)}.overlay.open{display:block;position:fixed;inset:0;background:#0009;z-index:29}.side-photo{width:190px;height:190px;margin:0 0 26px}.side-bio{display:block;color:var(--muted);font-size:16px;margin:0 0 27px}.nav{border-top:1px solid #383b42;padding-top:22px;gap:12px}.nav a{font-size:15px}.site-main{margin-left:0;padding:0 20px}.section{padding:76px 0}.hero{min-height:690px;padding-top:55px}.hero-photo{width:min(310px,83vw);height:min(310px,83vw)}.cards,.video-grid,.people,.contact-layout{grid-template-columns:1fr}.card{min-height:auto;padding:28px}.person{padding:22px}.contact-card,.contact-form{padding:27px}.form-row{grid-template-columns:1fr;gap:0}.back-top{bottom:18px;left:18px;right:auto}}@media(max-width:440px){.hero h1{font-size:43px}.hero .role{min-height:77px}.section h2{font-size:39px}.person{display:block}.person img{width:100%;height:230px;margin-bottom:20px}.video-grid{gap:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.hero-photo{box-shadow:0 0 0 9px #ffffff08,0 26px 65px #0006;animation:hero-float 7s ease-in-out infinite}.hero h1{animation:hero-rise .75s both}.hero .role{animation:hero-rise .85s .13s both}.hero .btn{animation:hero-rise .9s .25s both}.role-enter{animation:role-in .35s both}.card,.contact-card,.contact-form,.video-card{transition:transform .32s ease,box-shadow .32s ease}.card:hover,.video-card:hover{transform:translateY(-7px);box-shadow:16px 19px 31px #14161a,-8px -8px 24px #292d32}.video-card a{overflow:hidden}.video-card img{transition:transform .5s ease}.video-card:hover img{transform:scale(1.045)}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.review{margin:0;min-height:230px}.review p{font-size:17px}.review footer{display:grid;gap:3px;margin-top:24px;color:var(--text)}.review footer span{color:var(--muted);font-size:14px}.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}.section h2{position:relative}.section h2:after{content:"";display:block;width:54px;height:3px;border-radius:9px;background:var(--accent);margin-top:19px}.hero:after{content:"";position:absolute;inset:12% 15%;border-radius:50%;background:radial-gradient(circle,#ff014f0c,transparent 65%);pointer-events:none}@keyframes hero-float{50%{transform:translateY(-8px)}}@keyframes hero-rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes role-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1100px){.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.review-grid{grid-template-columns:1fr}.hero:after{inset:15% 0}}@media(prefers-reduced-motion:reduce){.hero-photo,.hero h1,.hero .role,.hero .btn,.role-enter{animation:none}.reveal{opacity:1;transform:none}}
/* Mobile portrait and heading corrections */
@media(max-width:800px){.person img{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center;background:#f7f7f7}.person{align-items:flex-start}.section h2{max-width:100%;overflow-wrap:break-word;word-break:normal;hyphens:auto}.section:not(.hero){scroll-margin-top:80px}}
@media(max-width:440px){.person img{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center;margin-bottom:20px}.section h2{font-size:clamp(32px,9vw,39px);line-height:1.2;padding-right:54px}.menu-toggle{top:12px;right:12px;width:45px;height:45px;border-radius:9px;box-shadow:var(--shadow)}.card.person{padding:20px}.person h3{font-size:22px;overflow-wrap:anywhere}}
.hero-social{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:32px auto 0}.social-pill{display:inline-flex;align-items:center;gap:9px;min-height:47px;padding:8px 15px;border-radius:11px;background:#25292e;box-shadow:var(--shadow);color:var(--text);font-size:13px;font-weight:600;transition:transform .2s,color .2s}.social-pill:hover{transform:translateY(-4px);color:var(--accent)}.social-symbol{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:6px;background:#30353b;color:var(--accent);font-size:18px;font-weight:800;line-height:1}.whatsapp-pill .social-symbol{color:#25d366}@media(max-width:440px){.hero-social{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:27px}.social-pill{justify-content:center;padding:8px 10px;font-size:12px}.hero{min-height:760px}.hero .brand{margin-top:29px}}
.success-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:36px}.success-card{background:var(--panel);border-radius:14px;box-shadow:var(--shadow);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.success-card:hover{transform:translateY(-6px);box-shadow:16px 18px 32px #15171b,-8px -8px 24px #292d32}.success-card a{display:block;height:100%}.success-photo{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#f5f5f5}.fallback-photo{display:grid;place-items:center;background:#292d32;color:var(--accent);font-size:64px}.success-content{padding:20px 22px 24px}.success-content h3{font-size:21px;line-height:1.3;margin:0 0 9px}.success-content p{font-size:15px;color:var(--muted);margin:0 0 12px}.success-more{color:var(--accent);font-weight:600;font-size:14px}@media(max-width:1100px){.success-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.success-grid{grid-template-columns:1fr}}
/* Animated portrait frame and accessible testimonial carousel */
.hero-photo-frame{position:relative;isolation:isolate;width:min(325px,64vw);aspect-ratio:1;margin:0 auto 22px;padding:9px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 9px #ffffff08,0 26px 65px #0006;animation:hero-float 7s ease-in-out infinite}
.hero-photo-frame::before{content:"";position:absolute;inset:-50%;z-index:-1;background:conic-gradient(from 0deg,#7b5fba,#149faa,#ff014f,#ff9b65,#7b5fba);animation:portrait-spin 8s linear infinite}
.hero-photo-frame .hero-photo{width:100%;height:100%;margin:0;padding:0;border-radius:50%;object-fit:cover;object-position:center 20%;background:var(--bg);box-shadow:none;animation:none}
@keyframes portrait-spin{to{transform:rotate(360deg)}}
.review-carousel.is-ready .review-grid{display:block;max-width:760px;margin:auto}.review-carousel.is-ready .review{min-height:230px;animation:review-in .38s ease both}.review-carousel .review[hidden]{display:none!important}.review-controls{display:none;align-items:center;justify-content:center;gap:17px;margin-top:27px}.review-carousel.is-ready .review-controls{display:flex}.review-arrow,.review-dot{border:0;background:#292c31;color:var(--text);box-shadow:var(--shadow);display:grid;place-items:center}.review-arrow{width:45px;height:45px;border-radius:50%;font-size:23px}.review-dots{display:flex;align-items:center;gap:11px}.review-dot{width:12px;height:12px;border-radius:50%;padding:0}.review-dot[aria-current="true"]{background:var(--accent)}.review-arrow:hover,.review-arrow:focus-visible{color:var(--accent)}@keyframes review-in{from{opacity:0;transform:translateX(15px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:800px){.hero-photo-frame{width:min(310px,83vw)}}
@media(prefers-reduced-motion:reduce){.hero-photo-frame,.hero-photo-frame::before,.review-carousel.is-ready .review{animation:none}}

/* Reference-style typewriter cursor and drifting hero particles */
.role [data-roles]::after{content:"|";display:inline-block;color:var(--muted);font-weight:400;margin-left:5px;animation:cursor-blink .8s steps(1,end) infinite}
@keyframes cursor-blink{50%{opacity:0}}
.hero::before{animation:particle-drift 22s linear infinite}@keyframes particle-drift{to{background-position:75px -110px}}
@media(max-width:440px){.hero .role{min-height:100px;line-height:1.45;padding:0 8px;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.role [data-roles]::after,.hero::before{animation:none}}

/* Floating specks visible behind the portrait in the supplied reference video */
.hero-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.hero-particles span{position:absolute;width:5px;height:5px;border-radius:50%;background:#b9c0cb;opacity:.42;box-shadow:0 0 9px #b9c0cb60;animation:speck-float 9s ease-in-out infinite alternate}.hero-particles span:nth-child(1){left:12%;top:15%;width:3px;height:3px;animation-duration:8s}.hero-particles span:nth-child(2){left:78%;top:19%;animation-duration:11s;animation-delay:-4s}.hero-particles span:nth-child(3){left:6%;top:61%;width:3px;height:3px;animation-duration:13s;animation-delay:-7s}.hero-particles span:nth-child(4){left:91%;top:56%;width:7px;height:7px;animation-duration:10s;animation-delay:-2s}.hero-particles span:nth-child(5){left:24%;top:83%;width:4px;height:4px;animation-duration:12s;animation-delay:-6s}.hero-particles span:nth-child(6){left:70%;top:77%;width:3px;height:3px;animation-duration:9s;animation-delay:-3s}.hero-particles span:nth-child(7){left:48%;top:9%;width:4px;height:4px;animation-duration:15s;animation-delay:-8s}.hero-particles span:nth-child(8){left:87%;top:88%;width:3px;height:3px;animation-duration:14s;animation-delay:-5s}@keyframes speck-float{from{transform:translate3d(-5px,12px,0);opacity:.15}to{transform:translate3d(13px,-25px,0);opacity:.65}}@media(prefers-reduced-motion:reduce){.hero-particles span{animation:none}}
/* Keep the reference hero sparse: only the individually floating specks. */
.hero::before{background-image:none;animation:none}
.hero-particles span:nth-child(7),.hero-particles span:nth-child(8){display:none}
.hero-particles span{opacity:.3;box-shadow:none;animation-duration:12s}
@keyframes speck-float{from{transform:translate3d(-3px,9px,0);opacity:.12}to{transform:translate3d(7px,-16px,0);opacity:.55}}

/* Lively, plentiful floating dots requested for the reference-style hero */
.hero-particles span:nth-child(7),.hero-particles span:nth-child(8){display:block}
.hero-particles span{display:block;width:4px;height:4px;background:#cbd1dc;box-shadow:0 0 9px #ffffff66;animation-name:speck-dance;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes speck-dance{0%{transform:translate3d(-14px,20px,0) scale(.7);opacity:.12}45%{opacity:.72}100%{transform:translate3d(23px,-34px,0) scale(1.2);opacity:.58}}
.hero-particles span:nth-child(1){left:51%;top:63%;width:4px;height:4px;animation-duration:7s;animation-delay:-1.7s;opacity:0.45}
.hero-particles span:nth-child(2){left:88%;top:14%;width:5px;height:5px;animation-duration:8s;animation-delay:-3.4s;opacity:0.55}
.hero-particles span:nth-child(3){left:31%;top:55%;width:6px;height:6px;animation-duration:9s;animation-delay:-5.1s;opacity:0.65}
.hero-particles span:nth-child(4){left:68%;top:6%;width:3px;height:3px;animation-duration:10s;animation-delay:-6.8s;opacity:0.35}
.hero-particles span:nth-child(5){left:11%;top:47%;width:4px;height:4px;animation-duration:11s;animation-delay:-8.5s;opacity:0.45}
.hero-particles span:nth-child(6){left:48%;top:88%;width:5px;height:5px;animation-duration:12s;animation-delay:-10.2s;opacity:0.55}
.hero-particles span:nth-child(7){left:85%;top:39%;width:6px;height:6px;animation-duration:13s;animation-delay:-11.9s;opacity:0.65}
.hero-particles span:nth-child(8){left:28%;top:80%;width:3px;height:3px;animation-duration:14s;animation-delay:-13.6s;opacity:0.35}
.hero-particles span:nth-child(9){left:65%;top:31%;width:4px;height:4px;animation-duration:6s;animation-delay:-15.3s;opacity:0.45}
.hero-particles span:nth-child(10){left:8%;top:72%;width:5px;height:5px;animation-duration:7s;animation-delay:-17.0s;opacity:0.55}
.hero-particles span:nth-child(11){left:45%;top:23%;width:6px;height:6px;animation-duration:8s;animation-delay:-18.7s;opacity:0.65}
.hero-particles span:nth-child(12){left:82%;top:64%;width:3px;height:3px;animation-duration:9s;animation-delay:-20.4s;opacity:0.35}
.hero-particles span:nth-child(13){left:25%;top:15%;width:4px;height:4px;animation-duration:10s;animation-delay:-22.1s;opacity:0.45}
.hero-particles span:nth-child(14){left:62%;top:56%;width:5px;height:5px;animation-duration:11s;animation-delay:-23.8s;opacity:0.55}
.hero-particles span:nth-child(15){left:5%;top:7%;width:6px;height:6px;animation-duration:12s;animation-delay:-25.5s;opacity:0.65}
.hero-particles span:nth-child(16){left:42%;top:48%;width:3px;height:3px;animation-duration:13s;animation-delay:-27.2s;opacity:0.35}
.hero-particles span:nth-child(17){left:79%;top:89%;width:4px;height:4px;animation-duration:14s;animation-delay:-28.9s;opacity:0.45}
.hero-particles span:nth-child(18){left:22%;top:40%;width:5px;height:5px;animation-duration:6s;animation-delay:-30.6s;opacity:0.55}
.hero-particles span:nth-child(19){left:59%;top:81%;width:6px;height:6px;animation-duration:7s;animation-delay:-32.3s;opacity:0.65}
.hero-particles span:nth-child(20){left:96%;top:32%;width:3px;height:3px;animation-duration:8s;animation-delay:-34.0s;opacity:0.35}
.hero-particles span:nth-child(21){left:39%;top:73%;width:4px;height:4px;animation-duration:9s;animation-delay:-35.7s;opacity:0.45}
.hero-particles span:nth-child(22){left:76%;top:24%;width:5px;height:5px;animation-duration:10s;animation-delay:-37.4s;opacity:0.55}
.hero-particles span:nth-child(23){left:19%;top:65%;width:6px;height:6px;animation-duration:11s;animation-delay:-39.1s;opacity:0.65}
.hero-particles span:nth-child(24){left:56%;top:16%;width:3px;height:3px;animation-duration:12s;animation-delay:-40.8s;opacity:0.35}
.hero-particles span:nth-child(25){left:93%;top:57%;width:4px;height:4px;animation-duration:13s;animation-delay:-42.5s;opacity:0.45}
.hero-particles span:nth-child(26){left:36%;top:8%;width:5px;height:5px;animation-duration:14s;animation-delay:-44.2s;opacity:0.55}
.hero-particles span:nth-child(27){left:73%;top:49%;width:6px;height:6px;animation-duration:6s;animation-delay:-45.9s;opacity:0.65}
.hero-particles span:nth-child(28){left:16%;top:90%;width:3px;height:3px;animation-duration:7s;animation-delay:-47.6s;opacity:0.35}
@media(prefers-reduced-motion:reduce){.hero-particles span{animation:none;opacity:.35}}
/* Visibility repair on both desktop and mobile: particle layer stays above the hero backdrop. */
.hero{isolation:isolate}
.hero::before,.hero::after{z-index:-1}
.hero-particles{z-index:2;display:block;visibility:visible;opacity:1;min-height:100%;width:100%}
.hero-inner{z-index:3}
.hero-particles span{display:block!important;visibility:visible;position:absolute;background:#e1e7f0;box-shadow:0 0 8px 2px #dbe4ef80;min-width:5px;min-height:5px;animation:speck-dance 7s ease-in-out infinite alternate!important;will-change:transform,opacity}
@media(prefers-reduced-motion:reduce){.hero-particles span{animation:none!important;opacity:.65!important}}
