:root{
  --psc-accent:#1f6feb;
  --psc-accent-dark:#1557b0;
  --psc-ink:#17191c;
  --psc-muted:#6b7280;
  --psc-soft:#f5f7fa;
  --psc-line:#e5e8ec;
  --psc-white:#fff;
  --psc-radius:20px;
  --psc-shadow:0 18px 55px rgba(18,24,40,.09);
}

.ps-photo-studio-site #main-content{background:#fff}
.ps-photo-studio-site #main-content>.container{width:100%;max-width:none;padding:0}
.ps-photo-studio-site #main-content>.container:before{display:none}
.ps-photo-studio-site #left-area{width:100%;padding:0!important;float:none}
.ps-photo-studio-site #sidebar{display:none}
.ps-photo-studio-site article.page{margin:0;padding:0}
.ps-photo-studio-site .entry-content{padding:0}
.ps-photo-studio-site .entry-content>p:empty{display:none}
.ps-site-shell{overflow:hidden;color:var(--psc-ink)}
.ps-container{width:min(1180px,calc(100% - 40px));margin:0 auto}
.ps-section{padding:92px 0}
.ps-section-soft{background:var(--psc-soft)}
.ps-section-dark{background:#111419;color:#fff}
.ps-section-dark h2,.ps-section-dark p{color:#fff}
.ps-center{text-align:center;margin-top:34px}
.ps-eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:900;color:var(--psc-accent);margin-bottom:12px}
.ps-eyebrow-light{color:#b9d3ff}
.ps-section-head{max-width:720px;margin:0 auto 44px;text-align:center}
.ps-section-head h2,.ps-page-hero h1,.ps-split-copy h2,.ps-upload-cta h2,.ps-contact-strip h2{font-size:clamp(34px,4vw,54px);line-height:1.08;margin:0 0 16px;color:var(--psc-ink)}
.ps-section-head p,.ps-page-hero p,.ps-split-copy p,.ps-upload-cta p,.ps-contact-strip p{font-size:18px;line-height:1.7;color:var(--psc-muted);margin:0}

.ps-hero{min-height:690px;background:linear-gradient(120deg,#141820,#283242);background-size:cover;background-position:center;display:flex;align-items:center;color:#fff}
.ps-hero-inner{display:flex;align-items:center;min-height:690px}
.ps-hero-copy{max-width:760px;padding:80px 0}
.ps-hero .ps-eyebrow{color:#b9d3ff}
.ps-hero h1{font-size:clamp(48px,7vw,82px);line-height:.98;letter-spacing:-.045em;margin:0 0 24px;color:#fff;max-width:920px}
.ps-hero p{font-size:clamp(18px,2vw,23px);line-height:1.6;max-width:720px;color:rgba(255,255,255,.88);margin:0 0 34px}
.ps-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.ps-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 24px;border-radius:999px;text-decoration:none!important;font-weight:900;font-size:15px;border:2px solid transparent;cursor:pointer;line-height:1.2}
.ps-button-primary{background:var(--psc-accent);color:#fff!important}
.ps-button-primary:hover{background:var(--psc-accent-dark);transform:translateY(-2px)}
.ps-button-ghost{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.28);color:#fff!important;backdrop-filter:blur(10px)}
.ps-button-ghost:hover{background:rgba(255,255,255,.18)}
.ps-button-light{background:#fff;color:#15171a!important}
.ps-button-light:hover{transform:translateY(-2px);background:#f4f5f7}
.ps-button-outline{border-color:#cfd4da;color:var(--psc-ink)!important;background:transparent}
.ps-button-outline:hover{border-color:var(--psc-accent);color:var(--psc-accent)!important}
.ps-text-link{font-weight:900;color:var(--psc-accent)!important;text-decoration:none!important}

.ps-page-hero{padding:100px 0 72px;background:linear-gradient(135deg,#f3f6fb,#eef2f7)}
.ps-page-hero .ps-container{max-width:900px;text-align:center}
.ps-page-hero h1{font-size:clamp(48px,6vw,74px)}
.ps-page-hero p{max-width:720px;margin:0 auto}

.ps-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ps-service-card{background:#fff;border:1px solid var(--psc-line);border-radius:var(--psc-radius);overflow:hidden;box-shadow:0 10px 35px rgba(18,24,40,.05);transition:.25s ease}
.ps-service-card:hover{transform:translateY(-5px);box-shadow:var(--psc-shadow)}
.ps-service-image{aspect-ratio:16/10;background-size:cover;background-position:center}
.ps-service-image.ps-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#e9eef7,#f8fafc)}
.ps-service-image.ps-placeholder span{font-weight:950;letter-spacing:.24em;color:#a2aab7}
.ps-service-body{padding:26px}
.ps-service-body h3{font-size:23px;margin:0 0 10px;color:var(--psc-ink)}
.ps-service-body p{font-size:16px;line-height:1.65;color:var(--psc-muted);margin:0 0 18px}
.ps-price-pill{display:inline-flex;background:#eef5ff;color:#1259b7;border-radius:999px;padding:7px 11px;font-size:13px;font-weight:900}

.ps-upload-cta{display:flex;align-items:center;justify-content:space-between;gap:40px}
.ps-upload-cta>div{max-width:760px}
.ps-upload-cta h2{color:#fff;margin-bottom:12px}
.ps-upload-cta p{color:rgba(255,255,255,.72)}

.ps-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ps-gallery-item{appearance:none;border:0;padding:0;background:#e9edf2;border-radius:14px;overflow:hidden;position:relative;aspect-ratio:1/1;cursor:pointer}
.ps-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.ps-gallery-item span{position:absolute;left:12px;right:12px;bottom:12px;background:rgba(0,0,0,.55);color:#fff;border-radius:9px;padding:8px 10px;text-align:left;font-size:13px;font-weight:800;opacity:0;transform:translateY(8px);transition:.25s ease;backdrop-filter:blur(8px)}
.ps-gallery-item:hover img{transform:scale(1.04)}
.ps-gallery-item:hover span{opacity:1;transform:none}
.ps-empty{padding:40px;border:1px dashed #cbd1d9;background:#fafbfc;border-radius:16px;text-align:center;color:var(--psc-muted);line-height:1.7}

.ps-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.ps-media-card{min-height:520px;border-radius:24px;background:linear-gradient(135deg,#e8edf4,#f8fafc);box-shadow:var(--psc-shadow);background-size:cover;background-position:center;position:relative;overflow:hidden}
.ps-media-card:not(.has-image):after{content:'PHOTO STUDIO';position:absolute;inset:0;display:grid;place-items:center;font-size:20px;letter-spacing:.24em;font-weight:950;color:#a1a9b5}
.ps-split-copy h2{margin-bottom:20px}
.ps-split-copy p{margin-bottom:18px}
.ps-split-copy .ps-button{margin-top:10px}

.ps-price-table{border:1px solid var(--psc-line);border-radius:18px;overflow:hidden;background:#fff}
.ps-price-row{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:20px 24px;border-bottom:1px solid var(--psc-line)}
.ps-price-row:last-child{border-bottom:0}
.ps-price-row strong{font-size:17px;color:var(--psc-ink)}
.ps-price-row small{display:block;margin-top:4px;color:var(--psc-muted);font-size:13px}
.ps-price-row>span{font-size:18px;font-weight:950;color:var(--psc-accent);white-space:nowrap}
.ps-price-group{margin-bottom:44px}
.ps-price-group h2{font-size:29px;margin:0 0 16px}

.ps-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ps-feature{background:#fff;border:1px solid var(--psc-line);border-radius:18px;padding:30px}
.ps-feature>strong{font-size:13px;letter-spacing:.12em;color:var(--psc-accent)}
.ps-feature h3{font-size:22px;margin:15px 0 10px}
.ps-feature p{color:var(--psc-muted);line-height:1.65;margin:0}

.ps-contact-strip{border-top:1px solid var(--psc-line)}
.ps-contact-strip-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}
.ps-contact-strip h2{font-size:clamp(30px,3vw,44px);margin-bottom:10px}
.ps-contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:36px;align-items:start}
.ps-contact-panel,.ps-contact-form-card{background:#fff;border:1px solid var(--psc-line);border-radius:20px;padding:34px;box-shadow:0 12px 40px rgba(18,24,40,.05)}
.ps-contact-panel h2{font-size:36px;margin:0 0 28px}
.ps-contact-list{display:grid;gap:22px}
.ps-contact-list>div{padding-bottom:18px;border-bottom:1px solid var(--psc-line)}
.ps-contact-list>div:last-child{border-bottom:0;padding-bottom:0}
.ps-contact-list small{display:block;color:var(--psc-muted);font-weight:700;margin-bottom:5px}
.ps-contact-list a,.ps-contact-list span{font-size:17px;color:var(--psc-ink)!important;text-decoration:none!important;line-height:1.6}
.ps-contact-form label{display:block;margin-bottom:18px}
.ps-contact-form label span{display:block;font-weight:800;margin-bottom:7px}
.ps-contact-form input,.ps-contact-form textarea{width:100%;box-sizing:border-box;border:1px solid #cfd5dc;border-radius:11px;padding:13px 14px;font:inherit;background:#fff}
.ps-contact-form input:focus,.ps-contact-form textarea:focus{outline:2px solid rgba(31,111,235,.16);border-color:var(--psc-accent)}
.ps-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.ps-hp{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important}
.ps-notice{padding:12px 14px;border-radius:10px;margin-bottom:18px;font-weight:700}
.ps-notice.success{background:#e9f8ee;color:#176b35}.ps-notice.error{background:#ffeded;color:#962626}
.ps-map-section iframe{display:block;width:100%;height:460px;border:0}

.ps-lightbox{position:fixed;inset:0;background:rgba(6,8,11,.92);z-index:999999;display:none;align-items:center;justify-content:center;padding:30px}
.ps-lightbox.is-open{display:flex}
.ps-lightbox img{max-width:min(1400px,92vw);max-height:88vh;object-fit:contain;border-radius:8px}
.ps-lightbox-close{position:absolute;top:18px;right:20px;width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:28px;cursor:pointer}
.ps-lightbox-title{position:absolute;left:24px;bottom:18px;right:80px;color:#fff;font-weight:800}

@media(max-width:980px){
  .ps-section{padding:72px 0}
  .ps-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ps-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ps-split{grid-template-columns:1fr;gap:36px}
  .ps-media-card{min-height:420px}
  .ps-contact-layout{grid-template-columns:1fr}
}
@media(max-width:720px){
  .ps-container{width:min(100% - 28px,1180px)}
  .ps-section{padding:58px 0}
  .ps-hero,.ps-hero-inner{min-height:590px}
  .ps-hero-copy{padding:64px 0}
  .ps-hero h1{font-size:46px}
  .ps-page-hero{padding:76px 0 54px}
  .ps-page-hero h1{font-size:46px}
  .ps-card-grid{grid-template-columns:1fr}
  .ps-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .ps-upload-cta,.ps-contact-strip-inner{align-items:flex-start;flex-direction:column}
  .ps-feature-grid{grid-template-columns:1fr}
  .ps-form-grid{grid-template-columns:1fr;gap:0}
  .ps-contact-panel,.ps-contact-form-card{padding:24px}
  .ps-price-row{padding:17px 16px;gap:15px}
  .ps-media-card{min-height:330px}
}
