/* OR. MUSE / OR. MASQUE | OR.TOUCH-inspired pastel visual language */
:root{--paper:#fff7fc;--white:#fffafd;--ink:#362444;--muted:#705b79;--line:#ddc9e4;--pink:#ffe3f0;--purple:#ede0ff;--mint:#dbf5e9;--yellow:#f8e24c;--font:"Be Vietnam Pro",Arial,sans-serif}
body{background:#fff7fc;color:var(--ink)}body::before{content:"";display:block;height:10px;background:linear-gradient(90deg,#f14c78 0%,#ff975d 16%,#f1d447 32%,#61c6a0 49%,#60b6eb 65%,#7976e5 82%,#b669dc 100%);pointer-events:none}
.header{height:116px}.wordmark{font:800 34px/1.2 var(--font);letter-spacing:-.07em;color:#9f2887;display:flex;flex-direction:column;gap:7px}.wordmark .logo-word span{color:#b32e94}.wordmark small{font:600 9px/1.2 var(--font);letter-spacing:.19em;color:#6e4876}.wordmark small span{color:#b19aaa}.nav{background:#f1e3f8;border:1px solid #e3d0ed;border-radius:99px;padding:12px 13px;gap:25px;font-size:12px;color:#54315a;box-shadow:0 4px 20px #7a3e7308}.nav a{padding:7px 6px}.nav .admin-link{border:0;background:#fff9;border-radius:99px;padding:10px 14px;margin-left:4px}.nav .admin-link:hover{text-decoration:none;background:#fff}
.hero{position:relative;grid-template-columns:1.06fr .94fr;min-height:575px;gap:0;border-radius:10px;background:linear-gradient(120deg,#ffe8f3 0%,#f2e8ff 60%,#e7f3ff 100%);margin-bottom:110px;overflow:hidden}.hero-content{padding:65px 32px 50px 54px;position:relative;z-index:2}.eyebrow,.section-kicker{color:#7e4a80;letter-spacing:.18em}.eyebrow-dot{background:#e64ba2}.hero h1,.section-header h2,.booking-copy h2,.info-section h2,.admin-title h1{font-family:var(--font);font-weight:800;letter-spacing:-.04em}.hero h1{font-size:clamp(40px,4.6vw,65px);font-weight:600;line-height:1.2;margin:36px 0 22px;max-width:625px}.hero h1 em,.section-header h2 em,.booking-copy h2 em,.info-section h2 em,.admin-title h1 em{font-style:normal;font-weight:600;color:#a02c73}.hero-sub{max-width:440px;font-size:15px;color:#5f4269;line-height:1.85}.hero-action{background:#fbe44e;color:#48254d;border-radius:99px;border:1px solid #5c2e63;font-size:14px;font-weight:800;box-shadow:5px 5px 0 #59265e;padding:17px 23px;margin-top:18px}.hero-action:hover,.submit-btn:hover{background:#f7d742;color:#48254d}.hero-caption{color:#98678c;margin-top:auto;padding-top:55px}.hero-visual{min-height:575px;overflow:hidden;border-radius:0;background:transparent;isolation:isolate}.hero-visual:before,.visual-orbit,.visual-center{display:none}.hero-photo{position:absolute;overflow:hidden;border-radius:220px 220px 24px 24px;border:6px solid #fff8;box-shadow:0 22px 50px #4d32602d}.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}.main-photo{height:78%;width:59%;top:12%;left:11%;transform:rotate(-4deg)}.side-photo{height:55%;width:42%;top:28%;right:2%;transform:rotate(8deg)}.floating-tag{border:1px solid #edcce9;box-shadow:0 8px 20px #4a2a551f;white-space:nowrap}.tag-muse{top:16%;left:0;z-index:4;background:#ffe9f4;color:#8d287d;transform:rotate(-8deg)}.tag-masque{bottom:14%;right:4%;z-index:4;transform:rotate(8deg);background:#e6d8f7;color:#64367e}.hero-ribbon{position:absolute;z-index:4;bottom:15%;left:5%;background:#ffea4b;color:#59255c;font-size:11px;font-weight:900;letter-spacing:.1em;padding:14px 20px;transform:rotate(-8deg);border:1px solid #6c3b6c;box-shadow:4px 4px 0 #59255b}.hero-ribbon span{padding-left:18px}.visual-foot{z-index:3;color:#663d68;bottom:17px;left:18px;right:18px;font-weight:800;text-shadow:0 1px #fff}
.service-section{margin-bottom:105px}.section-header{margin-bottom:27px}.section-header h2{font-size:clamp(30px,3.8vw,48px);font-weight:600;line-height:1.3}.section-header p{color:#765e7c;max-width:340px}.service-card{border-radius:15px;min-height:320px;box-shadow:0 12px 45px #652c6810;color:#4e2c55;border-top:6px solid #d959aa}.service-card.muse{background:#ffe3f0;border-color:#efbed5;border-top-color:#e65a99;color:#822356}.service-card.masque{background:#ede0ff;border-color:#d1b9ec;border-top-color:#a26bdb;color:#623486}.service-card strong{font:600 clamp(32px,4vw,54px)/1.2 var(--font);letter-spacing:-.055em}.service-symbol{color:#b42c86}.service-card.masque .service-symbol{color:#794ab8}.service-card:hover{box-shadow:0 16px 45px #652c6820}.service-bottom{border-top-color:#732c6622}
.portfolio-section{margin-bottom:115px}.portfolio-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.portfolio-card{position:relative;margin:0;border-radius:12px;overflow:hidden;background:#eddded;aspect-ratio:.76;isolation:isolate}.portfolio-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.portfolio-card:hover img{transform:scale(1.055)}.portfolio-card figcaption{position:absolute;inset:auto 0 0;padding:28px 12px 13px;background:linear-gradient(transparent,#2c142e9e);color:#fff;display:flex;flex-direction:column;gap:4px}.portfolio-card figcaption span{font-size:9px;font-weight:800;letter-spacing:.13em}.portfolio-card figcaption strong{font-size:11px;font-weight:600;line-height:1.35}.portfolio-featured{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}.portfolio-featured figcaption{padding:40px 18px 20px}.portfolio-caption{color:#8c738d;font-size:11px;margin:13px 0 0}
.booking-section{background:linear-gradient(125deg,#f8e3f1 0%,#eee6fc 58%,#e5f3fa 100%);padding:104px 0 112px}.booking-copy h2{font-size:clamp(44px,4.8vw,64px);font-weight:600}.booking-copy>p{color:#705878}.how-it-works{border-color:#d9c5db}.how-it-works div{border-color:#d9c5db}.how-it-works b,.note-icon{color:#a33886}.soft-note{background:#ffffffa6}.soft-note p{color:#6a546c}.booking-panel{border:1px solid #e8d4e7;border-radius:18px;background:#fffafd;box-shadow:0 28px 75px #6d326421}.panel-heading{color:#99328b}.panel-heading-star{color:#bb3b98}.step-number{color:#a42b8e;background:#fae4f1}.brand-switch button{border-color:#ead9ea;color:#775981}.brand-switch button.active{background:#72286a;border-color:#72286a;color:#fff}.field-label{color:#715478}.field-input{background:#fff;border:1px solid #e6d7e7;color:#43244c;border-radius:9px}.field-input:focus{border-color:#b262a7;outline:2px solid #f6d5ed}.field-input::placeholder{color:#af9ab1}.date-chip,.slot-chip{border-color:#e9deed}.date-chip.active{background:#77316d;border-color:#77316d}.slot-chip.active{background:#fce7f1;border-color:#c342a0;color:#912f79}.submit-btn{background:#ffe65a;color:#4b2550;border:1px solid #693568;box-shadow:3px 3px 0 #6a3466;border-radius:9px}.submit-btn:disabled{opacity:.48}.info-cards>div{border-color:#d9c5db}.info-cards span{color:#b83398}.info-cards h3{font-family:var(--font);font-weight:800}.info-cards p{color:#735c77}.footer{background:#482550}.footer-brand{font-family:var(--font);font-weight:900;letter-spacing:-.04em}
.admin-title h1{font-size:clamp(48px,6vw,78px)}.admin-title p{color:#786280}.admin-tabs{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}.admin-tabs button{border-radius:99px;border:1px solid #e0c4e2;background:#f5e9f7;color:#65396a;padding:14px 22px;font-weight:800;font-size:13px}.admin-tabs button.active{background:#783372;color:#fff;border-color:#783372}.stat{background:#f2e5f5;border-color:#e6d0e7}.stat span{color:#77547b}.outlined-btn{border-color:#d5b8d5;color:#57305c}.admin-grid{align-items:start}.admin-box{border-radius:16px;border-color:#e9d6e9;background:#fffaff;box-shadow:0 8px 26px #61296208}.admin-box-header h2{font-family:var(--font);font-size:27px;font-weight:800;line-height:1.15;letter-spacing:-.04em}.admin-box-header p,.admin-hint{font-size:12px;color:#79627d}.admin-box-header{display:flex;justify-content:space-between;gap:20px;align-items:center}.admin-box-header p{max-width:315px}.quick-booking-box{margin-bottom:23px;background:linear-gradient(130deg,#fff5fd,#f5f0ff)}.quick-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 16px}.quick-time-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-submit{max-width:340px}.admin-item{background:#f9f0f8}.admin-item p{color:#786681}.admin-filter button{border-color:#dcc7df;color:#57345d}.admin-filter button.active{background:#783372;color:#fff}.admin-actions button{color:#4b3550;border-color:#d8c3d7}.admin-subtitle{color:#653b70}.status.pending{background:#fff0ae}.status.confirmed{background:#d8f3e0}.status.open{background:#d8f3e0}.content-admin-grid{grid-template-columns:1fr 1fr}.content-admin-grid textarea{resize:vertical}.photo-consent{display:flex;align-items:flex-start;gap:10px;margin:0 0 20px;font-size:12px;line-height:1.5;color:#6c5474;cursor:pointer}.photo-consent input{margin-top:3px;accent-color:#9b398f}.admin-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.admin-photo{display:flex;flex-direction:column;gap:6px;min-width:0}.admin-photo img{width:100%;aspect-ratio:.86;object-fit:cover;border-radius:8px}.admin-photo small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;color:#876f89}.admin-photo button{border:1px solid #cdaacf;background:#fff;border-radius:6px;padding:8px 3px;font-size:11px;color:#754079;cursor:pointer}.admin-photo.photo-hidden{opacity:.42}.admin-hint{line-height:1.7}.admin-photo button:hover{background:#faeaf9}
@media(max-width:1000px){.header{height:95px}.hero{min-height:520px}.hero-visual{min-height:520px}.hero-content{padding:50px 23px 45px 34px}.hero h1{font-size:clamp(40px,4.6vw,65px)}.hero-photo.main-photo{left:8%;width:66%}.hero-photo.side-photo{right:0;width:45%}.portfolio-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.quick-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-admin-grid{grid-template-columns:1fr}}
@media(max-width:700px){.container{width:min(calc(100% - 24px),540px)}.header{height:83px}.wordmark{font-size:31px}.wordmark small{font-size:7px}.nav{gap:4px;padding:7px;font-size:10px}.nav a[href="#gallery"],.nav a[href="#about"]{display:none}.nav .admin-link{margin-left:0;padding:8px 9px}.hero{margin-bottom:70px;border-radius:9px;min-height:0;grid-template-columns:1fr}.hero-content{padding:42px 22px 20px}.hero h1{font-size:clamp(38px,9.8vw,52px);margin:23px 0 13px}.hero-sub{font-size:13px}.hero-action{margin-top:13px}.hero-caption{padding-top:32px;font-size:8px}.hero-visual{min-height:390px;max-height:none;border-radius:0}.main-photo{height:80%;width:52%;top:8%;left:20%}.side-photo{height:62%;width:42%;top:26%;right:4%}.hero-ribbon{bottom:10%;left:4%;font-size:9px;padding:11px}.tag-muse{top:12%;left:3%}.tag-masque{bottom:24%;right:0}.visual-foot{bottom:10px}.service-section{margin-bottom:70px}.service-card strong{font-size:clamp(30px,8vw,43px)}.portfolio-section{margin-bottom:74px}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.portfolio-featured{grid-column:span 2;grid-row:span 1;aspect-ratio:1.2}.portfolio-card figcaption{padding:30px 9px 10px}.booking-section{padding:67px 0}.booking-copy h2{font-size:52px}.admin-box-header{align-items:flex-start;flex-direction:column;gap:0}.admin-box-header h2{font-size:25px}.quick-form-grid{grid-template-columns:1fr}.quick-submit{max-width:unset}.admin-toolbar{gap:8px}.admin-tabs button{font-size:12px;padding:11px 13px}.admin-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-admin-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.portfolio-card img{transition:none}}

/* Grand opening promotion: one campaign, visually distinct and editable in admin. */
.launch-promo{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:28px 34px;margin:20px 0 28px;border:2px solid #6d3067;border-radius:15px;background:#f8e24c;box-shadow:0 8px 28px #84366408;color:#4e2853}
.launch-promo[hidden]{display:none!important}
.launch-promo-label{font-size:11px;font-weight:900;letter-spacing:.14em}
.launch-promo h3{display:flex;flex-direction:column;gap:4px;font-size:clamp(24px,3.1vw,42px);line-height:1.07;letter-spacing:-.05em;margin:13px 0;font-family:var(--font)}
.launch-promo h3 span:last-child{color:#a52a80;font-size:.73em}
.launch-promo p{font-size:12px;line-height:1.65;margin:0;max-width:650px}
.launch-promo-sticker{min-width:156px;display:flex;align-items:center;flex-direction:column;gap:10px;padding:19px 16px;border-radius:50%;transform:rotate(8deg);background:#6a2e69;color:#fff;text-align:center}
.launch-promo-sticker span{font-size:10px;font-weight:700;letter-spacing:.1em}
.launch-promo-sticker del{font-size:15px;color:#ffdfed}
.launch-promo-sticker strong{font-size:20px;font-weight:900;white-space:nowrap}
.photo-offer-promo{font-size:11px;font-weight:800;color:#97326d;background:#fff5cb;border-radius:6px;padding:9px 10px;margin:-8px 0 14px}
.promo-checkbox{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:750;margin:7px 0 17px}
.promo-checkbox input{width:18px;height:18px;accent-color:#8f3a7e}
@media(max-width:700px){.launch-promo{flex-direction:column;align-items:stretch;gap:18px;padding:22px 18px;box-shadow:0 8px 28px #84366408}.launch-promo-sticker{min-width:0;align-self:flex-end;flex-direction:row;gap:12px;border-radius:999px;transform:none;padding:12px 16px}.launch-promo h3{font-size:clamp(26px,7.2vw,38px)}}
/* OR. PHOTO STUDIO · cohesive with OR.TOUCH pastel panels */
.photo-offers-section{margin:0 auto 110px;scroll-margin-top:95px}
.photo-offer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:28px}
.photo-offer-card{position:relative;min-width:0;display:flex;flex-direction:column;overflow:hidden;padding:22px 20px 20px;border-radius:15px;border:1px solid #dfc8df;box-shadow:0 8px 28px #84366408;background:#fce9f3;color:#4b2953}
.photo-offer-full{background:#fff0c1;border-color:#ead593;border-top:5px solid #eea247}
.photo-offer-solo{background:#ffe3f0;border-color:#efbed5;border-top:5px solid #e65a99}
.photo-offer-duo{background:#dbf5e9;border-color:#b1dac8;border-top:5px solid #44ad87}
.photo-offer-group{background:#dff0ff;border-color:#b4d4ee;border-top:5px solid #5aace2}
.photo-offer-top{display:flex;justify-content:space-between;gap:9px;border-bottom:1px solid #66385b3c;padding-bottom:15px;font-size:10px;font-weight:800;letter-spacing:.07em}
.photo-offer-top span:last-child{text-align:right}
.photo-offer-main{flex:1}
.photo-offer-main h3{margin:22px 0 8px;font-size:clamp(21px,2.3vw,31px);font-weight:900;letter-spacing:-.05em;line-height:1.14;font-family:var(--font)}
.photo-offer-main strong{display:block;font-size:clamp(21px,2.3vw,30px);letter-spacing:-.04em;line-height:1.2;color:#a32d7c;margin-bottom:22px;overflow-wrap:anywhere}
.photo-offer-full .photo-offer-main strong{color:#6b2d63}
.photo-offer-main ul{padding-left:18px;margin:0 0 25px;line-height:1.55;font-size:12px;color:#674e6c}
.photo-offer-main li{margin:0 0 8px}
.photo-offer-card button{width:100%;border:1px solid #5d315e;background:#fff9fe;padding:12px 13px;border-radius:8px;color:#572d5b;display:flex;justify-content:space-between;font-weight:800;cursor:pointer}
.photo-offer-card button:hover{background:#672e66;color:#fff}
.photo-offer-footnote{font-size:12px;line-height:1.7;color:#7c6482;margin:22px 0 0}
.service-price-note{font-size:12px;line-height:1.55;margin:8px 0 10px;color:#9d397e}
.photo-editor{border:1px solid #e7cde2;border-radius:13px;padding:18px;margin:20px 0;background:#fff6fc}
.photo-editor legend{padding:0 8px;font-size:15px;font-weight:800;color:#67316a}
.photo-editor-row{border-top:1px solid #f1dfec;padding-top:14px;margin-top:13px}
.photo-editor-row .field-label{display:block}
.photo-editor-row textarea{resize:vertical}
@media(max-width:1000px){.photo-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.photo-offers-section{margin-bottom:78px}.photo-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.photo-offer-card{padding:15px 12px}.photo-offer-top{font-size:8px;flex-wrap:wrap}.photo-offer-main h3{font-size:22px}.photo-offer-main strong{font-size:20px}.photo-offer-main ul{font-size:11px;padding-left:13px}.photo-offer-card button{font-size:11px}}
@media(max-width:420px){.photo-offer-grid{grid-template-columns:1fr}.photo-offer-card{padding:21px}.photo-offer-main h3{font-size:28px}.photo-offer-main strong{font-size:27px}}
/* Additions preserve the approved cards and pastel palette. */
.service-card.photo{background:#dff0ff;border-color:#b4d4ee;border-top-color:#5aace2;color:#285d83}.service-card.photo strong{font-size:clamp(32px,4vw,54px)}
.november-promo{margin-top:24px;padding:24px;border-radius:15px;background:linear-gradient(115deg,#fbd1e8,#e3dcff,#fff0a6);border:1px solid #bb84b6;box-shadow:4px 4px 0 #e8c4e4}.november-promo strong{font-size:clamp(18px,3vw,28px)}.november-promo p{line-height:1.6;margin:9px 0}.november-promo p:first-of-type{font-size:22px;font-weight:800}
.brand-switch{flex-wrap:wrap}.brand-switch button{min-width:0;flex:1 1 120px}.service-card{min-width:0}.service-card strong{overflow-wrap:anywhere}
dialog{color:var(--ink);background:var(--paper);border:1px solid #bb84b6;border-radius:16px;padding:24px;width:min(95vw,520px);max-height:90vh;overflow:auto}dialog::backdrop{background:#3c204670}dialog .outlined-btn{margin-top:16px}dialog label{font-size:13px}
@media(min-width:1001px){.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card strong{font-size:43px}}
@media(max-width:400px){.nav{gap:0;padding:4px}.nav a{padding:6px 4px}.nav a[href="#photoPackages"]{display:none}.hero .eyebrow{letter-spacing:.08em;font-size:9px}}

/* OR.TOUCH reference: matching type, card ink and understated borders. */
.wordmark,.wordmark .logo-word span{color:#a02c73}.wordmark small{color:#76527f}.wordmark small span{color:#a02c73}
.service-card{box-shadow:0 8px 28px #84366408;border-radius:16px}.service-card strong{letter-spacing:-.04em}
.photo-offer-main h3{font-weight:600}.photo-offer-main strong{font-weight:700;color:inherit}.photo-offer-full{color:#77491c}.photo-offer-solo{color:#822356}.photo-offer-duo{color:#245f4f}.photo-offer-group{color:#285d83}
.photo-offer-full .photo-offer-main strong{color:inherit}.photo-offer-main ul{color:var(--ink)}
.hero-action{background:#f8e24c;box-shadow:none}.hero-ribbon{background:#f8e24c}.submit-btn{background:#a02c73;color:#fff;border-color:#a02c73;box-shadow:none}.submit-btn:hover{background:#822356;color:#fff}
.service-card.photo strong{font-size:clamp(29px,3.5vw,43px)}
@media(min-width:768px){.container{width:min(1120px,calc(100% - 48px))}.hero{min-height:430px;margin-bottom:64px}.hero-content{padding:36px 26px 30px 36px}.hero h1{font-size:clamp(32px,3.4vw,48px);margin:20px 0 15px}.hero-sub{font-size:13px;line-height:1.75}.hero-visual{min-height:430px}.hero-caption{padding-top:28px}.section-header h2{font-size:34px}.service-section,.portfolio-section,.photo-offers-section{margin-bottom:64px}.service-card{min-height:245px;padding:22px}.service-card strong{font-size:34px}.service-card.photo strong{font-size:29px}.service-symbol{font-size:35px}.service-description{font-size:12px}.booking-section{padding:55px 0}.booking-copy h2{font-size:44px}.booking-panel{padding:22px}.field-input{padding:11px 12px}.step-spaced{margin-top:20px}.admin-title{margin:30px 0}.admin-title h1{font-size:48px}.admin-box{padding:20px}.admin-item{padding:12px}.admin-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.photo-offer-main h3{font-size:24px}.photo-offer-main strong{font-size:23px}.launch-promo{padding:24px}.launch-promo h3{font-size:32px}.or-en{font-size:.8em}}
#profileForm{display:grid;gap:8px}#adminManageProfile{margin-bottom:24px}#translationForm textarea{min-height:70px}#clientAssets{width:min(95vw,900px)}#clientAssetList{margin-bottom:24px}#clientAssetList img{max-height:240px;object-fit:cover}#caseForm{margin-top:24px;border-top:1px solid #ddc9e4;padding-top:20px}.or-copy{font-family:inherit}.or-en{display:block;font-family:inherit;font-size:.82em;line-height:1.5;letter-spacing:0;font-weight:400;margin-top:.2em;opacity:.85}.field-label .or-en{margin:0 0 4px}.hero h1 .or-en{font-size:.55em;font-weight:400;letter-spacing:0}.section-header h2 .or-en,.booking-copy h2 .or-en{font-size:.55em}.submit-btn .or-en{font-size:.8em}.or-nav .or-en{font-size:9px}.or-search .or-copy{display:block}
