:root{--ink:#173f45;--teal:#007f8b;--coral:#e47b66;--pale:#edf5f4;--muted:#5c7073;--line:#d4e2e2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;color:var(--ink);background:#fff;font:17px/1.65 'Segoe UI',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--coral);outline-offset:5px}.wrap{width:min(1280px,calc(100% - 96px));margin:auto}.header{display:flex;align-items:center;gap:30px;height:174px}.brand{margin-right:auto;line-height:0}.brand img{object-fit:contain;width:168px;height:168px}.header nav{display:flex;gap:26px;font-size:14px}.header nav a:hover,.email:hover{color:var(--teal);text-decoration:underline}.header-phone{font-size:14px;white-space:nowrap}.small-button{font-size:13px;border:1px solid var(--teal);padding:11px 17px;border-radius:4px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:45px;padding-top:20px;padding-bottom:70px}.hero-copy{padding:28px 0 0}.intro,.section-label{font-size:14px;color:var(--teal);margin:0 0 24px}.intro:before{content:'';display:inline-block;width:24px;height:2px;background:var(--coral);margin:0 12px 4px 0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-2.5px;line-height:1.07;margin:0}h1{font-size:clamp(54px,5.5vw,79px)}h1 em{font-style:normal;color:var(--teal)}.hero-description{font-size:17px;max-width:450px;margin:28px 0}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;background:var(--teal);color:white;padding:17px 24px;border:0;border-radius:4px;cursor:pointer;font-size:16px}.button:hover{background:#006974}.button span{font-size:23px;line-height:1}.note{color:var(--muted);font-size:13px;margin:12px 0}.hero-bottom{display:flex;align-items:center;gap:16px;margin-top:42px;font-size:13px;line-height:1.5}.experience{font:44px Georgia,serif}.location{border-left:1px solid var(--line);padding-left:24px;margin-left:16px}.portrait{position:relative;min-height:610px;overflow:hidden;border-radius:160px 8px 8px 8px}.portrait>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center 36%}.portrait:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(9,39,45,.8))}.portrait-caption{position:absolute;bottom:32px;left:35px;color:white;z-index:1;display:flex;flex-direction:column;font-size:13px}.portrait-caption strong{font:30px Georgia,serif;margin:5px 0}.section{padding-top:94px;padding-bottom:94px}h2{font-size:clamp(36px,3.5vw,49px);letter-spacing:-1.5px;line-height:1.15}h3{font-size:20px;font-weight:500;margin:0 0 14px}.about{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:90px}.signature{font:italic 26px Georgia,serif;color:var(--teal);margin-top:38px}.about-copy p{margin:0 0 22px}.lead{font-size:23px;line-height:1.5}.about-highlight{border-left:3px solid var(--coral);padding-left:22px;margin-top:30px!important}.process-section{background:var(--pale)}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end}.section-heading>p{font-size:15px;color:var(--muted);padding-bottom:4px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:60px}.step-number{display:block;font:32px Georgia,serif;color:var(--teal);border-bottom:1px solid #bad2d2;padding-bottom:22px;margin-bottom:24px}.steps p{font-size:15px;color:#476266;margin:0}.reviews{display:grid;grid-template-columns:1fr 1fr;gap:80px}.reviews>div>p:not(.section-label){color:var(--muted)}.review-links{padding-top:25px}.review-links>a{display:grid;grid-template-columns:105px 1fr 20px;gap:20px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);font-size:14px}.review-links>a:hover{color:var(--teal)}.platform{font-size:26px;font-weight:700}.gis{color:#357f22}.yandex{color:#d74734}.yandex span{color:var(--ink)}.request-section{background:#e6f0ef}.request-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:85px}.request-copy{padding-top:18px}.request-copy>p{max-width:370px}.free{font-size:15px;margin-top:30px}.contact-mini{display:flex;flex-direction:column;border-top:1px solid #b6cccc;padding-top:28px;margin-top:48px;gap:10px;font-size:14px}.contact-mini a{font-size:23px}form{background:#fff;padding:34px;border-radius:8px}.demo-notice{background:#f1f5f5;padding:12px 15px;font-size:13px;margin:0 0 24px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.fields label{display:flex;flex-direction:column;font-size:14px;gap:7px}.fields label>span:not(#contact-label){display:inline}.full{grid-column:1/-1}input,select,textarea{width:100%;border:1px solid #bfd0d1;border-radius:4px;background:#fff;padding:12px;color:var(--ink);font-size:16px;min-width:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#758386;font-size:14px}summary{cursor:pointer;font-size:14px;padding:22px 0;display:flex;justify-content:space-between}summary span{font-size:20px}.extra{padding-bottom:18px}form .button{width:100%;margin-top:8px}button:disabled{opacity:.5;cursor:not-allowed}.privacy-note{font-size:12px;color:var(--muted);margin-bottom:0}.privacy-note a{text-decoration:underline}#form-status{font-size:14px;color:var(--teal);margin:0}#form-status:not(:empty){margin-top:20px;padding:15px;background:var(--pale)}.contacts{display:grid;grid-template-columns:1.2fr 1fr;gap:90px}.contact-phone{display:block;font-size:30px;letter-spacing:-.6px;margin-top:32px}.email{display:inline-block;margin-top:8px}.office{padding:15px 0 0 70px;border-left:1px solid var(--line)}.office p{font-size:20px}.text-link{text-decoration:underline;text-underline-offset:5px;font-size:14px}.socials{display:flex;gap:28px;margin-top:30px;font-size:14px}footer{border-top:1px solid var(--line);padding:32px 0 24px}footer p{font-size:11px;color:var(--muted);margin:10px 0}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:12px;margin-bottom:30px}.footer-top strong{font-size:25px;font-weight:500;color:var(--teal)}.skip{position:absolute;left:10px;top:-100px;background:white;padding:15px;z-index:5}.skip:focus{top:10px}.legal{max-width:800px;padding:60px 0}.legal h1{font-size:44px}.legal h2{font-size:28px;margin-top:40px}.legal a{text-decoration:underline}
@media(min-width:1500px){.hero{gap:85px}}@media(max-width:1100px){.wrap{width:calc(100% - 56px)}.header{gap:20px}.header nav{gap:16px}.header-phone{display:none}.hero{gap:30px}.portrait{min-height:580px}.hero-description br{display:none}.location{display:none}.about,.reviews,.request-layout{gap:45px}.office{padding-left:35px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{height:144px;gap:12px}.brand img{height:132px;width:132px}.header nav{display:none}.small-button{font-size:12px;padding:10px}.hero{display:flex;flex-direction:column;gap:30px;padding-top:8px;padding-bottom:50px}.hero-copy{padding-top:10px}.intro{font-size:12px;margin-bottom:20px}h1{font-size:48px;letter-spacing:-2px}.hero-description{font-size:16px;margin:22px 0}.hero-bottom{margin-top:28px}.location{display:block;font-size:11px;padding-left:16px;margin-left:4px}.portrait{min-height:500px;border-radius:100px 6px 6px 6px}.portrait>img{object-position:center 30%}.portrait-caption{left:25px;bottom:25px}.section{padding-top:58px;padding-bottom:58px}.about,.reviews,.request-layout,.contacts{grid-template-columns:1fr;gap:32px}h2{font-size:38px}.section-label{margin-bottom:18px}.signature{margin-top:24px}.lead{font-size:21px}.about-copy{font-size:16px}.section-heading{display:block}.section-heading>p{margin-top:24px}.steps{grid-template-columns:1fr 1fr;gap:30px 23px;margin-top:35px}.step-number{padding-bottom:15px;margin-bottom:18px}.steps h3{font-size:18px}.steps p{font-size:14px}.review-links{padding-top:0}.review-links>a{grid-template-columns:85px 1fr 15px;gap:10px}.request-layout{width:100%;padding:50px 20px}.request-copy{padding:0}.contact-mini{display:none}form{padding:23px 18px}.fields{grid-template-columns:1fr;gap:17px}.full{grid-column:auto}.office{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}.contact-phone{font-size:27px}.footer-top{align-items:start;flex-direction:column;gap:18px}.legal h1{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.reviews{display:block}.review-heading{display:flex;justify-content:space-between;align-items:center;gap:24px}.review-pause{background:white;color:var(--teal);cursor:pointer;flex-shrink:0}.review-window{overflow-x:auto;margin:30px 0;scrollbar-width:thin}.review-track{display:flex;width:max-content}.review-set{display:flex;gap:24px;padding-right:24px}.review-card{width:340px;flex-shrink:0;padding:28px;background:var(--pale);border-radius:6px;display:flex;flex-direction:column}.review-source{font-size:12px;color:var(--muted);margin:0 0 20px}.review-card blockquote{font:21px/1.5 Georgia,serif;margin:0 0 24px;flex:1}.review-card strong{font-size:15px;font-weight:500}.review-card>a{font-size:13px;text-decoration:underline;text-underline-offset:4px;margin-top:10px}.review-window.paused,.review-window:focus-within{overflow-x:auto}.review-more{display:flex;gap:24px;flex-wrap:wrap;align-items:center;font-size:14px}.review-more>span{margin-right:auto;color:var(--muted)}.review-more a{text-decoration:underline;text-underline-offset:5px}@media(max-width:760px){.review-heading{align-items:start;flex-direction:column}.review-card{width:290px;padding:24px}.review-more{gap:16px}.review-more>span{width:100%}}@media(prefers-reduced-motion:reduce){.review-set[aria-hidden]{display:none}.review-pause{display:none}}
.contact-mini p{margin:0;font-size:15px;max-width:360px}.messenger-links{display:flex;flex-wrap:wrap;gap:18px;margin-top:10px}.contact-mini .messenger-links a{font-size:16px;text-decoration:underline;text-underline-offset:5px}@media(max-width:760px){.contact-mini{display:flex;margin-top:28px;padding-top:24px}.socials{flex-wrap:wrap}}

.footer-brand{display:inline-flex;line-height:0}.footer-brand img{width:160px;height:160px;object-fit:contain}.footer-top{align-items:center}@media(max-width:760px){.footer-top{align-items:flex-start}.footer-brand img{width:140px;height:140px}.header .small-button{max-width:175px;text-align:center}}

.study-banner{background:#173f45;color:#fff;text-align:center;padding:12px 20px;font-size:14px;line-height:1.5}.review-window.paused .review-track,.review-window:focus-within .review-track{animation:none;transform:none}.review-window.paused .review-set[aria-hidden],.review-window:focus-within .review-set[aria-hidden]{display:none}

/* Revised layout and whole-card review pagination. */
html{scroll-padding-top:125px}.header{position:sticky;top:0;z-index:20;height:112px;background:#fff;box-shadow:0 1px 0 var(--line)}.brand img{width:106px;height:106px}.hero h1{font-size:clamp(38px,4.1vw,59px);line-height:1.12;letter-spacing:-1.7px;max-width:660px}.hero-description{max-width:510px}.hero .portrait{min-height:580px}.about{grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}.about h2{font-size:42px;max-width:370px}.benefit{border-top:1px solid #bad2d2;padding-top:28px;margin-top:42px;display:grid;grid-template-columns:1fr 1.3fr;gap:48px}.benefit h3{font:28px/1.3 Georgia,serif}.benefit p{margin:0}.format-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:36px}.format-grid article{border-top:3px solid var(--coral);padding-top:20px}.format-grid p{font-size:15px;color:var(--muted)}.formats{padding-bottom:0}.review-controls{display:flex;align-items:center;gap:14px}.review-controls button{border:1px solid var(--teal);background:white;color:var(--teal);width:44px;height:44px;border-radius:50%;cursor:pointer;font-size:22px}.review-count{font-size:14px;white-space:nowrap}.review-window,.review-window:focus-within{overflow:visible}.review-track{display:block;width:100%}.review-set{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:0}.review-card{width:auto;min-width:0;animation:review-appear .35s ease}.review-card[hidden]{display:none}.review-card blockquote{font-size:20px}.review-window .review-track{animation:none;transform:none}@keyframes review-appear{from{opacity:.35}to{opacity:1}}@media(max-width:1100px){.review-set{grid-template-columns:repeat(2,minmax(0,1fr))}.format-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){html{scroll-padding-top:105px}.header{height:92px}.brand img{width:88px;height:88px}.hero h1{font-size:39px;letter-spacing:-1px}.hero .portrait{min-height:500px}.about{grid-template-columns:1fr;gap:24px;align-items:start}.about h2{font-size:36px;max-width:none}.benefit{grid-template-columns:1fr;gap:12px}.review-set{grid-template-columns:1fr}.review-card{width:100%}.format-grid{gap:20px}.format-grid h3{font-size:18px}.review-controls{gap:12px}}@media(prefers-reduced-motion:reduce){.review-card{animation:none}}

/* Travel photo cards */
.format-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 28px;margin-top:38px}.format-grid article{border:0;padding:0;min-width:0}.format-grid img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:8px}.format-copy{padding:20px 0 0}.format-grid h3{font:29px/1.25 Georgia,serif;margin-bottom:10px}.format-grid p{max-width:480px;margin:0;font-size:16px}.format-caption{font-size:12px;color:var(--muted);margin-top:28px}@media(max-width:760px){.format-grid{grid-template-columns:1fr;gap:30px;margin-top:28px}.format-grid h3{font-size:27px}.format-copy{padding-top:16px}.format-caption{font-size:12px}}

/* Final accessibility and narrow-screen safeguards. */
[hidden]{display:none!important}.skip{z-index:30}.hero-copy,.hero>*,.request-layout>*,.contacts>*,.about>*{min-width:0}.button{max-width:100%}.header .brand{flex-shrink:0}.header nav a{white-space:nowrap}.header nav a{min-height:44px;display:flex;align-items:center}.review-controls button{flex-shrink:0}.review-card{min-height:290px}.legal{overflow-wrap:anywhere}.socials{flex-wrap:wrap}.socials a,.messenger-links a{min-height:44px;display:inline-flex;align-items:center}.email{overflow-wrap:anywhere}@media(min-width:761px) and (max-width:900px){.header{gap:12px}.header nav{gap:12px;font-size:13px}.header .small-button{font-size:12px;padding:10px}.request-layout{gap:28px}.request-layout form{padding:24px}.fields{grid-template-columns:1fr}.full{grid-column:auto}}@media(max-width:380px){.hero h1{font-size:34px}.button{gap:15px;padding:16px;font-size:15px}.location{display:none}.review-controls{gap:10px}.contact-phone{font-size:24px}.steps{gap:24px 16px}.steps h3{font-size:17px}.header .small-button{max-width:160px}}
