/* FotoMimmu 2026 — mobile-first, no horizontal overflow */
:root{--rose:#f3e4e8;--blush:#fbf5f4;--ink:#2c2024;--plum:#38222b;--accent:#9b4768;--line:#e4d3d8;--muted:#63535a;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#fffdfb;color:var(--ink);font:400 15px/1.65 var(--sans);overflow-x:clip}
a{text-decoration:none;color:inherit}a:hover{color:var(--accent)}img{max-width:100%;height:auto;display:block}button,input,textarea,select{font:inherit}button{cursor:pointer}p,h1,h2,h3{overflow-wrap:break-word}::selection{background:#efc2d2}
.container{width:min(1120px,calc(100% - 48px));margin-inline:auto}.skip{position:absolute;z-index:999;top:-70px;left:12px;background:white;padding:10px}.skip:focus{top:8px}
.topbar{padding:8px 15px;background:var(--plum);color:#f9f4f6;text-align:center;font-size:10px;letter-spacing:.11em;text-transform:uppercase}
.sitehead{position:sticky;top:0;background:rgba(255,253,251,.98);border-bottom:1px solid #eee2e6;z-index:50}.headinner{width:min(1220px,calc(100% - 40px));height:74px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:18px}.logo{flex:0 0 auto;display:inline-block;line-height:1}.logoname{font-family:var(--serif);font-weight:600;font-style:italic;font-size:30px;letter-spacing:-.065em}.logodot{color:var(--accent)}.logosub{display:block;margin-top:7px;color:#8e6372;letter-spacing:.23em;text-transform:uppercase;font-size:9px}
.navlinks{display:flex;align-items:center;gap:25px}.navlinks>a{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.navlinks .active{color:var(--accent)}.navlinks a.action{padding:12px 17px;background:var(--plum);color:white}.navlinks a.action:hover{background:var(--accent);color:white}.menu{display:none;background:transparent;border:0;padding:8px 5px;color:var(--ink);font-size:27px;line-height:1}
.btn{display:inline-flex;justify-content:center;align-items:center;text-align:center;min-height:49px;background:var(--plum);color:white;border:1px solid var(--plum);padding:14px 25px;font-size:12px;font-weight:700;letter-spacing:.085em;text-transform:uppercase;transition:background .2s}.btn:hover,.btn:focus-visible{background:var(--accent);border-color:var(--accent);color:white}.btn.secondary{background:transparent;color:var(--plum)}.btn.secondary:hover{background:#f6e7eb}.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #da9fb5;outline-offset:3px}
.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:700;text-transform:uppercase;color:var(--accent)}.eyebrow::before{content:'';display:inline-block;width:25px;height:1px;background:currentColor;vertical-align:middle;margin-right:10px}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.15;letter-spacing:-.045em}h1{font-size:clamp(46px,6.3vw,85px);margin:18px 0}h2{font-size:clamp(35px,4.1vw,54px);margin:15px 0 20px}h3{font-size:clamp(24px,2.3vw,34px);margin:10px 0}em{color:var(--accent);font-weight:400}p{margin:0 0 18px}.muted{color:var(--muted)}
.hero{background:var(--rose)}.herowrap{width:min(1200px,calc(100% - 52px));margin:auto;display:grid;grid-template-columns:52% 48%;align-items:center;min-height:535px}.herotext{padding:68px 25px 68px 0}.herotext>p{color:#55454b;max-width:470px;font-size:16px}.heroactions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.heroimage{height:535px;position:relative;overflow:hidden}.heroimage img{width:85%;height:100%;object-fit:cover;object-position:center 35%;margin-left:auto;clip-path:inset(4% 0 0 round 240px 240px 0 0)}.heroimage .micro{position:absolute;left:0;bottom:30px;background:var(--accent);color:white;padding:15px 18px;max-width:178px;font:italic 21px/1.25 var(--serif)}
.quickfacts{background:var(--plum);color:white}.factrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:19px 0}.factrow span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;text-align:center}
.section{padding:76px 0}.sectiontitle{text-align:center;margin:0 auto 31px;max-width:620px}.sectiontitle>p{color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.card{padding:27px 26px;background:var(--blush);border:1px solid #f0e3e6}.card h3{font-size:28px}.card p{font-size:13px;color:#705f65;margin-bottom:0}.card a{display:inline-block;text-decoration:underline;text-underline-offset:5px;font-weight:700;font-size:12px;color:var(--accent);margin-top:17px}
.previewgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.previewgrid a{display:block;position:relative;overflow:hidden;aspect-ratio:4/5;background:#e9d6dd}.previewgrid img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.previewgrid a:hover img{transform:scale(1.04)}.previewgrid span{position:absolute;bottom:0;left:0;right:0;padding:42px 15px 14px;background:linear-gradient(transparent,#21131ecf);color:white;font:23px var(--serif)}
.aboutband{background:var(--rose)}.aboutrow{display:grid;grid-template-columns:230px 1fr;gap:40px;align-items:center}.aboutrow>img{width:230px;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;border-radius:125px 125px 0 0}.aboutrow p{max-width:650px}
.cta{background:var(--plum);color:white;padding:60px 0;text-align:center}.cta h2{max-width:650px;margin-inline:auto;color:#fff}.cta em{color:#e8a4bc}.cta p{max-width:550px;margin:0 auto 24px;color:#e3d1d7}.cta .btn{background:white;color:var(--plum);border-color:white}.cta .btn:hover{background:#f7dfe7}
.pagehead{background:var(--rose);padding:65px 0 58px}.pagehead h1{font-size:clamp(44px,5.2vw,70px);max-width:760px}.pagehead p{max-width:700px;color:#5d4b51}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.photo{background:#eddce1;border:0;padding:0;position:relative;overflow:hidden;aspect-ratio:3/4;cursor:pointer}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.photo:hover img{transform:scale(1.04)}.photo span{display:block;position:absolute;bottom:0;left:0;right:0;padding:38px 13px 12px;text-align:left;color:#fff;background:linear-gradient(transparent,#20121abf);font:22px var(--serif)}.filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:30px}.filters button{border:1px solid var(--line);background:white;color:#5e4d55;padding:9px 17px;border-radius:40px;font-size:12px}.filters button[aria-pressed=true]{background:var(--plum);color:white}.photo[hidden]{display:none!important}
.lightbox{position:fixed;inset:0;background:#1c1119ed;display:none;align-items:center;justify-content:center;z-index:100;padding:60px 15px 42px}.lightbox.open{display:flex}.lightbox img{max-height:80vh;max-width:96%;object-fit:contain}.lightbox .close{position:absolute;right:18px;top:16px;border:0;background:white;color:var(--plum);font-size:16px;padding:8px 16px}
.packages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.package{background:var(--blush);padding:28px;border:1px solid var(--line)}.package h3{margin-top:10px}.price{font:43px var(--serif);color:var(--accent);margin:12px 0}.details{list-style:none;margin:19px 0 24px;padding:0}.details li{padding:9px 0;border-top:1px solid #eadddf;color:#62535a;font-size:13px}.details li::before{content:'✓';color:var(--accent);font-weight:700;margin-right:10px}.terms{margin-top:25px;border-left:4px solid var(--accent);background:var(--rose);padding:23px}.terms strong{color:#7c3151}
.bookinggrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.24fr);gap:30px;align-items:start}.bookinginfo{padding:28px;background:var(--rose)}.bookinginfo h2{font-size:35px}.bookinginfo p,.bookinginfo li{font-size:13px;line-height:1.7}.bookinginfo ol{padding-left:18px}.bookinginfo li{margin-bottom:11px}
.formpanel{background:#fffaf9;border:1px solid var(--line);padding:32px}.formpanel h2{font-size:36px}.field{margin:0 0 17px}.field label{display:block;font-size:12px;font-weight:700;letter-spacing:.03em;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid #d9c8ce;background:white;border-radius:4px;padding:13px;color:var(--ink);font-size:15px}.field textarea{min-height:102px;resize:vertical}.field small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:5px}.fieldgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.calc{padding:19px;background:#f3e4e9;margin:23px 0}.calc h3{font:26px var(--serif);margin:0 0 12px}.calcrow{display:flex;align-items:center;justify-content:space-between;gap:11px;border-bottom:1px solid #dec7cf;padding:9px 0;font-size:13px}.calcrow:last-child{border:0}.calcrow b{font-size:18px;color:#79304e;white-space:nowrap}.calcrow.strong b{font-size:22px;color:#a13e67}.checkrow{display:flex;gap:12px;font-size:12px;align-items:flex-start;margin:20px 0}.checkrow input{margin-top:5px;flex:0 0 auto;accent-color:var(--accent)}.small{font-size:12px;color:#67545b}.linktext{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.notice{border:1px solid #e8c9d5;background:#fff7f9;padding:18px;font-size:13px;line-height:1.7;margin-bottom:25px}.notice strong{color:#8d3657}
.realbooking{display:none;margin-bottom:28px;background:#f3e3eb;padding:23px}.realbooking.visible{display:block}.realbooking a{display:inline-block;margin:10px 8px 0 0;background:white;border:1px solid #a87990;color:#54273b;padding:13px 17px;font-weight:700;font-size:12px}.realbooking iframe{width:100%;min-height:650px;border:0;background:white;margin-top:15px}
.footer{background:#21171c;color:white}.footrow{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;padding:36px 0}.footer .logosub{color:#d9adbc}.footnav{display:flex;gap:24px;flex-wrap:wrap;font-size:12px}.footbottom{border-top:1px solid #503841;padding:15px 0;display:flex;justify-content:space-between;gap:15px;color:#d2bec6;font-size:11px;flex-wrap:wrap}
@media(max-width:840px){.navlinks{gap:13px}.navlinks>a{font-size:10px}.cards{grid-template-columns:1fr 1fr}.bookinggrid{grid-template-columns:1fr}.herowrap{grid-template-columns:1fr 1fr}.herotext{padding-right:10px}}
@media(max-width:680px){.container{width:calc(100% - 36px)}.topbar{font-size:9px;letter-spacing:.035em}.headinner{height:69px;width:calc(100% - 32px)}.logoname{font-size:27px}.menu{display:block}.navlinks{position:absolute;top:69px;left:0;right:0;background:#fffdfb;border-top:1px solid var(--line);box-shadow:0 15px 25px #32172425;padding:18px;display:none;flex-direction:column;align-items:stretch;gap:14px}.navlinks.open{display:flex}.navlinks>a{font-size:12px;padding:6px 0}.navlinks a.action{text-align:center;padding:12px}.herowrap{width:100%;display:flex;flex-direction:column;align-items:stretch}.herotext{padding:41px 23px 36px}.hero h1{font-size:clamp(46px,11vw,62px)}.herotext p{font-size:14px;line-height:1.65}.heroactions{gap:10px;margin-top:20px}.heroactions .btn{flex:1 1 155px}.heroimage{height:285px}.heroimage img{width:75%;height:100%;object-position:center 30%;clip-path:inset(0 round 130px 130px 0 0)}.heroimage .micro{bottom:24px;left:6%;font-size:16px;padding:12px;max-width:120px}.factrow{padding:16px 0;gap:9px}.factrow span{font-size:10px;letter-spacing:0}.section{padding:55px 0}.cards{grid-template-columns:1fr}.card{padding:22px}.previewgrid{gap:7px}.previewgrid a{aspect-ratio:3/4}.previewgrid span{font-size:16px;padding:32px 7px 10px}.aboutrow{grid-template-columns:110px 1fr;gap:18px}.aboutrow>img{width:110px}.aboutrow h2{font-size:31px}.aboutrow p{font-size:13px;line-height:1.6}.cta{padding:48px 0}.pagehead{padding:42px 0}.pagehead h1{font-size:45px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.photo span{font-size:17px}.packages{grid-template-columns:1fr}.bookinggrid{gap:20px}.bookinginfo{padding:22px}.formpanel{padding:20px}.contactline,.footnav a{overflow-wrap:anywhere}.footrow{align-items:flex-start}.footnav{gap:12px 20px}}
@media(max-width:390px){.heroactions .btn{width:100%;flex-basis:100%}.fieldgrid{grid-template-columns:1fr;gap:0}.calcrow{font-size:12px}.previewgrid span{font-size:14px}.aboutrow{grid-template-columns:1fr}.aboutrow>img{width:125px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.photo span{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Prevent booking-form content from expanding the mobile viewport. */
.bookinggrid>*{min-width:0;max-width:100%}
.bookinginfo,.formpanel{overflow-wrap:anywhere}
.calcrow>span{min-width:0}
@media(max-width:840px){.bookinggrid{grid-template-columns:minmax(0,1fr)}}

.detailgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;align-items:center}
@media(max-width:680px){.detailgrid{grid-template-columns:minmax(0,1fr)}}

/* FotoMimmu — expanded services, compact desktop/mobile catalog */
.catalog-head .chiprow{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}
.chiprow a{padding:9px 13px;font-size:12px;background:#fff6f7;color:var(--plum);border:1px solid #e1c6d0;border-radius:25px}
.catalog-group{margin-bottom:50px;scroll-margin-top:120px}
.catalog-group-head{margin-bottom:18px}.catalog-group-head h2{margin-top:6px;margin-bottom:0;font-size:clamp(27px,3.3vw,40px)}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.catalog-card{display:flex;flex-direction:column;min-width:0;padding:23px 23px 22px;background:#fff9f8;border:1px solid var(--line);border-top:3px solid #bd8099}
.catalog-kicker{font-size:10px;font-weight:700;letter-spacing:.12em;color:#977487;text-transform:uppercase;display:flex;justify-content:space-between}
.catalog-kicker span{color:var(--accent)}
.catalog-card h3{font-size:clamp(21px,2.3vw,28px);margin:12px 0 1px;line-height:1.22}
.catalog-price{font-family:var(--serif);font-size:21px;color:#8e395d;margin:7px 0 10px;line-height:1.3}
.catalog-desc{font-size:13px;line-height:1.65;color:#65565e;flex:1}
.catalog-acts{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:14px}
.pill-dark{display:inline-flex;align-items:center;justify-content:center;background:var(--plum);color:#fff!important;border:1px solid var(--plum);padding:9px 13px;font-size:12px;font-weight:700}
.pill-dark:hover{background:var(--accent);border-color:var(--accent)}
.pill-link{font-size:12px;text-decoration:underline;text-underline-offset:4px;color:#8c395e;font-weight:700}
.catalog-terms{font-size:13px;line-height:1.75}.compact-section{padding:50px 0 60px}.catalog-bottom{text-align:center;padding:44px 16px 6px}.catalog-bottom p{color:var(--muted)}.catalog-bottom .btn{margin-top:10px}
.detail-photo{width:100%;max-height:550px;object-fit:cover;border-radius:190px 190px 0 0}.story-steps{padding-left:21px}.story-steps li{margin:15px 0}.soft{background:#fbf4f5}.center-note{text-align:center;margin:18px 0}.lead-bold{font-size:20px!important;color:#532f41!important;font-weight:700}
.editorial-note{height:360px;background:linear-gradient(145deg,#eecdd9,#faf3f4);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px}
.editorial-note span{text-transform:uppercase;letter-spacing:.3em;font-size:11px;color:#864660}
.editorial-note strong{font:italic 36px/1.2 var(--serif);max-width:320px;margin:18px 0;color:#502f3b}
.editorial-note p{font-size:13px;color:#67535d;max-width:300px}
@media(max-width:920px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:630px){.catalog-grid{grid-template-columns:1fr}.catalog-card{padding:21px}.catalog-group{margin-bottom:40px}.catalog-head .chiprow{gap:7px}.chiprow a{font-size:11px;padding:7px 10px}.detail-photo{max-height:430px}.editorial-note{height:280px}.lead-bold{font-size:17px!important}}

/* FotoMimmu manifest — distinct editorial page, short main site */
.manifest-mini-link{margin:14px 0 0!important}.manifest-mini-link a{color:var(--accent);font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:5px}
.manifest-intro{background:var(--rose)}.manifest-intro-grid{display:grid;grid-template-columns:1.2fr .75fr;gap:58px;align-items:center;min-height:390px;padding-block:50px}.manifest-intro-text{min-width:0}.manifest-intro h1{font-size:clamp(48px,5.5vw,78px);margin:17px 0 22px}.manifest-intro p{font-size:17px;color:#624b55;max-width:450px}.manifest-rule{display:inline-block;margin-top:15px;border-top:1px solid #a86a82;padding-top:13px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:700}.manifest-intro img{width:100%;max-height:335px;object-fit:cover;object-position:center 22%;border-radius:180px 180px 0 0}
.manifest-story{background:#fffdfb;padding:80px 24px}.manifest-story-inner{max-width:710px;margin:auto}.manifest-story h2{margin-bottom:34px}.manifest-story p{font-size:clamp(16px,1.7vw,19px);line-height:1.85;max-width:670px;margin:0 0 25px;color:#4d3c43}.manifest-story p.manifest-declaration{font-weight:700;color:var(--plum);font-size:clamp(19px,2.1vw,23px);line-height:1.6}.manifest-story p.manifest-signoff{font-family:var(--serif);font-size:clamp(28px,3vw,40px);line-height:1.4;color:var(--plum);margin-top:43px;margin-bottom:0}.manifest-bottom{padding:55px 0;background:var(--rose);text-align:center}.manifest-bottom p{font:italic clamp(22px,3vw,33px)/1.4 var(--serif);margin-bottom:25px}.manifest-bottom .btn{margin:0 5px 10px}
@media(max-width:680px){.manifest-intro-grid{grid-template-columns:1fr;gap:22px;padding-block:35px}.manifest-intro h1{font-size:52px}.manifest-intro p{font-size:15px}.manifest-intro img{width:62%;height:215px;object-position:center 16%;margin-left:auto}.manifest-story{padding:55px 20px}.manifest-story h2{font-size:35px}.manifest-story p{font-size:16px;line-height:1.7;margin-bottom:19px}.manifest-bottom .btn{margin:4px 0;width:100%}}
@media (min-width:681px) and (max-width:1000px){
 .menu{display:block}
 .navlinks{position:absolute;top:74px;left:0;right:0;background:#fffdfb;border-top:1px solid var(--line);box-shadow:0 15px 25px #32172425;padding:18px;display:none;flex-direction:column;align-items:stretch;gap:12px}
 .navlinks.open{display:flex}
 .navlinks>a{font-size:12px;padding:6px 0}
 .navlinks a.action{text-align:center;padding:12px}
}


/* Authentic FotoMimmu manifesto based on creator's original words */
.manifest-authentic-hero .manifest-hero-lead{font-weight:700;font-size:clamp(18px,2vw,24px);color:var(--plum);line-height:1.55}
.manifest-editorial-body{width:min(730px,calc(100% - 48px));margin-inline:auto}
.manifest-original-text{padding:82px 0;background:#fffdfb}
.manifest-original-text p{font-size:clamp(18px,2vw,23px);line-height:1.75;margin-bottom:23px}
.manifest-original-text .manifest-bigger{font-family:var(--serif);font-size:clamp(27px,3.3vw,42px);line-height:1.4;color:var(--plum)}
.manifest-statement{padding:85px 0;background:var(--plum);color:#fff9f9}
.manifest-statement .eyebrow{color:#f2c3d5}
.manifest-statement h2{font-size:clamp(37px,4.3vw,58px);margin:17px 0 32px}
.manifest-statement h2 em{color:#edb8cf}
.manifest-statement p{font-size:clamp(17px,1.85vw,21px);line-height:1.85;max-width:650px;margin:0 0 25px;color:#fff3f5}
.manifest-principles{background:var(--rose);padding:85px 0 95px}
.manifest-principles h2{margin-bottom:30px}
.manifest-rules{margin:30px 0 42px;padding:0 0 0 26px;border-left:3px solid var(--accent)}
.manifest-rules p{font-weight:700;font-size:clamp(18px,2.1vw,24px);line-height:1.55;margin:0 0 21px}
.manifest-principles>.manifest-editorial-body>p{font-size:clamp(17px,1.75vw,20px);line-height:1.8;color:#49333e}
.manifest-final-q{margin:52px 0 27px!important;font-size:clamp(34px,4.4vw,56px);max-width:710px}
.manifest-cta-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
@media(max-width:680px){
 .manifest-authentic-hero .manifest-intro-grid{padding-block:40px}
 .manifest-authentic-hero .manifest-intro img{max-height:245px}
 .manifest-original-text,.manifest-statement,.manifest-principles{padding-block:57px}
 .manifest-editorial-body{width:calc(100% - 44px)}
 .manifest-original-text .manifest-bigger{font-size:29px}
 .manifest-statement h2{font-size:39px}
 .manifest-rules{padding-left:18px}
 .manifest-cta-actions .btn{flex:1 1 100%}
}


/* FotoMimmu manifesto running across the whole site – discreet where possible. */
.manifest-ribbon{background:#fffdfb;border-block:1px solid var(--line);padding:26px 0}
.ribbon-grid{display:grid;grid-template-columns:195px minmax(0,1fr) 150px;gap:24px;align-items:center}
.ribbon-grid>p{font-size:15px;margin:0;line-height:1.55;color:#4f3d45}
.ribbon-grid>p strong{color:var(--plum)}
.ribbon-grid>a{font-size:12px;color:#8d365a;text-decoration:underline;text-underline-offset:5px;font-weight:700;text-align:right}
.aboutrow>div{min-width:0}.aboutrow h2{margin-bottom:16px}.aboutrow p{margin-bottom:13px;line-height:1.75}
.aboutrow .about-bold{font-weight:700;color:var(--plum)}
.about-actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:22px}
.about-actions .btn{min-height:44px;padding:11px 18px}
.about-soft-link,.text-underline{font-size:12px;color:var(--accent);font-weight:700;text-decoration:underline;text-underline-offset:5px}
.brand-thread{background:#fffdfb;border-top:1px solid var(--line);padding:37px 0}
.brand-thread-inner{display:grid;grid-template-columns:162px minmax(0,1fr) 110px;gap:26px;align-items:center}
.brand-thread h2{font-size:clamp(24px,2.5vw,33px);line-height:1.18;margin:0 0 8px}
.brand-thread p{font-size:13px;color:#67515b;margin:0;max-width:680px}
.brand-thread a{font-weight:700;font-size:12px;text-decoration:underline;text-underline-offset:5px;color:var(--accent);text-align:right}
.manifest-authorship{font-size:12px!important;margin:15px 0 0!important;color:#71465c!important}
.manifest-authorship a{text-decoration:underline;text-underline-offset:4px;font-weight:700}
/* About page */
.about-hero{background:var(--rose)}.about-hero-grid{display:grid;grid-template-columns:1.17fr .83fr;gap:55px;align-items:center;padding-block:72px}
.about-hero-copy h1{font-size:clamp(45px,5.1vw,76px);max-width:680px}
.about-hero-copy p{max-width:615px;color:#5d4853;font-size:16px;line-height:1.8}
.about-hero-copy .about-lead{font-size:18px;color:#37232b}
.about-hero-photo{position:relative;min-width:0}.about-hero-photo>img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;border-radius:220px 220px 0 0}
.about-hero-photo>span{position:absolute;bottom:20px;left:-18px;max-width:200px;background:var(--accent);padding:16px 18px;color:white;font:italic 21px/1.25 var(--serif)}
.about-belief{background:#fffdfb;padding:85px 0}
.about-belief-inner{max-width:830px}.about-belief p{font-size:17px;line-height:1.85;color:#54444d}
.about-belief blockquote{font:italic clamp(24px,3vw,37px)/1.4 var(--serif);margin:40px 0 0;padding:20px 0 20px 23px;border-left:3px solid var(--accent);color:var(--accent)}
.why-me{background:var(--blush)}.why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.why-grid article{background:#fffdfb;border:1px solid var(--line);padding:25px;min-width:0}
.why-number{font:italic 24px var(--serif);color:var(--accent)}.why-grid h3{font-size:25px;line-height:1.2;margin:17px 0 13px}
.why-grid p{font-size:14px;line-height:1.7;color:#67545c}
.about-people{background:white;padding:75px 0}.about-people-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:center}
.about-people-grid img{width:100%;aspect-ratio:4/4.2;object-fit:cover}
.about-people-grid p{color:#5d4851;line-height:1.85}
.about-declaration{background:var(--plum);color:white;padding:80px 0;text-align:center}
.about-declaration-inner{max-width:790px}.about-declaration .eyebrow{color:#efbdd1}
.about-declaration h2{color:white}.about-declaration h2 em{color:#efbdd1}
.about-declaration p{max-width:680px;color:#f3e0e7;font-size:16px;line-height:1.8;margin:0 auto 17px}
.about-declaration .btn{margin-top:20px;background:#fff;color:var(--plum);border-color:#fff}
.about-declaration-link{display:block;margin:22px auto 0;font-size:12px;text-decoration:underline;text-underline-offset:5px;color:#f2cbdc}
@media(max-width:850px){.ribbon-grid,.brand-thread-inner{grid-template-columns:1fr;gap:6px}.ribbon-grid>a,.brand-thread a{text-align:left}.about-hero-grid{gap:28px}.why-grid{grid-template-columns:1fr}}
@media(max-width:680px){
 .manifest-ribbon{padding:20px 0}.ribbon-grid>p{font-size:14px}.ribbon-grid>.eyebrow,.brand-thread .eyebrow{font-size:10px}
 .aboutrow{grid-template-columns:98px 1fr;gap:16px}.aboutrow>img{width:98px;align-self:start}
 .aboutrow p{font-size:12.8px;line-height:1.62}.about-actions{gap:12px}.about-actions .btn{padding:10px 12px;min-height:42px;font-size:10px}
 .brand-thread{padding:26px 0}.brand-thread h2{font-size:25px}.brand-thread p{font-size:13px}
 .about-hero-grid{grid-template-columns:1fr;padding-block:45px;gap:26px}.about-hero-copy h1{font-size:clamp(42px,10.4vw,58px)}
 .about-hero-copy .about-lead{font-size:16px}.about-hero-copy p{font-size:14px;line-height:1.7}
 .about-hero-photo{max-width:380px;margin:0 auto;width:100%}.about-hero-photo>img{max-height:390px}
 .about-hero-photo>span{left:0;bottom:10px;font-size:16px;max-width:170px}
 .about-belief,.about-people{padding:54px 0}.about-belief p{font-size:15px}
 .about-people-grid{grid-template-columns:1fr;gap:25px}.about-people-grid img{max-height:390px}
 .about-declaration{padding:52px 0}.about-declaration p{font-size:14px}
}
@media(max-width:390px){.aboutrow{grid-template-columns:1fr}.aboutrow>img{width:145px}}

/* Teenused: portree ja karaktersessioon on eri kategooriad. */
.catalog-intro{font-size:14px;line-height:1.7;color:#765b67;max-width:640px;margin:8px 0 18px;}
.catalog-group#karakter{border-top:1px solid #eadbe0;padding-top:29px;}
.catalog-group#portreed{border-top:1px solid #eadbe0;padding-top:29px;}
@media(max-width:680px){.catalog-intro{font-size:13px;} }

/* 2026-10: FotoMimmu user-supplied photographs, keep original aspect ratio */
.gallery .photo.landscape-photo{aspect-ratio:3/2}
.gallery .photo.landscape-photo img{aspect-ratio:3/2;object-fit:contain;background:#eee4e7}
.detail-photo-landscape{height:auto;max-height:none;aspect-ratio:3/2;object-fit:contain;border-radius:10px}
.photo-story-strip{padding-top:32px;padding-bottom:50px}
.storystrip-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.storystrip-inner img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:3px}
.storystrip-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.family-water-photo{margin:18px 0 0}.family-water-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
@media(max-width:600px){.storystrip-inner,.storystrip-two{grid-template-columns:1fr;gap:10px}.photo-story-strip{padding-block:26px 42px}.gallery .photo.landscape-photo span{font-size:13px;padding:25px 7px 7px}}

/* FotoMimmu gallery 24.10.2026: separate short previews, unmodified originals in lightbox. */
.gallery .photo.original-photo img{object-fit:contain;background:#f2e8e8}
.gallery .photo.square-photo{aspect-ratio:1/1}
.gallery-more{text-align:center;margin:30px auto 8px}
.gallery-more button[hidden]{display:none!important}
.child-more-link{margin:24px auto 0;text-align:center}
.new-child-strip img{max-height:280px;object-fit:contain;background:#f8f0f2}
@media(max-width:600px){.new-child-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.new-child-strip img{width:100%;height:135px;aspect-ratio:auto;object-fit:contain}.child-more-link{margin-top:17px}}

/* Selgelt eraldatud fotokategooriad. Kõik fotod on originaalsed; muudetud ainult esitlusmõõtu. */
.gallery-status{text-align:center;font-size:13px;color:#705866;margin:18px 0 6px}
.specific-gallery-link{display:inline-block;margin-top:20px}
.previewgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
.previewgrid a{aspect-ratio:4/4.3}
.previewgrid span{font-size:clamp(15px,1.8vw,22px)}
@media(max-width:680px){.previewgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.previewgrid a{aspect-ratio:4/4.7}.previewgrid span{font-size:16px}}
@media(max-width:390px){.previewgrid span{font-size:14px}}

/* Kontrollitud versioon: sotsiaalmeedia ja broneerimise usaldusvihjed */
.social-links{display:flex;flex-wrap:wrap;align-items:center;gap:9px 18px;border-top:1px solid rgba(255,255,255,.22);padding:22px 0 12px;margin-top:16px}
.social-links .social-label{font-weight:650;flex-basis:100%;letter-spacing:.02em}
.social-links a{color:inherit;text-decoration:underline;text-underline-offset:5px;line-height:1.8;font-size:.92rem}
.social-links a:hover,.social-links a:focus-visible{color:#f7a7c0}
.booking-reassure{background:#f6e9ec;border-left:3px solid #a45572;padding:13px 16px;border-radius:0 8px 8px 0;line-height:1.6}
@media(max-width:600px){.social-links{gap:7px 14px}.social-links a{font-size:.9rem}}

/* FotoMimmu – clear prices, quick delivery, consent and free privacy */
.reassurance-strip{background:#fff8f8;border-top:1px solid #eddfe2;border-bottom:1px solid #eddfe2;padding:19px 0}
.reassurance-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}
.reassurance-inner p{margin:3px 0 0;font-size:13px;line-height:1.7}.reassurance-inner a{font-size:12px;white-space:nowrap;text-decoration:underline;text-underline-offset:4px;color:var(--accent);font-weight:700}
.info-layout{max-width:1090px}.info-lead{max-width:760px;margin-bottom:27px}.info-lead h2{font-size:clamp(32px,4vw,50px)}.info-lead p{font-size:16px;color:#65505a}
.info-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.info-card{padding:27px;border:1px solid var(--line);background:#fbf5f5;min-width:0}.info-nr{color:var(--accent);font-size:11px;letter-spacing:.13em;font-weight:700}.info-card h3{font-size:26px;margin:13px 0 9px}.info-card p{font-size:14px;line-height:1.8;color:#69545e;margin:0}
.info-cta{background:var(--plum);color:white;text-align:center;margin:35px 0 25px;padding:44px 35px}.info-cta h2{color:white;font-size:35px}.info-cta p{max-width:630px;margin-inline:auto;color:#f3dae5}.info-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.info-cta .btn{background:white;border-color:white;color:var(--plum)}.info-cta .btn.secondary{background:transparent;border-color:#ead0db;color:white}.info-footnote{font-size:12px;color:#745d68;line-height:1.7}.info-footnote a,.agreement-document a{text-decoration:underline;text-underline-offset:3px;color:var(--accent)}
.service-terms-bar{border-top:1px solid var(--line);background:#fff6f7;padding:37px 0}.service-terms-bar>.container{display:flex;align-items:center;justify-content:space-between;gap:30px}.service-terms-bar h2{font-size:clamp(26px,3vw,37px);margin:9px 0}.service-terms-bar p{font-size:13px;color:#5f5058;margin:0;max-width:780px;line-height:1.7}.service-terms-bar .btn{flex-shrink:0}
.privacy-choice{border:1px solid #e3ccd4;padding:20px 18px;margin:21px 0;border-radius:8px;background:#fbf4f6;min-width:0}.privacy-choice legend{font-weight:700;padding:0 6px;color:#592d40}.privacy-choice p{color:#69555e;font-size:12px;line-height:1.7}.privacy-choice>label{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;margin:12px 0;cursor:pointer}.privacy-choice input{accent-color:var(--accent);margin-top:4px}.privacy-choice a,.booking-terms-teaser a{text-decoration:underline;color:var(--accent);text-underline-offset:3px}.booking-terms-teaser{background:white;padding:15px 17px;border-left:3px solid var(--accent);margin:20px 0;line-height:1.7!important}
.agreement-wrap{max-width:850px}.agreement-warning{margin:0 0 16px}.agreement-print-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.agreement-document{padding:38px 45px;background:white;border:1px solid #e5d5da;color:#30252a}.agreement-document h2{font-size:35px}.agreement-document h3{font:700 19px/1.45 var(--sans);letter-spacing:0;margin:26px 0 12px}.agreement-document p{line-height:1.75;font-size:13px}.agreement-option{border:1px solid #d7c8cf;border-radius:5px;padding:13px;display:flex;gap:10px;margin:12px 0;align-items:start;line-height:1.6;font-size:13px}.agreement-option input,.agreement-channels input{accent-color:var(--accent);margin-top:4px;flex:0 0 auto}.agreement-channels{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 0}.agreement-channels label{font-size:13px;display:flex;gap:9px;align-items:start}.write-line{display:inline-block;min-width:200px;border-bottom:1px solid #999;vertical-align:bottom;height:18px}.agreement-signatures{display:grid;grid-template-columns:1fr 1fr;gap:28px;border-top:1px solid #d8c9d0;padding-top:22px;margin-top:26px}.agreement-signatures p{font-size:12px;margin:10px 0}
@media(max-width:840px){.reassurance-inner,.service-terms-bar>.container{align-items:flex-start;flex-direction:column;gap:14px}.reassurance-inner a{white-space:normal}}
@media(max-width:680px){.info-cards{grid-template-columns:1fr}.info-card{padding:22px}.info-cta{padding:30px 20px}.info-cta h2{font-size:30px}.info-actions a{width:100%}.agreement-document{padding:25px 18px}.agreement-channels,.agreement-signatures{grid-template-columns:1fr}.agreement-document h2{font-size:30px}.write-line{min-width:120px}.agreement-print-actions a,.agreement-print-actions button{width:100%}.reassurance-inner p{font-size:12px}}
@media print{.sitehead,.topbar,.footer,.agreement-print-actions,.agreement-warning,.menu,.skip{display:none!important}.agreement-wrap{max-width:none;width:100%}.agreement-document{padding:0;border:0}.section{padding:0}body{color:black!important;background:white!important}.agreement-document h3{page-break-after:avoid}.agreement-option{break-inside:avoid}.pagehead{padding:8px 0;background:white!important}.pagehead h1{font-size:30px}.pagehead p{font-size:12px}.agreement-document{font-size:11px}.agreement-document p{font-size:11px}.agreement-document a{color:#222;text-decoration:none}*{box-shadow:none!important}}

/* Extra main-menu entry needs a tablet breakpoint as well. */
@media(max-width:1100px){.menu{display:block}.navlinks{position:absolute;top:74px;left:0;right:0;background:#fffdfb;border-top:1px solid var(--line);box-shadow:0 15px 25px #32172425;padding:18px;display:none;flex-direction:column;align-items:stretch;gap:14px}.navlinks.open{display:flex}.navlinks>a{font-size:12px;padding:6px 0}.navlinks a.action{text-align:center;padding:12px}}
@media(max-width:680px){.navlinks{top:69px}}

/* Cal.com booking */

.cal-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:25px 0}.realbooking .cal-service{display:flex;flex-direction:column;gap:9px;margin:0;padding:21px;text-decoration:none;border-radius:4px;min-width:0}.cal-service strong{font-size:18px}.cal-service span,.cal-service small{font-size:13px;font-weight:400;line-height:1.6}.cal-service b{font-size:23px}.cal-service .cal-action{font-weight:700;margin-top:auto;text-decoration:underline}.cal-service[aria-current="true"]{outline:2px solid #794258}.cal-service:focus-visible{outline:3px solid #54273b}.realbooking #calFallback{padding:0;border:0;background:none;text-decoration:underline;margin:0;font-size:inherit}.cal-embed{width:100%;min-height:680px;overflow:auto}.cal-embed[hidden]{display:none!important}#cal-calendar{scroll-margin-top:30px}#erisoov{margin-top:30px}#erisoov summary{cursor:pointer;font-size:20px;padding:24px 0}#erisoov .bookinggrid{margin-top:20px}@media(max-width:840px){.cal-services{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.realbooking{padding:16px}.cal-services{grid-template-columns:minmax(0,1fr)}.realbooking .cal-service{padding:18px}.cal-embed{min-height:720px}}

.cal-service small{white-space:normal}.privacy-choice{min-width:0}iframe{max-width:100%}.realbooking p{overflow-wrap:anywhere}

/* Readable mobile text and separate contact / legal links — 27.10.2026 */
.footer-contact{display:flex;flex-wrap:wrap;gap:12px 28px;padding:0 0 22px;font-size:17px;font-weight:600;line-height:1.6}
.footer-contact a{display:inline-block;min-height:44px;padding:8px 0;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:5px}
.footer-contact a[href^="tel:"]{white-space:nowrap}
.footer-legal{display:flex;flex-direction:column;gap:8px}
.footer-legal a{display:block;text-decoration:underline;text-underline-offset:4px;min-height:32px;padding:4px 0}
.footbottom{font-size:14px;align-items:flex-start;padding:22px 0;line-height:1.65}
.reassurance-facts{list-style:none;display:flex;flex-wrap:wrap;gap:12px 28px;margin:10px 0 0;padding:0;font-size:15px;line-height:1.6}
.reassurance-facts li{display:flex;align-items:baseline;gap:9px;min-width:0}
.reassurance-facts strong{white-space:nowrap;color:var(--plum)}
@media screen and (max-width:680px){
 body{font-size:17px;line-height:1.7}
 .topbar{font-size:12px;line-height:1.5}
 .factrow{gap:12px;padding:18px 0}
 .factrow span{font-size:14px;line-height:1.5}
 .herotext>p,.aboutrow p,.card p,.catalog-desc,.catalog-intro,.pagehead p,.detailgrid p,.info-card p,.service-terms-bar p,.ribbon-grid>p,.brand-thread p{font-size:17px;line-height:1.7}
 .eyebrow,.ribbon-grid>.eyebrow,.brand-thread .eyebrow{font-size:13px;letter-spacing:.12em}
 .small,.field small,.info-footnote,.privacy-choice p,.privacy-choice>label,.agreement-document p,.agreement-option,.agreement-channels label,.cal-service span,.cal-service small,.details li,.catalog-terms{font-size:15px;line-height:1.65}
 .card a,.ribbon-grid>a,.reassurance-inner a{font-size:16px;line-height:1.6}
 .btn{font-size:14px}
 .field label{font-size:15px}
 .field input,.field select,.field textarea{font-size:17px}
 .footnav{font-size:16px;gap:12px 22px}
 .footnav a{min-height:40px;display:inline-flex;align-items:center}
 .social-links a{font-size:16px}
 .footer-contact{flex-direction:column;align-items:flex-start;gap:4px;padding-bottom:18px}
 .footbottom{flex-direction:column;gap:16px;font-size:14px}
 .footer-legal{width:100%;gap:6px}
 .footer-legal a{min-height:40px;padding:7px 0;font-size:15px}
 .reassurance-inner{gap:20px}
 .reassurance-facts{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;font-size:16px;margin-top:14px}
 .reassurance-facts li{display:grid;grid-template-columns:105px minmax(0,1fr);gap:12px;align-items:baseline}
}
